![]()
முந்தைய பாடம் முகவரிகளை மேகத்தில் மேல் அளவுக்கு எடுத்துச் சென்றது. இப்பாடம் அவற்றை ஒரு தனி கணினியில் கீழ் கொண்டு வருகிறது. இறுதிக்குத் துவக்கத்தில் நீங்கள் கோடுகளை விளக்கும், கருவிகளை அழைக்கும், உங்கள் கோப்புக்களைப் படிக்கும், மற்றும் உங்கள் ஆவணம் தேடும் வேலை செய்யும் ஒரு பொறியியல் உதவியாளரைப் பெறுவீர்கள் — ஒரு முறையும் மேக முன்னறிவிப்பு அழைப்பு இல்லாமல்.
நீங்கள் இதை ஏன் விரும்புவீர்கள்? உண்மையான பொறியியல் பணியில் அடிக்கடி எழும் மூன்று காரணங்கள்:
பிடிவாதம் என்னவென்றால், நீங்கள் ஒரு முன்வட்ட மேக மாதிரியுடன் பரிமாறிக்கொண்டு உள்ளீர்கள் — உங்கள் 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[search_docs RAG]
A -->|எந்த கருவி என்பதை தீர்மானிக்கிறார்| T3[குறியீட்டை பகுப்பாய்வு செய்யவும்]
T1 --> A
T2 --> A
T3 --> A
A --> R[பதில், முழுமையாக சாதனத்தில்]
Microsoft Foundry Local என்பது உங்கள் சாதனத்தில் முழுமையாக மாதிரிகளை பதிவிறக்கம் செய்து நிர்வகித்து வழங்கும் எளிதான ஓட்டுநிலை முறையாகும். இது மிக முக்கியமானது, அது ஒரு OpenAI-க்கு அமைவான HTTP முனையை வெளிப்படுத்துகிறது — இதன் மூலம் OpenAI SDK மற்றும் Microsoft முகவர் வடிவமைப்பின் OpenAI கிளையண்ட் base_url மாற்றத்துடன் மட்டுமே இயங்கும். முகவர் கட்டுமானம் பற்றி நீங்கள் கற்றது நேரடியாக மாறாது; மாற்றம் ஆனால் மேகம் இருந்து localhost ஆக முனையம் மாறுகிறது.
Foundry Local உங்கள் சாதனத்திற்கு மிகச்சிறந்த மாதிரி கட்டுமானத்தைத் தேர்வு செய்கிறது — CPU கட்டுமானம், CUDA/GPU கட்டுமானம் அல்லது NPU கட்டுமானம் — அதனால் நீங்கள் சாதனமென ஒவ்வொரு முறை கைராசிக்க வேண்டாம்.
Foundry Local-ஐ நிறுவுக (உங்கள் 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-கள் பேசக்கூடியவையாக இருக்கலாம், ஆனால் அவை நம்பகமற்ற மற்றும் தவறான கருவி அழைப்புகளை உருவாக்குகிறார்கள். 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 uporabிச் செய்கிறோம், இது ஒரு சேர்க்கப்பட்ட வெக்டர் கடை, எந்த சேவையக நிர்வாகவும் இல்லாமல் செயல்படும். வழிச் செயல் முழுவதும் உள்ளூர்தான்: உள்ளூர் இணைப்பு மாதிரி → உள்ளூர் வெக்டர்கள் → உள்ளூர் மீட்பு → உள்ளூர் SLM.
flowchart TB
D[உங்கள் ஆவணங்கள் / குறியீடு] --> E[உள்ளக இணைப்பு மாதிரி]
E --> V[(குரோமா வெக்டர் தரவுத்தளம் - டிஸ்க் மீது)]
Q[முகவர் கேள்வி] --> QE[உள்ளகமாக கேள்வியை இணைக்கவும்]
QE --> V
V -->|மேல்-k துண்டுகள்| A[க്വென் முகவர்]
A --> Ans[நிலையான பதில்]
இது பாடம் 5 இல் இருந்த Agentic RAG மாதிரியின் நகல்தான் — மாற்றமாக அனைத்து கூறுகளும் உங்கள் இயந்திரத்தில் இயங்குகின்றன.
MCP என்பது ஒரு போக்குவரத்து முறையாகும், மேக சேவையகமல்ல. MCP சேவையகம் உள்ளூர் செயலாக்கமாக stdio-வில் இயங்கி, உங்கள் முகவரிக்கு கருவிகளை வழங்கும். இதன் மூலம் MCP சேவையகங்களின் வளர்ந்துவரும் சூழலை இரத்து செய்துவிடாமலும், கோப்பு அமைப்பு அணுகல், git செயல்பாடுகள், தரவுத்தள விசாரணைகள் போன்றவற்றை முழுமையாக ஆஃப்லைனில் பயன்படுத்தலாம்.
பாதுகாப்பு நிலை மேகத்திலிருந்து மாறுபட்டதாக இருக்கிறது, ஆனால் இல்லாமல் இல்லை: உள்ளூர் MCP சேவையகம் உங்கள் பயனர் அனுமதிகளோடு இயங்குவதால், அது என்னைத் தொடலாம் (ஒரு திட்ட அடைவாய், முழு வீட்டுத்தேவையகம் அல்ல) என்பதைக் கட்டுப்படுத்துங்கள் மற்றும் அதன் வெளியீடுகளை உள்ளீடுகளாக மதிப்பாய்வு செய்யுங்கள்.
உள்ளூர் முதற்பாடு என்பது உள்ளூர் மட்டுமே அல்ல. முதிர்ந்த அமைப்புகள் உணர்ச்சிக்குணர்வு மற்றும் கடினத்தன்மையின் அடிப்படையில் மாறுபடுத்திக் கொண்டு விடுகின்றன:
| நிலைமை | எங்கே இயங்கும் |
|---|---|
| உணர்ச்சி நுட்ப குறியீடு / தரவு, அல்லது ஆஃப்லைன் | உள்ளூர் SLM |
| எளிய, வரம்பிடப்பட்ட பணி | உள்ளூர் SLM (மலிவு, விரைவு) |
| கடினமான பல-hop வாதுரை, உணர்ச்சி குறைந்த தரவு | மேக மாதிரி |
| எல்லாம், மின்கடத்தலில் | உள்ளூர் 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 திறந்து அதில் பணியாற்றவும். நீங்கள் பூரணமாக உங்கள் பணிக்கூடத்தில் இயங்கும் ஒரு உள்ளூர் பொறியியல் உதவியாளரை கட்டமைப்பீர்கள், அது செய்யும்:
எந்த ஒரு நேரமும் மேக முன்னறிவிப்பினைப் பயன்படுத்தவில்லை.
உதவியாளர் Foundry Local உடன் OpenAI-க்கு அமைவான முனை மூலம் இணைக்கப்படுகிறது, ஆகவே முகவர் குறியீட்டு மேக பாடத்துடன் சுமார் ஒத்துவகையில் இருக்கும் —唯 மாற்றம் தான் கிளையண்ட்:
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 என்பது உள்ளூர் இடைக்கால இடம் உள்ளது
கருவிகள் சாதாரண பைத்தான் செயலிகள், ஒரு திட்ட அடைவுக்கு மட்டுமே வரம்பிட்டவை:
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. Foundry Local உடன் மேக முகவர் குறியீட்டை மாற்றாமல் பயன்படுத்துவதற்கு என்ன காரணம்?
4. ஏன் நாம் எந்த SLMஆயிற்றாலும் அல்லாமல் Qwen செயலியக் கூப்பிடும் மாதிரியைப் பயன்படுத்துகிறோம்?
5. உள்ளூர் RAG நடைமுறையில், எந்த கூறுகள் இயந்திரத்தில் இயங்குகின்றன?
6. உங்களது கணினியில் உள்ளூர் MCP சேவையகம் இயங்குகிறது. அது தானாகவே பாதுகாப்பானதா? நீங்கள் எவ்வகை முன்னெச்சரிக்கை எடுப்பீர்கள்?
7. உள்ளூர் மாதிரி உள்ள ஒரு தர்க்கமான கலவை வழிநடத்தல் விதியை விவரிக்கவும்.
8. இந்த பாடத்தில் உள்ளூர் முகவரியை இயக்குவதற்கு ஒரு உள்ளூரான குறைந்தபட்ச RAM எவ்வளவு, மற்றும் அதிக RAM உங்களுக்கு என்ன வழங்கும்?
உள்ளூர் பொறியியல் உதவியாளரை விரிவாக்கி உங்கள் விருப்பமான ஒரு சிறிய திட்டத்திற்கு உள்ளூர் ஆவண மதிப்பாய்வாளராக்கவும் (இந்த பத்திரிகை பாட மடங்குகளிலுள்ள ஒன்றைக் பயன்படுத்தலாம்).
உங்கள் சமர்ப்பிப்பு:
திட்டத்தில் உள்ள TODO/FIXME கருத்துக்களைப் பார்வையிடும் மற்றும் கோப்பு மற்றும் வரிசை எண்ணுடன் அவற்றை மீட்டெறும் find_todos கருவியைச் சேர்க்கவும் — read_file போன்றே சந்தைசேகர் சரிபார்ப்பு கட்டுப்பாடு உண்டு.
பிறகு இந்த மதிப்பாய்வாளர் மெயின் மாற்ற எதை மேகத்திற்கு மாற்றுவீர்கள் மற்றும் எதை உள்ளூர் வைத்திருப்பீர்கள் என்பது குறித்த ஒரு சிறிய ஃபாராக்கிராபைப் பின்பற்றுங்கள், மற்றும் ஏன் என்பதை விளக்குங்கள். உள்ளூர் கூறுகள் சரியாக இணைக்கப்பட்டுள்ளனவா மற்றும் உங்கள் கலந்து முடிவு செய்வதைக் குறிக்கும் திறன் soundஆக இருக்கிறதா என்பதை மதிப்பிடுவார்கள் — மாதிரியின் தரத்தைப்பற்றியல்ல.
இந்த பாடத்தில், நீங்கள் முழுமையாக உங்கள் சொந்த இயந்திரத்தில் இயங்கும் ஒரு எஜன்டை கட்டியுள்ளீர்கள்:
இது பயன்படுத்தல் வளைவு (deployment arc) முடியும்: பாடம் 16 ஸ்கேல் செய்யக்கூடிய எஜன்ட்களை Microsoft Foundryக்கு மேல் உயர்த்தியது, இந்த பாடம் ஒரு தனி பணிப் பரிமாணத்தில் அவற்றை குறைத்தது. அடுத்த பாடம் பாதுகாப்புப் பெற்று எஜன்ட்களை வைக்கும்முறை பற்றியது.
பெரிதாக்கக்கூடிய எஜன்ட்களை பயன்படுத்தல்
மறுப்பு: இந்த ஆவணம் AI மொழிபெயர்ப்பு சேவை Co-op Translator பயன்படுத்தி மொழிபெயர்க்கப்பட்டுள்ளது. நாங்கள் துல்லியத்திற்காக முயற்சி செய்துள்ளோம், ஆனால் தானாக செய்யப்படும் மொழிபெயர்ப்புகளில் பிழைகள் அல்லது தவறுகள் இருக்கலாம் என்பதை கவனத்தில் கொள்ளவும். அசல் ஆவணம் அதன் தாய்மொழியில் அதிகாரப்பூர்வ ஆதாரமாக கருதப்பட வேண்டும். முக்கியமான தகவல்களுக்கு, தொழில்நுட்பமான மனித மொழிபெயர்ப்பு பரிந்துரைக்கப்படுகிறது. இந்த மொழிபெயர்ப்பைப் பயன்படுத்துவதால் ஏற்படும் எந்த தவறான புரிதல்கள் அல்லது தவறான விளக்கத்திற்கும் நாங்கள் பொறுப்பில்வில்லை.