Ky tutorial ju udhëzon në ndërtimin e një agjenti të qëndrueshëm të IA-së që përdor Gemini API për arsyetim dhe Temporal për qëndrueshmëri. Ai përdor integrimin e integruar të Gemini SDK të Temporal.
Agjenti mund të thërrasë mjete, si kërkimi i alarmeve të motit ose gjeolokacioni i një adrese IP, dhe do të kryejë cikël derisa të ketë informacion të mjaftueshëm për t'u përgjigjur.
Ajo që e bën këtë të ndryshme nga një demo tipike agjentësh është qëndrueshmëria . Çdo thirrje LLM dhe çdo thirrje mjeti vazhdon nga Temporal. Nëse procesi rrëzohet, rrjeti ndërpritet ose një API skadon, Temporal automatikisht riprovon dhe rifillon nga hapi i fundit i përfunduar. Nuk humbet historiku i bisedave dhe asnjë thirrje mjeti nuk përsëritet gabimisht.
Arkitekturë
Arkitektura përbëhet nga tre pjesë:
- Fluksi i Punës: Një thirrje e vetme
generate_content. Cikli i thirrjes automatike të funksionit (AFC) i Gemini SDK funksionon brenda Fluksit të Punës, dhe Temporal e bën çdo hap të tij të qëndrueshëm. - Aktivitetet: Njësi individuale pune që Temporal i bën të qëndrueshme. Thirrjet e Gemini API bëhen automatikisht Aktivitete.
- Punëtori: Procesi që ekzekuton Rrjedhat e Punës dhe Aktivitetet, dhe i vetmi vend ku ndodhet çelësi juaj API.
Në këtë shembull, do t'i vendosni të tre këto pjesë në një skedar të vetëm ( durable_agent_worker.py ). Në një implementim në botën reale, do t'i ndani ato për të lejuar avantazhe të ndryshme të vendosjes dhe shkallëzueshmërisë. Do t'i jepni agjentit udhëzime me CLI-në Temporale, kështu që nuk ka kod klienti për të shkruar.
Parakushte
Për të përfunduar këtë udhëzues, do t'ju duhet:
- Një çelës API Gemini. Mund të krijoni një falas në Google AI Studio .
- Versioni 3.10 i Python ose më i ri.
- uv për menaxhimin e varësive.
- CLI-ja Temporale për ekzekutimin e një serveri zhvillimi lokal dhe nisjen e rrjedhave të punës.
Konfigurimi
Para se të filloni, sigurohuni që keni një server zhvillimi Temporal që funksionon lokalisht:
temporal server start-devTjetra, krijoni një projekt dhe instaloni varësitë e kërkuara:
uv init durable-gemini-agentcd durable-gemini-agentuv add "temporalio[google-genai]" httpx python-dotenv
uv krijon dhe menaxhon mjedisin virtual për ju, kështu që çdo komandë Python më vonë në këtë tutorial ekzekutohet përmes uv run .
Krijo një skedar .env në direktorinë e projektit tënd me çelësin tënd Gemini API. Mund të marrësh një çelës API nga Google AI Studio .
echo "GOOGLE_API_KEY=your-api-key-here" > .envZbatimi
Pjesa tjetër e këtij tutoriali përshkruan durable_agent_worker.py nga lart poshtë, duke e ndërtuar agjentin pjesë-pjesë. Krijo skedarin dhe ndiqe më tej.
Importet dhe konfigurimi i sandbox-it
Filloni me importet që duhet të përcaktohen paraprakisht. Blloku workflow.unsafe.imports_passed_through() i tregon sandbox-it të Workflow-it të Temporal-it që të lejojë që httpx të kalojë pa kufizim. Importimi i httpx ekzekuton class _CookieCompatRequest(urllib.request.Request) , dhe sandbox-i bllokon nënklasifikimin e asaj klase stdlib.
Mjetet tuaja përdorin httpx , dhe activity_as_tool() ka nevojë për Workflow për të importuar ato funksione të mjeteve në mënyrë që Gemini të mund të nxjerrë skemat e tyre nga nënshkrimet. Pra, httpx arrin në sandbox pavarësisht se si i ndani skedarët - zhvendosja e mjeteve në modulin e tyre nuk e shmang atë.
from temporalio import