![]()
முந்தைய பாடம் முகவர்களை மேகத்துக்கு மேல் செருக்கியது. இது அவற்றை ஒரே இயந்திரத்தில் கீழுக்கு கொண்டுவருகிறது. முடிவில், நீங்கள் ஒரு இயங்கும் பொறியியல் உதவியாளரை உருவாக்குவீர்கள், அது காரணிப்பது, கருவிகளை அழைக்கும், உங்கள் கோப்புகளை வாசிக்கும், உங்கள் ஆவணங்களை தேடும் — ஒரு கூடுதல் மேகத் தேர்வு அழைப்பும் இல்லாமல்.
அதற்கு ஏன் விரும்ப வேண்டும்? சாதாரண பொறியியல் பணியில் அடிக்கடி வரும் மூன்று காரணிகள்:
முக்கியமானது நீங்கள் ஒரு முன்நிலை மேக மாதிரியை உங்கள் CPU, GPU, அல்லது NPU மீது இயங்கும் சிறிய மொழி மாதிரி (SLM) உடன் பரிமாறுகிறீர்கள். இந்த பாடம் அந்த கட்டுப்பாட்டின் கீழ் நன்றாக செயல்படும் முகவர்களை உருவாக்குவது பற்றி தான், கட்டுப்பாடு இல்லாதபடி நுணுக்கமாக நடிக்கவில்லை.
இந்த பாடத்தில் பார்க்கப்படும் விஷயங்கள்:
இந்த பாடத்தை முடித்தவுடன், நீங்கள் தெரிந்துகொள்ள இருப்பது:
இந்த பாடம் நீங்கள் முந்தைய பாடங்களை முடித்திருப்பதாகவும் பின்வரும் விஷயங்களில் திறமைமிக்கதாகவும் கருதுகிறது:
கூடுதலாக, உங்களுக்கு தேவையானவை:
requirements.txt, மற்றும் இந்த பாடத்திற்கான foundry-local-sdk, openai, மற்றும் chromadb.ஒரு முன்நிலை மேக மாதிரிக்கு நூற்றுக்கணக்கான பில்லியன் அளவிலான அளவுகோல்கள் மற்றும் ஒரு தரவை பூட்டை உள்ளது. ஒரு SLM பல பில்லியன் அளவுகோல்கள் கொண்டது மற்றும் உங்கள் லேப்டாப் RAMவில் பொருந்த வேண்டும். அந்த வேறுபாடு தெளிவான எதிர்பார்ப்புகளை அமைக்கிறது.
SLMகள் சிறந்தவை:
SLMகள் சற்றே பலவீனமானவை:
உள்ளூர் முகவர்களின் வெற்றி மூலமாகும் யுத்தம்: SLM ஆவல் முன்னிலை இயக்கி ஆகட்டும், கருவிகள் கடுமையான பாரத்தை தூக்கட்டும். மாதிரிக்கு உங்கள் குறியீட்டை அறிய தேவையில்லை — அது read_file மற்றும் search_docs அழைக்க வேண்டும் என்றால் போதும். இது SLM இன் வலிமைகளுக்கு நேரடி மேலாண்மை.
flowchart LR
U[développeur] --> A[Agent SLM local]
A -->|quel outil choisir| T1[lire_fichier]
A -->|quel outil choisir| T2[rechercher_docs RAG]
A -->|quel outil choisir| T3[analyser_code]
T1 --> A
T2 --> A
T3 --> A
A --> R[Réponse, entièrement sur appareil]
Microsoft Foundry Local என்பது ஒரு எளிய இயக்கம், அது மாதிரிகளை முழுமையாக உங்கள் இயந்திரத்தில் பதிவிறக்கம் செய்து, நிர்வகித்து, வழங்குகிறது. எங்களுக்கு முக்கியமான அம்சம் அது OpenAI-ஐப்போன்ற ஒரு HTTP முடக்கத்தை வெளிப்படுத்துகிறது — இதனால் OpenAI SDK மற்றும் Microsoft Agent Framework-இன் OpenAI கிளையன்ட், base_url மட்டும் மாற்றுவதன் மூலம் அதனை எதிர்கொள்கிறது. முகவர்களை உருவாக்கி கற்றுக்கொண்ட விளக்கம் முழுவதும் நேரடியாக பரிமாற்றப்படுகிறது; முடக்கம் மேகத்திலிருந்து localhostக்கு மாறுகிறது.
Foundry Local உங்கள் அகப்பகுதிக்குச் சிறந்த மாதிரி கட்டுமானத்தை தானாக தேர்ந்தெடுக்கிறது — CPU கட்டுமானம், CUDA/GPU கட்டுமானம் அல்லது NPU கட்டுமானம் — இயந்திரம் ஒன்றுக்கு-ஒன்று கைமுறையாக மேம்படுத்தத் தேவையில்லை.
Foundry Local ஐ நிறுவுங்கள் (ஆவணங்கள் உங்கள் OSக்கானவை), பிறகு அது செயல்படுவதை உறுதிசெய்யுங்கள்:
# நிறுவுக (உதாரணமாக; உங்கள் தளத்திற்கான ஆவணங்களை பின்பற்றவும்)
winget install Microsoft.FoundryLocal # விண்டோஸ்
# brew install microsoft/foundrylocal/foundrylocal # மெக்OS
# Qwen மாதிரியை பதிவிறக்கம் செய்து இயக்கவும், பின்னர் உள்ளூர் சேவையை துவங்கவும்
foundry model run qwen2.5-7b-instruct
foundry service status
சேவை இயங்க ஆரம்பித்தவுடன் நீங்கள் உள்ளூரில் OpenAI-க்கு இணக்கமான முடக்கத்தை பெற்றுள்ளீர்கள் (சாதாரணமாக http://localhost:PORT/v1). நோட்புக் foundry-local-sdk ஐ பயன்படுத்தி முடக்கத்தை தானாக கண்டுபிடிக்கும், அதனால் நீங்கள் போர்ட்டை கடுமையாக குறியிட வேண்டியதில்லை.
ஒரு முகவர் ஆக இருக்க, அது கருவிகளை அழைக்க முடிந்தால் தான். பல SLMகள் உரையாட முடியும் ஆனால் நம்பகமற்ற, பிழையான கருவி அழைப்புகளை வழங்குகின்றன. Qwen மாதிரிகள் செயல்பாட்டு அழைப்புக்குப் பயிற்சி பெற்றுள்ளன மற்றும் நன்றாக வடிவமைக்கப்பட்ட கருவி அழைப்புகளைக் தொடர்ந்து வழங்குகின்றன — இது உள்ளூர் உரையாடல் மாதிரியை உள்ளூர் முகவராக மாற்றுகிறது.
செயல்முறை நீங்கள் ஏற்கனவே அறிந்த உள்ளமைவு கருவி அழைக்கும் லூப்பே போலதான், ஆனால் சாதனத்தில் இயங்குகிறது:
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 உங்கள் கட்டமைப்பு ஆவணங்களை நினைவில் வைத்திருப்பதாக நம்ப வேண்டாமல், அந்த ஆவணங்களை உள்ளூரான வெக்டர் தரவுத்தளத்தில் நுழைத்து முகவருக்கு தேவையின் போது பொருத்தமான துண்டுகளை மீட்டெடுக்க விடுகிறீர்கள்.
நாங்கள் Chromaஐ பயன்படுத்துகிறோம், இது ஒரு உள்வரிசை வெக்டர் சேமிப்பகமாகும், அது சேவையகம் இல்லாமலும் செயன்முறையுடன் இயங்குகிறது. உருவாக்கப்பட்ட துறை முற்றிலும் உள்ளூராக உள்ளது: உள்ளூர் எம்பெட்டிங் மாதிரி → உள்ளூர் வெக்டர்கள் → உள்ளூர் மீட்டெடுப்பு → உள்ளூர் SLM.
flowchart TB
D[உங்கள் ஆவணங்கள் / குறியீடு] --> E[உள்ளூர் இடைநிலை மாதிரி]
E --> V[(Chroma வெக்டர் தரவுத்தளம் - டிஸ்க் மீது)]
Q[முகவர் கேள்வி] --> QE[கேள்வியை உள்ளூரில் இடைநீங்கு]
QE --> V
V -->|சிறந்த-k துண்டுகள்| A[Qwen முகவர்]
A --> Ans[ஆதாரமடிப்பான பதில்]
இது பாடம் 5இல் உள்ள அகடெரிக் RAG மாதிரியாகுத, வேறுநிலை என்னவென்றால் எல்லா கூறுகளும் உங்கள் இயந்திரத்தில் இயங்குகின்றன.
MCP என்பது ஒரு போக்குவரத்து முறையே, மேக சேவை அல்ல. ஒரு MCP சேவையகம் stdioவில் உள்ளூர்முறை செயல்படக்கூடியது, வழக்கு முறையில் கருவிகளை உங்கள் முகவருக்கு வழங்குகிறது. இது MCP சேவையகங்களின் விரிவடையும் சுற்றுப்புறத்தை மீண்டும் பயன்படுத்த உதவுகிறது — கோப்புறை அணுகல், git செயலாக்கங்கள், தரவுத்தள கேள்விகள் — முழுமையாக ஆஃப்லைனில்.
பாதுகாப்பு நிலை மேகத்திலிருந்து மாறுபாட்டுடன் இருக்கிறது, இணையம் கிடைக்காதபோதும் உள்ளூர் 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-க்கு உகந்த முடக்கத்தைக் கொண்டு Foundry Localக்கு இணைகிறது, ஆகையால் முகவர் குறியீடு மேக பாடங்களுடன் மிகவும் ஒத்ததாக இருப்பது — வாடிக்கையாளர் மட்டும் மாற்றம்:
from foundry_local import FoundryLocalManager
from openai import OpenAI
# Foundry Local மாதிரியை கண்டுபிடித்து பதிவிறக்கம் செய்கிறது மற்றும் எங்களுக்கு உள்ளூர் இரண்டு முடிவை வழங்குகிறது.
manager = FoundryLocalManager(\"qwen2.5-7b-instruct\")
client = OpenAI(base_url=manager.endpoint, api_key=manager.api_key) # api_key என்பது உள்ளூர் இடமாற்றி ஆகும்
கருவிகள் ஒரு திட்ட கோப்புறைக்கு வரம்பு உள்ள வழக்கு Python செயல்பாடுகள்:
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. ஒரு முகவரைப் பூமிக்கு பதிலாக உள்ளூரில் இயக்க இரண்டு ந Cupid முறை காரணங்களை வழங்கவும்.
2. உள்ளூர் முகவரில் SLM மற்றும் அதன் கருவிகளுக்கிடையேயான பரிந்துரைக்கப்படும் வேலைப் பகிர்வு என்ன, ஏன்?
3. Foundry Local உடன் மேக முகவர் குறியீட்டை மீண்டும் பயன்படுத்துவது எப்படி சாத்தியமாய் வருகிறது?
4. ஏன் நாம் குறிப்பாக Qwen செயல்பாட்டு அழைக்கும் மாதிரியை மட்டுமே பயன்படுத்துகிறோம், ஏன் எந்த SLMயும் அல்ல?
5. உள்ளூர் RAG குழாயில், எந்த கூறுகள் இயந்திரத்தில் இயங்குகின்றன?
6. ஒரு உள்ளூர் MCP சேவையகம் உங்கள் இயந்திரத்தில் இயங்குகிறது. அது தானாகவே பாதுகாப்பானதா? நீங்கள் எது முன்னறிவுற வேண்டும்?
7. ஒரு உள்ளூர் மாதிரி அடங்கிய சிந்தனையான கலவையான வழிமாற்றக் கட்டளை விவரிக்கவும்.
8. இந்த பாடத்தில் உள்ளூர் முகவருக்கு இயக்கத் தேவையான உண்மையான குறைந்தபட்ச RAM அளவு என்ன மற்றும் அதிக RAM என்ன அளிக்கின்றது?
உள்ளூர் பொறியியல் உதவியாளரை ஒரு சிறிய திட்டத்திற்கான உள்ளூர் ஆவண மதிப்பாய்வாளராக நீட்டிக்கவும் (நீ விரும்பினால் இந்த கோப்பக முதற்பங்கள் ஒன்றை பயன்படுத்தலாம்).
உங்கள் சமர்ப்பிப்பு கீழ்காணுமாறு அமைய வேண்டும்:
திட்டத்தை TODO / FIXME கருத்துக்களுக்காகத் தேடும் find_todos கருவியைச் சேர்க்கவும் மற்றும் அவற்றை கோப்பு மற்றும் வரிசை எண் உடன் திரும்ப வழங்கவும் — read_file போலவே அதே சந்திப்புக் கட்டுப்பாட்டை வைத்திருக்கவும்.
பின்னர், இந்த மதிப்பாய்வாளருக்காக எதை கிளவுட்டுக்கு மாற்றுவீர்கள் மற்றும் எதை உள்ளூரில் வைத்திருப்பீர்கள் என்பதைக் குறித்த ஒரு சிறிய வரைபடத்தை எழுதவும், மற்றும் ஏன் என்பதை விளக்கவும். உள்ளூரில் உள்ள கூறுகள் சரியாக இணைக்கப்பட்டுள்ளதா மற்றும் உங்கள் கலவை அறிவு நியாயம் தகுதியானதா என்றதைக் கொண்டு மதிப்பிடப்படுகிறீர்கள் — மாதிரி தரம் கருத்தில் கொள்ளப்படாது.
இந்த பாடத்தில் நீங்கள் முற்றிலும் உங்கள் சொந்த இயந்திரத்தில் இயங்கும் ஒரு ஏஜெண்ட்டை கட்டியுள்ளீர்கள்:
இது பரிமாற்ற சூழலை முடிக்கிறது: பாடம் 16 ஏஜெண்ட்களை மைக்ரோசாஃப்ட் Foundryக்கு உயர்த்தியது, இந்த பாடம் அவற்றை ஒரு ஒரே கணினியில் குறைத்தது. அடுத்த பாடம் பரிமாறப்பட்ட ஏஜெண்ட்களை பாதுகாப்பாக வைத்திருப்பதற்கு மாறும்.
மறுப்பு: இந்த ஆவணம் AI மொழிபெயர்ப்பு சேவை Co-op Translator பயன்படுத்தி மொழிபெயர்க்கப்பட்டுள்ளது. நாங்கள் துல்லியத்திற்காக முயற்சி செய்துள்ளோம், ஆனால் தானாக செய்யப்படும் மொழிபெயர்ப்புகளில் பிழைகள் அல்லது தவறுகள் இருக்கலாம் என்பதை கவனத்தில் கொள்ளவும். அசல் ஆவணம் அதன் தாய்மொழியில் அதிகாரப்பூர்வ ஆதாரமாக கருதப்பட வேண்டும். முக்கியமான தகவல்களுக்கு, தொழில்நுட்பமான மனித மொழிபெயர்ப்பு பரிந்துரைக்கப்படுகிறது. இந்த மொழிபெயர்ப்பைப் பயன்படுத்துவதால் ஏற்படும் எந்த தவறான புரிதல்கள் அல்லது தவறான விளக்கத்திற்கும் நாங்கள் பொறுப்பில்வில்லை.