![]()
ಹಿಂದಿನ ಪಾಠವು ಏಜೆಂಟ್ಗಳನ್ನು ಕ್ಲೌಡ್ನಲ್ಲಿ ಮೇಲಕ್ಕೆ ವ್ಯಾಪಿಸಿದೆ. ಈ ಪಾಠವು ಅವರನ್ನು ಒಂದು ಯಂತ್ರದಲ್ಲಿ ಕೆಳಗೆ ಇಳಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ. ಕೊನೆಯಲ್ಲಿ ನೀವು ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಎಂಜಿನಿಯರಿಂಗ್ ಸಹಾಯಕನನ್ನು ಹೊಂದಿರುತ್ತೀರಿ, ಅದು ತರ್ಕ ಮಾಡುತ್ತದೆ, ಉಪಕರಣಗಳನ್ನು ಕರೆ ಮಾಡುತ್ತದೆ, ನಿಮ್ಮ ಕಡತಗಳನ್ನು ಓದುತ್ತದೆ ಮತ್ತು ನಿಮ್ಮ ಡಾಕ್ಯುಮೆಂಟೇಶನ್ ಅನ್ನು ಹುಡುಕುತ್ತದೆ — ಏಕೈಕ ಕ್ಲೌಡ್ ಇನ್ಫರೆನ್ಸ್ ಕರೆಗೆ ಇಲ್ಲದೆ.
ನೀವು ಏಕೆ ಅದನ್ನು ಬಯಸುತ್ತೀರಿ? ನಿಜವಾದ ಎಂಜಿನಿಯರಿಂಗ್ ಕೆಲಸದಲ್ಲಿ ನಿಯತವಾಗಿಯೂ ಬರುತ್ತಿರುವ ಮೂರು ಕಾರಣಗಳು:
ಅದಕ್ಕೆ ತಪ್ಪಿತಸ್ಥವೆಂದರೆ ನಿಮಗೆ ನಿಮ್ಮ CPU, GPU ಅಥವಾ NPU ಮೇಲೆ ನಡೆಯುವ ಸಣ್ಣ ಭಾಷಾ ಮಾದರಿ (SLM) ಬದಿಲಾಗಿ ಫ್ರಂಟಿಯರ್ ಕ್ಲೌಡ್ ಮಾದರಿಯನ್ನು ವಿನಿಮಯ ಮಾಡಿಕೊಳ್ಳಬೇಕಾಗುತ್ತದೆ. ಈ ಪಾಠವು ಆ ನಿರ್ಬಂಧದೊಳಗೆ ಸುಂದರವಾದ ಏಜೆಂಟ್ಗಳನ್ನು ನಿರ್ಮಿಸುವ ಬಗ್ಗೆ ಇರುತ್ತದೆ, ನಿರ್ಬಂಧವಿಲ್ಲದಂತೆ ಭಾಸಕೊಡದೆ.
ಈ ಪಾಠವು ಹೀಗಿದೆ:
ಈ ಪಾಠವನ್ನು ಪೂರ್ಣಗೊಳಿಸಿದ ನಂತರ, ನೀವು ತಿಳಿಯುವುದು:
ಈ ಪಾಠವು ನೀವು ಹಿಂದಿನ ಪಾಠಗಳನ್ನು ಪೂರ್ಣಗೊಳಿಸಿದ್ದು, ಅನುಕೂಲವಾಗಿರುವಂತೆ ಇರಬೇಕೆಂದು فرضನೆ ಮಾಡುತ್ತದೆ:
ನಿಮಗೆ ಅಗತ್ಯವಿದೆ:
requirements.txt, ಜೊತೆಗೆ ಈ ಪಾಠಕ್ಕಾಗಿ foundry-local-sdk, openai, ಮತ್ತು chromadb.ಫ್ರಂಟಿಯರ್ ಕ್ಲೌಡ್ ಮಾದರಿಗೆ ನೂರು ಕೋಟಿ ಪರಿಮಾಣಗಳಿವೆ ಮತ್ತು ಡೇಟಾ ಕೇಂದ್ರವಿದೆ. SLMಗೆ ಕೆಲವು ಕೋಟಿಗಳ ಪರಿಮಾಣವಿದ್ದು ನಿಮ್ಮ ಲ್ಯಾಪ್ಟಾಪ್ RAMನಲ್ಲಿ फिट್ ಆಗಬೇಕು. ಆ ವ್ಯತ್ಯಾಸ ಸ್ಪಷ್ಟ ನಿರೀಕ್ಷೆಗಳನ್ನು ಸೃಷ್ಟಿಸುತ್ತದೆ.
SLMಗಳು ಉತ್ತಮವೆಂದರೆ:
SLMಗಳು ದುರ್ಬಲವಾಗಿವೆ:
ಸ್ಥಳೀಯ ಏಜೆಂಟ್ಗಳ ಗೆದ್ದೂಕುವ ನೀತಿ: SLMಯನ್ನು ವ್ಯವಸ್ಥಾಪನೆ ಮಾಡಲು ಬಿಡಿ, ಮತ್ತು ಉಪಕರಣಗಳು ದೊಡ್ಡ ಕೆಲಸವನ್ನು ಮಾಡಲಿ. ಮಾದರಿಗೆ ನಿಮ್ಮ ಕೋಡ್ಬೇಸ್ ತಿಳಿದಿರಬೇಕಾಗಿಲ್ಲ — ಅದಕ್ಕೆ read_file ಮತ್ತು search_docs ಕೇವಲ ಕರೆಮಾಡಬೇಕಾಗಿದೆ. ಇದು SLMಗಳ ಸಾಮರ್ಥ್ಯದ ಕಡೆ ನೇರವಾಗಿ ಕೆಲಸ ಮಾಡುತ್ತದೆ.
flowchart LR
U[ಡೆವಲಪರ್] --> A[ಸ್ಥಳೀಯ SLM ಏಜೆಂಟ್]
A -->|ಯಾವ ಟೂಲ್ ಆಯ್ಕೆ ಮಾಡುವುದು ಎಂದು ನಿರ್ಧರಿಸುತ್ತದೆ| T1[ಫೈಲ್ ಓದಿ]
A -->|ಯಾವ ಟೂಲ್ ಆಯ್ಕೆ ಮಾಡುವುದು ಎಂದು ನಿರ್ಧರಿಸುತ್ತದೆ| T2[ಡಾಕ್ಸ್ ಹುಡುಕಿ RAG]
A -->|ಯಾವ ಟೂಲ್ ಆಯ್ಕೆ ಮಾಡುವುದು ಅಂತಿರ್ನಯ ಮಾಡಿ| T3[ಕೋಡ್ ವಿಶ್ಲೇಷಿಸಿ]
T1 --> A
T2 --> A
T3 --> A
A --> R[ಉತ್ತರ, ಸಂಪೂರ್ಣವಾಗಿ ಸಾಧನದಲ್ಲಿ]
ಮೈಕ್ರೋಸಾಫ್ಟ್ ಫೌಂಡ್ರಿ ಲೊಕಲ್ ಒಂದು ತೆಳುವಾದ ರನ್ಟೈಮ್ ಆಗಿದ್ದು, ನಿಮ್ಮ ಯಂತ್ರದಲ್ಲಿ ಸಂಪೂರ್ಣವಾಗಿ ಮಾದರಿಗಳನ್ನು ಡೌನ್ಲೋಡ್, ನಿರ್ವಹಣೆ ಮತ್ತು ಸೇವೆ ಮಾಡುತ್ತದೆ. ಇದರ ಅತ್ಯಂತ ಮುಖ್ಯ ಲಕ್ಷಣವೆಂದರೆ ಇದು OpenAI-ಸಮ್ಮತ HTTP ಎಂಡ್ಪಾಯಿಂಟ್ ಅನ್ನು ಒದಗಿಸುತ್ತದೆ — ಅಂದರೆ OpenAI SDK ಮತ್ತು ಮೈಕ್ರೋಸಾಫ್ಟ್ ಏಜೆಂಟ್ ಫ್ರೇಮ್ವರ್ಕಿನ OpenAI ಕ್ಲೈಯಂಟ್ ಅದನ್ನು base_url ಬದಲಿಸುವ ಮೂಲಕ ಮಾತ್ರ ಬಳಸಬಹುದು. ನೀವು ಏಜೆಂಟ್ ನಿರ್ಮಿಸುವುದಕ್ಕೆ ಕಲಿತಿದ್ದ ಎಲ್ಲಾ ವಿಷಯಗಳು ನೇರವಾಗಿ ವರ್ಗಾಯಿಸಿ; ಒಂದೇ ಬದಲಾವಣೆ ಎಂಡ್ಪಾಯಿಂಟ್ ಕ್ಲೌಡ್ನಿಂದ localhost ಗೆ ಆಗಿರುತ್ತದೆ.
ಫೌಂಡ್ರಿ ಲೊಕಲ್ ಸಹ ನಿಮ್ಮ ಹಾರ್ಡ್ವೇರ್ಗೆ ಸೂಕ್ತವಾದ ಮಾದರಿಯ ಅತ್ಯುತ್ತಮ ಬಿಲ್ಡ್ ಅನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಆಯ್ಕೆಮಾಡುತ್ತದೆ — CPU ಬಿಲ್ಡ್, CUDA/GPU ಬಿಲ್ಡ್ ಅಥವಾ NPU ಬಿಲ್ಡ್ — ಹೀಗಾಗಿ ನೀವು ಪ್ರತಿ ಯಂತ್ರಕ್ಕೆ ಕೈಗೊಂಡ ಸೂಕ್ತೀಕರಣ ಮಾಡಬೇಕಾಗಿಲ್ಲ.
ಫೌಂಡ್ರಿ ಲೊಕಲ್ ಅನ್ನು ಸ್ಥಾಪಿಸಿ (ನಿಮ್ಮ OSಗೆ ಡಾಕ್ಯುಮೆಂಟೇಶನ್ ನೋಡಿ), ನಂತರ ಅದು ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿದೆಯೆ ಎಂದು ದೃಢಪಡಿಸಿ:
# ಇನ್ಸ್ಟಾಲ್ ಮಾಡಿ (ಉದಾಹರಣೆಗೆ; ನಿಮ್ಮ ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗಾಗಿ ಡಾಕ್ಯೂಮೆಂಟ್ಗಳನು ಅನುಸರಿಸಿ)
winget install Microsoft.FoundryLocal # ವಿಂಡೋಸ್
# brew install microsoft/foundrylocal/foundrylocal # macOS
# Qwen ಮಾದರಿಯನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಿ ಮತ್ತು ಓಡಿಸಿ, ನಂತರ ಸ್ಥಳೀಯ ಸೇವೆಯನ್ನು ಆರಂಭಿಸಿ
foundry model run qwen2.5-7b-instruct
foundry service status
ಸೇವೆ ಚಾಲನೆಗೊಂಡ ನಂತರ ನಿಮ್ಮ ಬಳಿ ಒಂದು ಸ್ಥಳೀಯ, OpenAI-ಸಮ್ಮತ ಎಂಡ್ಪಾಯಿಂಟ್ (ಸಾಮಾನ್ಯವಾಗಿ http://localhost:PORT/v1) ಇದೆ. ನೋಟ್ಬುಕ್ foundry-local-sdk ಬಳಸಿ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಎಂಡ್ಪಾಯಿಂಟ್ ಕಂಡುಹಿಡಿಯುತ್ತದೆ, ಆದ್ದರಿಂದ ನೀವು ಪೋರ್ಟ್ ದಿಶಾನಿರ್ದೇಶನವನ್ನು ಕೂರಿಸುವ ಅಗತ್ಯವಿಲ್ಲ.
ಏಜೆಂಟ್ ಎಂದರೆ ಅದು ಉಪಕರಣಗಳನ್ನು ಕರೆಮಾಡಬಲ್ಲಾಗಿರಬೇಕು. ಅನೇಕ SLMಗಳು ಚಾಟ್ ಮಾಡಬಹುದು ಆದರೆ ಅಸ್ಥಿರ, ಅವ್ಯವಸ್ಥಿತ ಉಪಕರಣ ಕರೆಗಳನ್ನು ಉತ್ಪಾದಿಸುತ್ತವೆ. ಕ್ವೆನ್ ಮಾದರಿಗಳು ಫಂಗ್ಶನ್ ಕರೆಗಾಗಿ ತರಬೇತಿಗೊಳ್ಳುತ್ತವೆ ಮತ್ತು ಸತತವಾಗಿ ಸರಿಯಾದ ಉಪಕರಣ-ಕರೆ ರಚನೆಗಳನ್ನು ನೀಡುತ್ತವೆ — ಇದರಿಂದಲೇ ಸ್ಥಳೀಯ ಚಾಟ್ ಮಾದರಿಯನ್ನು ಸ್ಥಳೀಯ ಏಜೆಂಟ್ ಆಗಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ.
ಪ್ರಕ್ರಿಯೆಯು ನೀವು ಈಗಾಗಲೇ ತಿಳಿದಿರುವ ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಉಪಕರಣ-ಕಾಲಿಂಗ್ ಲೂಪ್ನಾಗಿದ್ದು, ಬರೀ ಆನ್-ಡಿವೈಸ್ನ ಮೇಲೆ ಚಾಲನೆ ಆಗುತ್ತದೆ:
sequenceDiagram
participant U as ಬಳಕೆದಾರ
participant A as Qwen ಏಜೆಂಟ್ (ಸ್ಥಳೀಯ)
participant T as ಸ್ಥಳೀಯ ಸಾಧನ
U->>A: "auth.py ಏನು ಮಾಡುತ್ತದೆ?"
A->>A: ನಿರ್ಧರಿಸಿ: read_file ಕರೆಮಾಡಿ
A->>T: read_file("auth.py")
T-->>A: ಕಡತದ ವಿಷಯಗಳು
A->>A: ವಿಷಯಗಳ ಮೇಲೆ ತರ್ಕಮಾಡಿ
A-->>U: وضاحت
ಡಾಕ್ಯುಮೆಂಟೇಶನ್ ಹುಡುಕುವುದು ಸ್ಥಳೀಯ ಏಜೆಂಟ್ಗಳು ತಮ್ಮ ಸಾಮರ್ಥ್ಯವನ್ನು ತೋರಿಸುವ ಜಾಗ. SLM ನಿಮ್ಮ ಫ್ರೇಮ್ವರ್ಕ್ ಲಿಖಿತಗಳನ್ನು ನೆನಪಿನಲ್ಲಿಟ್ಟುಕೊಂಡಿದೆ ಎಂದು ಹೋಳುವುದಕ್ಕಲ್ಲದೆ, ಆ ಲಿಖಿತಗಳನ್ನು ಸ್ಥಳೀಯ ವೆಕ್ಟರ್ ಡೇಟಾಬೇಸ್ ಗೆ ಹಮ್ಮಿಸಿ, ಏಜೆಂಟ್ ಅವಶ್ಯಕ ಅಂಶಗಳನ್ನು ತಲುಪಲು ಬಿಡುತ್ತದೆ.
ನಾವು ಬಳಸುವದು ಕ್ರೋಮಾ, ಅದು ಸಂಗ್ರಹಿಕೆ ಇಲ್ಲದೆ, ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಓಡಹೊಕ್ಕುವ ಒಂದು ವಿವರಿತ ವೆಕ್ಟರ್ ಸಂಗ್ರಹಣೆ. ಪೈಪ್ಲೈನ್ ಸಂಪೂರ್ಣವಾಗಿ ಸ್ಥಳೀಯ: ಸ್ಥಳೀಯ ಒಳನಿರ್ದೇಶನ ಮಾದರಿ → ಸ್ಥಳೀಯ ವೆಕ್ಟರ್ಗಳು → ಸ್ಥಳೀಯ ಮಂದಿ → ಸ್ಥಳೀಯ SLM.
flowchart TB
D[ನಿಮ್ಮ ಡಾಕ್ಯೂಮೆಂಟ್ಗಳು / ಕೋಡ್] --> E[ಸ್ಥಳೀಯ ಎంబೆಡಿಂಗ್ ಮಾದರಿ]
E --> V[(ಕ್ರೋಮಾ ವೆಕ್ಟರ್ ಡಿಬಿ - ಡಿಸ್ಕ್ನಲ್ಲಿ)]
Q[ಏಜೆಂಟ್ ಪ್ರಶ್ನೆ] --> QE[ಪ್ರಶ್ನೆಯನ್ನು ಸ್ಥಳೀಯವಾಗಿ ಎम्बೆಡ್ ಮಾಡಿ]
QE --> V
V -->|ಟಾಪ್-k ತುಣುಕುಗಳು| A[ಕ್ವೆನ್ ಏಜೆಂಟ್]
A --> Ans[ನೋಟದ ಉತ್ತರ]
ಇದು ಪಾಠ 5ನ ಏಜೆಂಟಿಕ್ RAG ಮಾದರಿಯೇ — ಒಂದೇ ಬದಲಾವಣೆ, ಪ್ರತಿಯೊಂದು ಭಾಗವು ನಿಮ್ಮ ಯಂತ್ರದಲ್ಲಿ ಓಡುತ್ತದೆ.
MCP ಒಂದು ಸಾರಿಗೆ ವಿಧಾನ, ಕ್ಲೌಡ್ ಸೇವೆ కాదు. MCP ಸರ್ವರ್ stdio ಮೇಲೆ ಸ್ಥಳೀಯ ಪ್ರಕ್ರಿಯೆಗಳಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸಿ, ಏಜೆಂಟ್ಗೆ ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಪ್ರೋಟೋಕಾಲ್ ಮೂಲಕ ಉಪಕರಣಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ. ಇದರಿಂದ ನೀವು MCP ಸರ್ವರ್ಗಳ ಬೆಳವಣಿಗೆಯ ಪರಿಸರವನ್ನು ಪುನರ್-ಬಳಕೆ ಮಾಡಬಹುದು — ಫೈಲ್ ಸಿಸ್ಟಂ ಪ್ರವೇಶ, ಗಿಟ್ ಕಾರ್ಯಾಚರಣೆಗಳು, ಡೇಟಾಬೇಸ್ ಕ್ವೆರಿ — ಸಂಪೂರ್ಣ ಆಫ್ಲೈನ್.
ಭದ್ರತಾ ಸ್ಥಿತಿ ಕ್ಲೌಡ್ಗಿಂತ ಭಿನ್ನವಾಗಿದೆ, ಆದರೆ ಇಲ್ಲಿಹತ್ತಲಾಗಿಲ್ಲ: ಸ್ಥಳೀಯ MCP ಸರ್ವರ್ ನಿಮ್ಮ ಬಳಕೆದಾರ ಅನುಮತಿಗಳೊಂದಿಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿದ್ದು, ಅದು ಸ್ಪರ್ಶಿಸಲು ಬಿಡಿದಿರುವದನ್ನು ಹರಿಸುವುದು, ಆದ್ದರಿಂದ ಅದು ಪ್ರವೇಶಿಸಬಹುದಾದವನ್ನಷ್ಟೇ ಸೀಮಿತಗೊಳಿಸಿ (ಒಂದು ಯೋಜನೆ ಡೈರೆಕ್ಟರಿ, ನಿಮ್ಮ ಇಡೀ ಹೋಮ್ ಫೋಲ್ಡರ್ ಅಲ್ಲ) ಮತ್ತು ಅದರಿಂದ ಹೊರಬರುವ ಫಲಿತಾಂಶಗಳನ್ನು ಇನ್ಪುಟ್ಗಳಾಗಿ ಪರಿಶೀಲಿಸಿ.
ಸ್ಥಳೀಯ-ಮೊದಲನೆಯದೂ ಸ್ಥಾನೀಯ-ಮಾತ್ರವಲ್ಲ. ಸಿದ್ಧಪಡಿಸಿದ ವ್ಯವಸ್ಥೆಗಳು ಸಂವೇದನಾಶೀಲತೆ ಮತ್ತು ಕಷ್ಟತೆಯ ಮೇಲೆ ಮಾರ್ಗನಿರ್ದೇಶಿಸುತ್ತವೆ:
| ಪರಿಸ್ಥಿತಿ | ಅದೊಂದು ಎಲ್ಲಿ ಓಡುತ್ತದೆ |
|---|---|
| ಸಂವೇದನಾಶೀಲ ಕೋಡ್ / ಡೇಟಾ ಅಥವಾ ಆಫ್ಲೈನ್ | ಸ್ಥಳೀಯ SLM |
| ಸರಳ, ಮಿತಿಯುಳ್ಳ ಕಾರ್ಯ | ಸ್ಥಳೀಯ SLM (ಅಗ್ಗ, ವೇಗ) |
| ಸಂಕೀರ್ಣ ಬಹು ಹಂತದ ತರ್ಕ, ಸಂವೇದನಾಶೀಲವಲ್ಲದ ಡೇಟಾ ಮೇಲೆ | ಕ್ಲೌಡ್ ಮಾದರಿ |
| ಎಲ್ಲವೂ, ತೊಂದರೆ ಸಮಯದಲ್ಲಿ | ಸ್ಥಳೀಯ SLM (ಸರಳ ಆಗುವ ಕ್ರಮಶಃ ಕುಬ್ಬಣೆ) |
ಇದು ಪಾಠ 16ರ ಮಾಡೆಲ್ ಮಾರ್ಗನಿರ್ದೇಶನ ಯೋಚನೆಯನ್ನು ಪ್ರತಿಬಿಂಬಿಸುತ್ತದೆ — ಬದಲಾಗಿ “ಮಾಡೆಲ್”ಗಳಲ್ಲಿ ಒಂದು ಈಗ ನಿಮ್ಮ ಸ್ವಂತ ಯಂತ್ರ. ಒಬ್ಬ ದೃಢ ವಿನ್ಯಾಸವು ಕ್ಲೌಡ್ ಲಭ್ಯವಿಲ್ಲದಿದ್ದಾಗ ಸ್ಥಳೀಯ ಗೆ ಹಿಂತಿರುಗುತ್ತದೆ ಮತ್ತು ಏಜೆಂಟ್ ಗುಣಮಟ್ಟದಲ್ಲಿ ಕುಂದುಗುಳ್ಳುವುದನ್ನು ತಪ್ಪಿಸಿ ಸಂಪೂರ್ಣ ವಿಫಲವಾಗುವುದನ್ನು ತಪ್ಪಿಸುತ್ತದೆ.
flowchart LR
Q[ವಿನಂತಿ] --> S{ಸಂವೇದಿ ಅಥವಾ ಆಫ್ಲೈನ್?}
S -->|ಹೌದು| L[ಸ್ಥಳೀಯ SLM]
S -->|ಇಲ್ಲ| C{ಆಳವಾದ ವಾದವನ್ನು ಬೇಕಾಗಿದೆಯೆ?}
C -->|ಇಲ್ಲ| L
C -->|ಹೌದು| Cloud[ಕ್ಲೌಡ್ ಮಾದರಿ]
L --> Out[ಪ್ರತಿಕ್ರಿಯೆ]
Cloud --> Out
code_samples/17-local-agent-foundry-local.ipynb ತೆರೆಯಿರಿ ಮತ್ತು ಅದರ ಮೂಲಕ ಕೆಲಸಮಾಡಿ. ನೀವು ಪೂರ್ತಿ ನಿಮ್ಮ ವರ್ಕ್ಸ್ಟೇಶನ್ನಲ್ಲಿ ನಿರ್ವಹಿಸುವ ಸ್ಥಳೀಯ ಎಂಜಿನಿಯರಿಂಗ್ ಸಹಾಯಕನನ್ನ ನಿರ್ಮಿಸುವಿರಿ, ಇದು:
ಯಾವುದೇ ಮೊಡಲೆ ಇನ್ಫರೆನ್ಸ್ ಬಳಕೆಯಾಗುವುದಿಲ್ಲ.
ಸಹಾಯಕನು ಫೌಂಡ್ರಿ ಲೊಕಲ್ಗೆ OpenAI-ಸಮ್ಮತ ಎಂಡ್ಪಾಯಿಂಟ್ ಮೂಲಕ ಸಂಪರ್ಕ ಹಸ್ಥಗತಗೊಳಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಏಜೆಂಟ್ ಕೋಡ್ ಕ್ಲೌಡ್ ಪಾಠಗಳಿಗೆ ಬಹಳ ಸಮಾನವಾಗಿರುತ್ತದೆ — ಕೇವಲ ಕ್ಲೈಯಂಟ್ ಬದಲಾಗುತ್ತದೆ:
from foundry_local import FoundryLocalManager
from openai import OpenAI
# ಫೌಂಡ್ರಿ ಲೋಕಲ್ ಮಾದರಿಯನ್ನು ಕಂಡುಹಿಡಿದು/ಡೌನ್ ಲೋಡ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ನಮಗೆ ಸ್ಥಳೀಯ ಎಂಡ್ಪಾಯಿಂಟ್ ಅನ್ನು ನೀಡುತ್ತದೆ.
manager = FoundryLocalManager(\"qwen2.5-7b-instruct\")
client = OpenAI(base_url=manager.endpoint, api_key=manager.api_key) # api_key ಒಂದು ಸ್ಥಳೀಯ ಸ್ಥಾನಾಪೂರकವಾಗಿದೆ
ಉಪಕರಣಗಳು ಸಾಮಾನ್ಯ ಪೈಥಾನ್ ಫಂಕ್ಷನ್ಗಳಾಗಿವೆ ಮತ್ತು ಯೋಜನಾ ಡೈರೆಕ್ಟರಿಗೆ ಸೀಮಿತಗೊಂಡಿವೆ:
def read_file(path: str) -> str:
\"\"\"Read a file, but only inside the sandboxed project directory.\"\"\"
full = (PROJECT_ROOT / path).resolve()
if PROJECT_ROOT not in full.parents and full != PROJECT_ROOT:
return \"Access denied: path is outside the project directory.\"
return full.read_text(encoding=\"utf-8\")
ಸ್ಯಾಂಡ್ಬಾಕ್ಸ್ ಪರಿಶೀಲನೆಯನ್ನು ಗಮನಿಸಿ — ಸ್ಥಳೀಯವಾಗಿಯೂಅದರೂ, ಯಾದೃಚ್ಛಿಕ ಪಾತಿಗಳನ್ನು ಓದುವ ಉಪಕರಣ ಒಂದು ಜವಾಬ್ದಾರಿಯಾಗಿದೆ. ನೋಟ್ಬುಕ್ ಪ್ರತಿ ಉಪಕರಣವನ್ನು ಒಂದು ಯೋಜನೆ ಮೂಲಕ್ಕೆ ಸೀಮಿತಗೊಳಿಸುತ್ತದೆ.
ನಿಯೋಜನೆಯಿಂದ ಮೊದಲೇ ನಿಮ್ಮ ಅರ್ಥಗೊಳ್ಳುವಿಕೆಯನ್ನು ಪರೀಕ್ಷಿಸಿ.
1. ಏಜೆಂಟ್ ಅನ್ನು ಕ್ಲೌಡ್ ಬದಲು ಸ್ಥಳೀಯವಾಗಿ ನಡೆಸಬೇಕಾದ ಎರಡು ಸ್ಪಷ್ಟ ಕಾರಣಗಳನ್ನು ನೀಡಿ.
2. ಸ್ಥಳೀಯ ಏಜೆಂಟ್ನಲ್ಲಿ SLM ಮತ್ತು ಅದರ ಉಪಕರಣಗಳ ಮಧ್ಯೆ ಶಿಫಾರಸು ಮಾಡಿದ ಕೆಲಸ ಹಂಚಿಕೆ ಏನು, ಮತ್ತು ಯಾಕೆ?
3. ಫೌಂಡ್ರಿ ಲೊಕಲ್ನೊಂದಿಗೆ ಕ್ಲೌಡ್ ಏಜೆಂಟ್ ಕೋಡ್ ಪುನಃಬಳಕೆಗೆ ಏನು ಸಾಧ್ಯವಾಗಿಸುತ್ತದೆ?
4. ಯಾಕೆ ನಾವು ಯಾವುದೇ SLM ಬದಲಿಗೆ ವಿಶೇಷವಾಗಿ ಕ್ವೆನ್ ಫಂಗ್ಷನ್-ಕಾಲಿಂಗ್ ಮಾದರಿಯನ್ನು ಬಳಸುತ್ತೇವೆ?
5. ಸ್ಥಳೀಯ RAG ಪೈಪ್ಲೈನಿನಲ್ಲಿ ಯಾವ ಭಾಗಗಳು ಯಂತ್ರದಲ್ಲಿ ನಡೆಯುತ್ತವೆ?
6. ವಿಶೇಷವಾಗಿ ನಿಮ್ಮ ಯಂತ್ರದ ಮೇಲೆ ಒಂದು ಸ್ಥಳೀಯ MCP ಸರ್ವರ್ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿದೆ. ಅದು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಸುರಕ್ಷಿತವಾಗುತ್ತುದೇ? ನೀವು ಯಾವ ಎಚ್ಚರಿಕೆಯನ್ನಾಗಲಿ ತೆಗೆದುಕೊಳ್ಳಬೇಕು?
7. ಸ್ಥಳೀಯ ಮಾದರಿಯನ್ನು ಹೊಂದಿರುವ ತಕ್ಕಮಟ್ಟಿನ ಸಂಕಲಿತ ಮಾರ್ಗನಿರ್ದೇಶನ ನಿಯಮವನ್ನು ವರ್ಣಿಸಿ.
8. ಈ ಪಾಠದಲ್ಲಿ ಸ್ಥಳೀಯ ಏಜೆಂಟ್ ಚಾಲನೆಗಾಗಿ ವಾಸ್ತವಿಕ ಕನಿಷ್ಠ RAM ಅಂಶ ಎಷ್ಟು, ಮತ್ತು ಹೆಚ್ಚಿನ RAM ನಿಮಗೆ ಏನು ಕೊಡುವದು?
ಸ್ಥಳೀಯ ಎಂಜಿನಿಯರಿಂಗ್ ಸಹಾಯಕರನ್ನು ನಿಮ್ಮ ಆಯ್ಕೆಯ ಸಣ್ಣ ಯೋಜನೆಯ ಸ್ಥಳೀಯ ಡಾಕ್ಯುಮೆಂಟೇಶನ್ ವಿಮರ್ಶಕ ಆಗಿ ವಿಸ್ತರಿಸಿ (ಈ ರೆಪೋನ ಪಾಠ ಎಡೆಗಳ ಒಂದನ್ನು ಬಳಸಬಹುದು).
ನಿಮ್ಮ ಸಲ್ಲಿಕೆಯಿಂದಾಗಬೇಕಾದವು:
TODO/FIXME ಕಾಮೆಂಟ್ಗಳನ್ನು ಯೋಜನೆಯಲ್ಲಿ ತಪಾಸಣಿ ಮಾಡುವ ಮತ್ತು ಕಡತ ಮತ್ತು ಸಾಲಿನ ಸಂಖ್ಯೆಯೊಂದಿಗೆ ಅವುಗಳನ್ನು ಹಿಂತಿರುಗಿಸುವ find_todos ಉಪಕರಣವನ್ನು ಸೇರಿಸಿ — read_file ಯಂತು ಇದೇ ಸ್ಯಾಂಡ್ಬಾಕ್ಸ್ ಪರಿಶೀಲನೆಯನ್ನು ಉಳಿಸಬೇಕು.
ನಂತರ ಈ ವಿಮರ್ಶಕರಿಗಾಗಿ ನೀವು ಕ್ಲೌಡ್ಗೆ ಏನನ್ನು ಸಾಗಿಸಲಿದ್ದೀರಿ ಮತ್ತು ಏನನ್ನು ಸ್ಥಳೀಯವಾಗಿಯೇ ಇಡುವಿರಿ ಮತ್ತು ಯಾಕೆ ಎಂಬುದರ ಬಗ್ಗೆ ಒಂದು ಸಣ್ಣ ಪರಿಚ್ಛೇದವನ್ನು ಬರೆಯಿರಿ. ನೀವು ಸ್ಥಳೀಯ ಘಟಕಗಳು ಸರಿಯಾಗಿ ಸಂಯೋಜಿಸಲಾಗಿದೆ ಮತ್ತು ನಿಮ್ಮ ಸಂಯೋಜಿತ ನಿರ್ಧಾರ ಸರಿ - ಎಂದು ಪ್ರಾಮಾಣಿಕತೆ ಮೇಲೆ ಅವಲಂಬಿಸಲಾಗಿದೆ — ಮಾದರಿ ಗುಣಮಟ್ಟದ ಮೇಲೆ ಅಲ್ಲ.
ಈ ಪಾಠದಲ್ಲಿ ನೀವು ಸಂಪೂರ್ಣವಾಗಿ ನಿಮ್ಮ ಸ್ವಂತ ಯಂತ್ರದಲ್ಲಿ ಓಡಿಸುವ ಏಜೆಂಟ್ ಅನ್ನು ನಿರ್ಮಿಸಿದ್ದೀರಿ:
ಇದು ನಿಯೋಜನೆಯ ವೃತ್ತಾಂತವನ್ನು ಪೂರ್ಣಗೊಳಿಸುತ್ತದೆ: ಪಾಠ 16 ಏಜೆಂಟ್ಗಳನ್ನು ಮಾರುಕಟ್ಟೆಯಲ್ಲಿ ಹಾಕಿತು, ಮತ್ತು ಈ ಪಾಠವು ಅವುಗಳನ್ನು ಒಮನೆಯ ಕಾರ್ಯಸ್ಥಳದಲ್ಲಿ ಹೋಳిస్తుంది. ಮುಂದಿನ ಪಾಠವು ನಿಯೋಜಿಸಿದ ಏಜೆಂಟ್ಗಳನ್ನು ಸುರಕ್ಷಿತವಾಗಿಡುವುದಕ್ಕೆ ತಿರುಗುತ್ತದೆ.
ಸ್ಕೇಲಾಬಲ್ ಏಜೆಂಟ್ಗಳನ್ನು ನಿಯೋಜಿಸುವುದು
AI ಏಜೆಂಟ್ಗಳನ್ನು ಸುರಕ್ಷಿತಗೊಳಿಸುವುದು
ಅಸ್ವೀಕಾರ: ಈ ದಸ್ತಾವೇಜು AI ಅನುವಾದ ಸೇವೆ Co-op Translator ಬಳಸಿ ಅನುವಾದಿಸಲಾಗಿದೆ. ನಾವು ನಿಖರತೆಯನ್ನು ಸಾಧಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಿದ್ದರೂ, ದಯವಿಟ್ಟು ಗಮನಿಸಿ, ಸ್ವಯಂಚಾಲಿತ ಅನುವಾದಗಳಲ್ಲಿ ದೋಷಗಳು ಅಥವಾ ಅಸಡ್ಡೆಗಳು ಇರಬಹುದು. ಮೂಲ ಭಾಷೆಯಲ್ಲಿರುವ ಮೂಲ ದಸ್ತಾವೇಜು ಪ್ರಾಮಾಣಿಕ ಮೂಲವೆಂದು ಪರಿಗಣಿಸಬೇಕು. ಪ್ರಮುಖ ಮಾಹಿತಿಗಾಗಿ, ವೃತ್ತಿಪರ ಮಾನವ ಅನುವಾದವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗುತ್ತದೆ. ಈ ಅನುವಾದವನ್ನು ಬಳಸುವ ಮೂಲಕ ಉಂಟಾಗುವ ಯಾವುದೇ ತಪ್ಪು ಅರ್ಥಗಳ ಅಥವಾ ತಪ್ಪು ವ್ಯಾಖ್ಯಾನಗಳ ಬಗ್ಗೆ ನಾವು ಹೊಣೆಗಾರರಲ್ಲ.