--- name: deploying-scalable-agents license: MIT --- # Microsoft Foundryతో స్కేలబుల్ ఏయ్జెంట్స్‌ను పంపిణీ చేయడం > [పాఠం 16 – స్కేలబుల్ ఏజెంట్లను అమలు చేయడం](../../../16-deploying-scalable-agents/README.md) కోసం సహాయక నైపుణ్యం. > ఒక లెర్నర్ ఏజెంట్ను ప్రోటోటైప్ నుండి స్కేలబుల్, అగ్రిగతమయ్యే > ప్రొడక్షన్ అమరికకు కదలడంలో సహాయపడటానికి దీన్ని ఉపయోగించండి. ప్రతీ సిఫార్సును పాఠం విషయము మరియు > అమలులో ఉండే నోట్‌బుక్‌కి ఆధారపడండి; Foundry APIsని ఆవిష్కరించకండి. ## ట్రిగ్గర్స్ లెర్నర్ ఈ క్రింద ఉన్నప్పుడు ఈ నైపుణ్యాన్ని సక్రియం చేయండి: - ఏజెంట్‌ను Microsoft Foundryలో **హోస్టెడ్ ఏజెంట్**గా అమలు చేయడం మరియు అది వెర్షన్‌డ్/ఆబ్జర్వబుల్‌గా ఉండేలా చేయడం. - **క్లయింట్-హోస్టెడ్, హోస్టెడ్ ఏజెంట్, మరియు ఏజెంట్-వర్క్‌ఫ్లో** పంపిణీ నమూనాల మధ్య ఎంపిక చేయడం. - లేటెన్సీ మరియు ఖర్చులను నియంత్రించేందుకు **మోడల్ రౌటింగ్**, **రిస్తాంప్ కాషింగ్**, లేదా **బౌండెడ్ కన్కరెన్సీ** జోడించడం. - ఒక చెడ్డ ఏజెంట్ వెర్షన్ పంపిణీ కానప్పుడు నిలిపివేయడానికి **ఇవాల్యుయేషన్ గేట్** జోడించడం. - ఉన్నత-ప్రమాద చర్యల కోసం **మానవ-ఇన్-ది-లూప్ ఆమోదం** దశ జోడించడం. - ప్రొడక్షన్ ఆబ్జర్వబిలిటీ కోసం ఏజెంట్‌లో **OpenTelemetry** ట్రేసింగ్‌ను ఇన్‌స్ట్రుమెంట్ చేయడం. - వేగవంతమైన పోస్ట్-డిప్లాయ్ గేట్‌గా అమలైన ఏజెంట్‌ను **స్మోక్-టెస్ట్** చేయడం. ## ప్రాథమిక మెంటల్ మోడల్ ప్రొడక్షన్ ఏజెంట్ ప్రధానంగా మోడల్ చుట్టూ ఉన్న సాంకేతిక రేకలు (~80%), మోడల్ తనదంటూ కాదు. ప్రతీ సిఫార్సుని ఈ విషయాలలో ఒకదానికి మ్యాప్ చేయండి: | బాధ్యత | ప్రోటోటైప్ → ప్రొడక్షన్ | |---------|------------------------| | హోస్టింగ్ | నోట్‌బుక్ → వెర్షన్ చేయబడిన హోస్టెడ్ సేవ | | ఐడెంటిటీ | మీ `az login` → నిర్వహించిన ఐడెంటిటీ + స్కోప్ చేసిన RBAC | | స్థితి | ఇన్-మెమొరీ → బాహ్య థ్రెడ్/మెమొరీ నిల్వ | | వైఫల్యం | ట్రేస్బ్యాక్ → రిట్రైలు,Fallbackలు, అలర్ట్లు | | ఖర్చు | "కొన్ని సెంట్లు" → ట్రాక్ చేయబడింది, రౌట్ చేయబడింది, కాష్ చేయబడింది, బడ్జెట్ చేయబడింది | | నాణ్యత | కనుసైగతో → ఆటోమేటెడ్ ఈవాల్యుయేషన్ గేట్ | | విశ్వసనీయత | మీరు ఆమోదిస్తారు → పాలసీ + మానవ-ఇన్-ది-లూప్ | ## పంపిణీ నమూనాలు (ఏదైనా ఎంపిక చేయండి, లేక కలపండి) 1. **క్లయింట్-హోస్టెడ్** — మీ ప్రాసెస్‌లో రీజనింగ్ లూప్ నడుస్తుంది. గరిష్ట నియంత్రణ; మీరు స్కేలింగ్/స్థితిని నియంత్రిస్తారు. 2. **హోస్టెడ్ ఏజెంట్ (Foundry Agent Service)** — Foundry లూప్‌ని హోస్ట్ చేస్తుంది, థ్రెడ్‌లను నిల్వ చేస్తుంది, RBAC / కంటెంట్ భద్రతను అమలుచేస్తుంది, ఏజెంట్‌ని పోర్టల్‌లో చూపిస్తుంది. తక్కువ నియంత్రణ, కనిష్ట ఆపరేషన్. 3. **ఏజెంట్ వర్క్‌ఫ్లో** — అనేక ఏజెంట్లు/పరికరాలు గ్రాఫ్‌లో జోడి చేయబడి, శాఖల, ఆమోద నోడ్స్, మరియు శాశ్వత చెక్పాయింట్లు ఉంటాయి. ## జీవన చక్రం (ఏజెంట్‌ను పంపిణీ చేసే లూప్) `సృష్టించు → వెర్షన్ → మదింపు (గేట్) → హోస్టెడ్‌ను అమలు చేయు → ఆన్లైన్‌ని పరిశీలించు → వైఫల్యాలను సేకరించు → పునరావృతం`. **ఆఫ్‌లైన్ ఈవాల్యుయేషన్ గేట్, తర్వాత ఆలోచన కాదు** — ఒక వెర్షన్ షిప్ అవదు దాన్ని దాటి తీసుకోకపోతే. ఆన్లైన్ ఆబ్జర్వబిలిటీ నిజమైన వైఫల్యాలకు ఆఫ్‌లైన్ టెస్ట్ సెట్‌కు ఫీడ్‌గా పనిచేస్తుంది. ## స్కేలింగ్ మరియు ఖర్చు నియంత్రణలు (ప్రాధాన్యత క్రమంలో) 1. **మోడల్‌ను సమంజసంగా ఉంచండి** — ఈవాల్యుయేషన్ గేట్‌తీసుకునే అతి చిన్న మోడల్‌ని ఉపయోగించండి. 2. **కంప్లెక్సిటీ ఆధారంగా రూట్ చేయండి** — సులభమైన అభ్యర్థనల కోసం చిన్న/వేగవంతమైన మోడల్, నిజమైన రీజనింగ్ కోసం పెద్ద మోడల్ (DIY క్లాసిఫయర్ లేదా Foundry Model Router). 3. **కాషింగ్** — మోడల్ కాల్ అవసరం లేకుండా సమీప డుప్లికేట్ అభ్యర్థనలను సేవ్ చేయండి. 4. **స్టేట్‌లెస్ డిజైన్ + బౌండెడ్ కన్కరెన్సీ** — స్థితిని బాహ్యంగా ఉంచండి; బ్యాక్-ఆఫ్‌తో రిట్రై చేయండి. ## పునరుద్ధరించాల్సిన ముఖ్య నమూనాలు నోట్‌బుక్ నుండి లెర్నర్‌ను ఈ వాటికి చూడమని సూచించండి [`16-python-agent-framework.ipynb`](../../../16-deploying-scalable-agents/code_samples/16-python-agent-framework.ipynb): - **రీతీ హ్యాండ్లర్**: కాష్ → క్లిష్టత ఆధారంగా రూట్ చేయడం → ట్రేస్ స్పాన్ → నడుపుట → కాష్. - **ఈవాల్యుయేషన్ గేట్**: ఆఫ్‌లైన్ టెస్ట్ సెట్‌ను స్కோர் చేయండి; `pass_rate >= threshold` అయితే మాత్రమే తక్కువ చేస్తుంది మరియు పంపండి. - **మానవ ఆమోదం**: పెద్ద రిఫండ్ల తరహా చర్యల కోసం `@tool(approval_mode="always_require")`. - **ట్రేసింగ్**: ప్రతి అభ్యర్థనను `tracer.start_as_current_span(...)` లో చుట్టండి మరియు `routed.model`, `customer.id` వంటి లక్షణాలను సెట్ చేయండి. ## అమలైన ఏజెంట్‌ను స్మోక్-టెస్ట్ చేయడం అమలుకు తర్వాత, ఎండ్పాయింట్ నిజంగా జవాబు ఇస్తుందా అని గమనించండి (గ్రీన్ డిప్లాయ్ అయినా మౌనంగా ఉండొచ్చు). [AI Smoke Test](https://github.com/marketplace/actions/ai-smoke-test) యాక్షన్‌ను [`.github/workflows/smoke-test.yml`](../../../../../.github/workflows/smoke-test.yml) ద్వారా ఉపయోగించండి మరియు కాటలాగ్‌ను [`tests/`](../../../tests/README.md)లో ఉంచండి. రన్నర్ ప్రతి ప్రాంప్ట్‌ను `POST {project_endpoint}/agents/{agent_name}/endpoint/protocols/openai/responses` కు పంపుతుంది మరియు ప్రతిస్పందన పాఠంపై సత్యపరచుకుంటుంది. ఐడెంటిటీకి **Azure AI User** పాత్ర Foundry ప్రాజెక్ట్ స్కోప్లో అవసరం; టోకెన్ ఆడియెన్స్ `https://ai.azure.com/` అయి ఉండాలి. గేట్లను పరోక్షంగా అమలు చేయండి: **స్మోక్ టెస్ట్** (సాధ్యమయ్యే/స్పందించే, ప్రతి డిప్లాయ్) → **ఆఫ్‌లైన్ ఈవాల్యుయేషన్** (షిప్ చేసేందుకు తగినంత మంచి, ప్రమోషన్ ముందు) → **ఆన్లైన్ ఈవాల్యుయేషన్** (అటువంటిది వనరులలో ఎటువంటి ప్రదర్శన, నిరంతరం). ## ఎంటర్‌ప్రైజ్ నియంత్రణలు - **RBAC**: ప్రతి హోస్టెడ్ ఏజెంట్‌కి కనిష్ట అధికారాలతో నిర్వహించిన ఐడెంటిటీ ఇవ్వండి. - **ప్రొడక్షన్‌లో MCP**: ప్రతి MCP సర్వర్‌ను అన్‌ట్రస్టెడ్ సరిహద్దుగా పరిగణించండి — వెర్షన్‌ను పిన్ చేయండి, దాని ఐడెంటిటీని స్కోప్ చేయండి, అవుట్‌పుట్‌లను ధృవీకరించండి, రేటు పరిమితి పెట్టండి, రహస్యాలను ఎప్పుడూ ప్రదర్శించకండి. ## అసిస్టెంట్ కోసం గార్డ్‌రెయిల్స్ - కోర్సులో ఉపయోగించిన క్యానానికల్ `FoundryChatClient(...)` + `provider.as_agent(...)` నమూనాను ప్రాధాన్యం ఇవ్వండి. - మీరు ధృవీకరించని లైవ్-ఆజూర్ ఫలితాలను హామీ ఇవ్వకండి; పంపిణీని ధృవీకరించడానికి స్మోక్-టెస్ట్ వర్క్‌ఫ్లో సిఫార్సు చేయండి. - ఈవాల్యుయేషన్ మరియు ఖర్చు సూచనలను కలిసి ఉంచండి: ఈవాల్యుయేషన్ నాణ్యత స్థాయిని నిర్ణయిస్తుంది, రౌటింగ్/కాషింగ్ ఖర్చును ఆ స్థాయికి సమీపంగా ఉంచుతాయి. --- **అస్వీకరణ**: ఈ పత్రం AI అనువాద సేవ [Co-op Translator](https://github.com/Azure/co-op-translator) ఉపయోగించి అనువదించబడింది. మేము ఖచ్చితత్వానికి ప్రయత్నిస్తున్నప్పటికీ, ఆటోమేటెడ్ అనువాదాలు తప్పులు లేదా అసమగ్రతలను కలిగి ఉండవచ్చు. దాని స్వదేశ భాషలో ఉన్న అసలు పత్రాన్ని అధికారం కలిగిన మూలంగా పరిగణించాలి. కీలకమైన సమాచారం కోసం, ప్రొఫెషనల్ మానవ అనువాదాన్ని సిఫారసు చేస్తాము. ఈ అనువాదం ఉపయోగం వల్ల కలిగే ఏవైనా అపార్థాలు లేదా తప్పుదారులు కోసం మేము బాధ్యత వహించము.