agent_framework Csomag
Modulok
| exceptions | |
| observability |
Előkelő társaság
| AIFunction |
Egy Python-függvényt körbefuttató eszköz, amely meghívhatóvá teszi az AI-modellek számára. Ez az osztály körbefuttat egy Python-függvényt, hogy az AI-modellek hívhatóvá tegyék automatikus paraméterérvényesítéssel és JSON-sémagenerálással. Inicializálja az AIFunctiont. |
| AgentExecutor |
beépített végrehajtó, amely egy ügynököt tördel az üzenetek kezeléséhez. Az AgentExecutor a munkafolyamat-végrehajtási mód alapján igazítja a viselkedését:
A végrehajtó automatikusan észleli a módot a WorkflowContext.is_streaming() használatával. Inicializálja a végrehajtót egy egyedi azonosítóval. |
| AgentExecutorRequest |
Egy ügynök végrehajtója felé irányuló kérés. |
| AgentExecutorResponse |
Egy ügynök-végrehajtó válasza. |
| AgentInputRequest |
Emberi bemenet kérése, mielőtt egy ügynök magas szintű szerkesztői munkafolyamatokban fut. A RequestInfoEvent használatával kibocsátott, amikor egy munkafolyamat szünetel az ügynök végrehajtása előtt. A rendszer felhasználói üzenetként injektálja a választ a beszélgetésbe, hogy irányítsa az ügynök viselkedését. Ez a .with_request_info() által a SequentialBuilder, a ConcurrentBuilder, a GroupChatBuilder és a HandoffBuilder szabványos kéréstípusa. |
| AgentMiddleware |
Az ügynökközvetítők absztrakt alaposztálya, amely képes elfogni az ügynökhívásokat. Az ügynök köztes szoftver lehetővé teszi az ügynökhívások elfogását és módosítását a végrehajtás előtt és után. Megvizsgálhatja az üzeneteket, módosíthatja a környezetet, felülbírálhatja az eredményeket, vagy korán leállíthatja a végrehajtást. Megjegyzés: Az AgentMiddleware egy absztrakt alaposztály. Alosztályba kell sorolnia, és végre kell hajtania az egyéni ügynök köztes szoftverének létrehozására vonatkozó folyamat() metódus. |
| AgentProtocol |
Meghívható ügynök protokollja. Ez a protokoll határozza meg azt a felületet, amelyet minden ügynöknek végre kell hajtania, beleértve az azonosítási tulajdonságokat és a végrehajtási módszereket. Megjegyzés: A protokollok szerkezeti altipizálást (kacsagépelést) használnak. Az osztályoknak nincs szükségük hogy explicit módon örökölje ezt a protokollt, hogy kompatibilisnek minősüljön. Ez lehetővé teszi, hogy teljesen egyéni ügynököket hozzon létre anélkül, hogy használ bármely ügynök-keretrendszer alaposztálya. |
| AgentRunContext |
Az ügynök köztes szoftver meghívásainak környezeti objektuma. Ez a környezet az ügynök köztesszoftver-folyamatán keresztül kerül továbbításra, és az ügynök meghívásával kapcsolatos összes információt tartalmazza. Inicializálja az AgentRunContextet. |
| AgentRunEvent |
Az ügynök futtatásakor aktivált esemény. Inicializálja az ügynök futási eseményét. |
| AgentRunResponse |
Az ügynök futtatási kérésére adott választ jelöli. Egy vagy több válaszüzenetet és metaadatot biztosít a válaszról. Egy tipikus válasz egyetlen üzenetet tartalmaz, de több üzenetet is tartalmazhat függvényhívásokat, RAG-lekéréseket vagy összetett logikát tartalmazó forgatókönyvekben. Az AgentRunResponse inicializálása. |
| AgentRunResponseUpdate |
Egyetlen streamelési választömböt jelöl egy ügynöktől. Az AgentRunResponseUpdate inicializálása. |
| AgentRunUpdateEvent |
Az esemény akkor aktiválódik, amikor egy ügynök streameli az üzeneteket. Inicializálja az ügynök streamelési eseményét. |
| AgentThread |
Az Ügynökszál osztály, amely egy helyileg felügyelt vagy a szolgáltatás által felügyelt szálat is képviselhet. Az Inicializáljon egy AgentThreadot, ne használja manuálisan ezt a módszert, mindig használja a következőt: Megjegyzés: Lehet, hogy service_thread_id vagy message_store van beállítva, de mindkettő nem. |
| AggregateContextProvider |
Több környezetszolgáltatót tartalmazó ContextProvider. Több környezetszolgáltatónak delegálja az eseményeket, és a visszatérés előtt összesíti az eseményekre adott válaszokat. Ez lehetővé teszi, hogy több környezetszolgáltatót egyesítsen egyetlen szolgáltatóval. Megjegyzés: Az AggregateContextProvider automatikusan létrejön, amikor egyetlen kontextust ad át szolgáltató vagy környezetszolgáltatók sorozata az ügynökkonstruktor számára. Inicializálja az AggregateContextProvidert környezetszolgáltatókkal. |
| BaseAgent |
Alaposztály minden Ügynök-keretrendszer-ügynökhöz. Ez az osztály alapvető funkciókat biztosít az ügynökök implementációihoz, beleértve a környezetszolgáltatókat, a köztes szoftvertámogatást és a szálkezelést. Megjegyzés: A BaseAgent nem hozható létre közvetlenül, mivel nem implementálja a run(), run_stream() és az AgentProtocol által megkövetelt egyéb metódusok. Használjon konkrét implementációt, például a ChatAgentet, vagy hozzon létre egy alosztályt. BaseAgent-példány inicializálása. |
| BaseAnnotation |
Alaposztály az összes AI-megjegyzéstípushoz. A BaseAnnotation inicializálása. |
| BaseChatClient |
Alaposztály csevegési ügyfelek számára. Ez az absztrakt alaposztály alapvető funkciókat biztosít a csevegőügyfél implementációihoz, beleértve a köztes szoftver támogatását, az üzenetek előkészítését és az eszközök normalizálását. Megjegyzés: A BaseChatClient nem hozható létre közvetlenül, mivel ez egy absztrakt alaposztály. Az alosztályok _inner_get_response() és _inner_get_streaming_response() implementálnak. BaseChatClient-példány inicializálása. |
| BaseContent |
Az AI-szolgáltatások által használt tartalmat jelöli. A BaseContent inicializálása. |
| Case |
A kapcsolóeset-predikátumot és a célértéket kombináló futtatókörnyezetburkoló. Minden eset egy logikai predikátumot párosít a végrehajtóval, amelynek kezelnie kell az üzenetet, amikor a predikátum értéke Igaz. A futtatókörnyezet elkülöníti ezt az egyszerűsített tárolót a szerialható SwitchCaseEdgeGroupCasetől , így a végrehajtás élő hívható eszközökkel is működhet, anélkül, hogy környezetszennyező maradna. |
| ChatAgent |
Csevegőügyfél-ügynök. Ez az elsődleges ügynök-implementáció, amely egy csevegőügyfél használatával kommunikál a nyelvi modellekkel. Támogatja az eszközöket, a környezetszolgáltatókat, a köztes szoftvereket, valamint a streamelési és a nem streamelési válaszokat is. ChatAgent-példány inicializálása. Megjegyzés: A frequency_penalty és a request_kwargs paraméterkészlete a hívja meg a csevegőügyfélt. Mindkét futtatási metódusnak átadhatók. Ha mindkettő be van állítva, a futtatási metódusnak átadottak elsőbbséget élveznek. |
| ChatClientProtocol |
Egy csevegőügyfél protokollja, amely képes válaszokat generálni. Ez a protokoll határozza meg azt a felületet, amelyet az összes csevegési ügyfélnek végre kell hajtania, beleértve a streamelésre és a nem streamelt válaszok létrehozására szolgáló módszereket is. Megjegyzés: A protokollok szerkezeti altipizálást (kacsagépelést) használnak. Az osztályoknak nincs szükségük hogy explicit módon örökölje ezt a protokollt, hogy kompatibilisnek minősüljön. |
| ChatContext |
A csevegőközvetítők meghívásainak környezeti objektuma. Ezt a környezetet a rendszer a csevegés köztes szoftver folyamatán keresztül továbbítja, és a csevegési kéréssel kapcsolatos összes információt tartalmazza. Inicializálja a ChatContextet. |
| ChatMessage |
Csevegőüzenetet jelöl. A ChatMessage inicializálása. |
| ChatMessageStore |
A ChatMessageStoreProtocol memóriabeli implementációja, amely egy listában tárolja az üzeneteket. Ez az implementáció egy egyszerű, listaalapú tárolót biztosít a csevegési üzenetekhez a szerializálás és a deszerializálás támogatásával. A protokoll minden szükséges módszerét Az áruház fenntartja az üzeneteket a memóriában, és metódusokat biztosít az állapot szerializálására és deszerializálására az adatmegőrzés céljából. Hozzon létre egy ChatMessageStore-t egy szálban való használatra. |
| ChatMessageStoreProtocol |
Egy adott szálhoz társított csevegőüzenetek tárolására és beolvasására szolgáló módszereket határoz meg. A protokoll implementációi felelősek a csevegőüzenetek tárolásának kezeléséért, beleértve a nagy mennyiségű adat kezelését az üzenetek csonkolásával vagy szükség szerinti összegzésével. |
| ChatMiddleware |
Absztrakt alaposztály csevegési köztes szoftverhez, amely képes elfogni a csevegési ügyfélkéréseket. A csevegési köztes szoftver lehetővé teszi a csevegési ügyfélkérések elfogását és módosítását a végrehajtás előtt és után. Módosíthatja az üzeneteket, hozzáadhat rendszerkéréseket, naplókéréseket vagy felülbírálhatja a csevegési válaszokat. Megjegyzés: A ChatMiddleware egy absztrakt alaposztály. Alosztályba kell sorolnia, és végre kell hajtania az egyéni csevegőközvetíteni kívánt folyamat() metódus. |
| ChatOptions |
Az AI-szolgáltatások gyakori kérésbeállításai. A ChatOptions inicializálása. |
| ChatResponse |
A csevegési kérésre adott választ jelöli. Inicializál egy ChatResponse-t a megadott paraméterekkel. |
| ChatResponseUpdate |
Egyetlen streamelési választömbet jelöl a ChatClientből. Inicializál egy ChatResponseUpdate-t a megadott paraméterekkel. |
| CheckpointStorage |
Az Ellenőrzőpont-tároló háttérrendszereinek protokollja. |
| CitationAnnotation |
Idézőjelet jelöl. A CitationAnnotation inicializálása. |
| ConcurrentBuilder |
Magas szintű szerkesztő egyidejű ügynök-munkafolyamatokhoz.
Használat:
|
| Context |
Az AI-modellnek a ContextProvider által biztosított környezeteket tartalmazó osztály. Minden Egyes ContextProvider képes saját kontextust biztosítani az egyes meghívásokhoz. A Környezeti osztály a ContextProvider által biztosított további környezetet tartalmazza. Ezt a környezetet a rendszer kombinálja a többi szolgáltató által biztosított környezettel, mielőtt átadják őket az AI-modellnek. Ez a környezet meghívásonként van megadva, és nem lesz tárolva a csevegési előzmények részeként. Hozzon létre egy új környezeti objektumot. |
| ContextProvider |
Alaposztály az összes környezetszolgáltatóhoz. A környezetszolgáltató olyan összetevő, amely az AI környezetkezelésének javítására használható. Meghallgathatja a beszélgetés változásait, és a meghívás előtt további kontextust biztosíthat az AI-modellnek. Megjegyzés: A ContextProvider egy absztrakt alaposztály. Alosztályba kell sorolnia, és végre kell hajtania az egyéni környezetszolgáltató létrehozására vonatkozó invoking() metódus. Ideális esetben a meghívott() és thread_created() metódusok implementálása a beszélgetés nyomon követéséhez állapotot, de ezek nem kötelezőek. |
| DataContent |
Bináris adattartalmat jelöl egy társított médiatípussal (más néven MIME-típussal). Fontos Ez az adat URI-ként ábrázolt bináris adatokra vonatkozik, nem online erőforrásokra. Az UriContent használata online erőforrásokhoz. Inicializál egy DataContent-példányt. Fontos Ez az adat URI-ként ábrázolt bináris adatokra vonatkozik, nem online erőforrásokra. Az UriContent használata online erőforrásokhoz. |
| Default |
Az alapértelmezett ág futtatókörnyezeti ábrázolása egy kapcsoló-esetcsoportban. Az alapértelmezett ág csak akkor lesz meghívva, ha nincs más eset predikátuma. A gyakorlatban ez garantáltan létezik, hogy az útválasztás soha ne hozzon létre üres célt. |
| Edge |
Modellez egy irányított, opcionálisan feltételes átadást két végrehajtó között. Minden Edge rögzíti azokat a minimális metaadatokat, amelyekre szükség van az üzenetek egyik végrehajtóból a másikba való áthelyezéséhez a munkafolyamat-diagramon belül. Opcionálisan beágyaz egy logikai predikátumot, amely eldönti, hogy a peremhálózatot futásidőben kell-e venni. A peremhálózat primitívekre való szerializálásával rekonstruálhatjuk egy munkafolyamat topológiáját, függetlenül az eredeti Python-folyamattól. Teljesen meghatározott él inicializálása két munkafolyamat-végrehajtó között. |
| EdgeDuplicationError |
A munkafolyamatban ismétlődő élek észlelésekor kivétel keletkezik. |
| ErrorContent |
Hibát jelöl. Megjegyzések: Általában nem végzetes hibák esetén használatos, ahol hiba történt a művelet részeként, de a művelet továbbra is folytatható volt. Inicializál egy ErrorContent-példányt. |
| Executor |
Alaposztály az üzeneteket feldolgozó és számításokat végző munkafolyamat-végrehajtók számára. ÁttekintésA végrehajtók a munkafolyamatok alapvető építőelemei, amelyek üzeneteket fogadó, műveleteket végrehajtó és kimeneteket termelő egyéni feldolgozási egységeket képviselnek. Minden végrehajtó egyedileg van azonosítva, és díszített kezelőmódszerekkel képes kezelni bizonyos üzenettípusokat. Gépelje be a rendszertA végrehajtók gazdag típusrendszerrel rendelkeznek, amely meghatározza a képességeiket: Bemeneti típusokA végrehajtó által feldolgozható üzenetek típusai a kezelőmetódus-aláírásokból felderítve:
Hozzáférés a input_types tulajdonságon keresztül. Kimeneti típusokA végrehajtó által más végrehajtóknak ctx.send_message () keresztül küldhető üzenetek típusai:
Hozzáférés a output_types tulajdonságon keresztül. Munkafolyamat kimenettípusaiA végrehajtó által a munkafolyamat-szintű kimenetként kibocsátott adattípusok
Hozzáférés a workflow_output_types tulajdonságon keresztül. Kezelő felderítéseA végrehajtók kitüntetett módszerekkel derítik fel képességeiket: @handler LakberendezőA bejövő üzeneteket feldolgozó metódusok megjelölése:
Munkafolyamat-alfolyamat kérésének elfogásaMetódusok használata @handler a munkafolyamat-alkérelmek elfogásához:
KörnyezettípusokA kezelő metódusok típusjegyzeteik alapján különböző WorkflowContext-változatokat kapnak: WorkflowContext (nincs típusparaméter)Olyan kezelők esetében, amelyek csak mellékhatásokat végeznek üzenetek küldése vagy kimenetek kibocsátása nélkül:
WorkflowContext[T_Out]Engedélyezi T_Out típusú üzenetek
WorkflowContext[T_Out, T_W_Out]Lehetővé teszi az üzenetek küldését (T_Out) és a munkafolyamat kimenetének (T_W_Out) adását:
Függvény-végrehajtókAz egyszerű függvények végrehajtóvá alakíthatók a @executor dekoratőrrel:
Rész-munkafolyamat összeállításaA végrehajtók a WorkflowExecutor használatával tartalmazhatnak al-munkafolyamatokat. Az al-munkafolyamatok olyan kéréseket is kezdeményezhetnek, amelyeket a szülő munkafolyamatok képesek elfogni. A munkafolyamat-összeállítási mintákról és a kérelmek/válaszok kezeléséről további információt a WorkflowExecutor dokumentációjában talál. ÁllapotkezelésA végrehajtók olyan állapotokat tartalmazhatnak, amelyek a munkafolyamat-futtatások és az ellenőrzőpontok között megmaradnak. Felülbírálja a on_checkpoint_save és on_checkpoint_restore metódusokat az egyéni állapot szerializálási és visszaállítási logikájának implementálásához. Végrehajtási megjegyzések
Inicializálja a végrehajtót egy egyedi azonosítóval. |
| ExecutorCompletedEvent |
Egy végrehajtó kezelő befejezésekor aktiválódott esemény. Inicializálja a végrehajtói eseményt egy végrehajtóazonosítóval és opcionális adatokkal. |
| ExecutorEvent |
A végrehajtói események alaposztálya. Inicializálja a végrehajtói eseményt egy végrehajtóazonosítóval és opcionális adatokkal. |
| ExecutorFailedEvent |
Az esemény akkor aktiválódik, amikor egy végrehajtó kezelő hibát jelez. |
| ExecutorInvokedEvent |
Egy végrehajtó kezelő meghívásakor aktiválódott esemény. Inicializálja a végrehajtói eseményt egy végrehajtóazonosítóval és opcionális adatokkal. |
| FanInEdgeGroup |
Egyetlen alsóbb rétegbeli végrehajtót tápláló, konvergens élkészletet jelöl. A fan-in csoportokat általában akkor használják, ha több felsőbb réteg egymástól függetlenül olyan üzeneteket hoz létre, amelyeknek ugyanahhoz az alsóbb rétegbeli processzorhoz kell érkeznie. Hozzon létre egy ventilátorleképezést, amely több forrást egyesít egyetlen célként. |
| FanOutEdgeGroup |
Szórásstílusú élcsoportot jelöl opcionális kijelölési logikával. A fan-out egy forrás-végrehajtó által létrehozott üzenetet továbbít egy vagy több alsóbb rétegbeli végrehajtónak. Futásidőben tovább szűkíthetjük a célokat egy olyan selection_func végrehajtásával, amely figyelembe veszi a hasznos adatokat, és visszaadja az üzeneteket fogadó azonosítók részhalmazát. Egyetlen forrásból több célhoz is létrehozhat egy kiragóleképezést. |
| FileCheckpointStorage |
Fájlalapú ellenőrzőpont-tároló az adatmegőrzéshez. Inicializálja a fájltárolót. |
| FinishReason |
A csevegési válasz befejezésének okát jelöli. FinishReason inicializálása egy értékkel. |
| FunctionApprovalRequestContent |
Függvényhívás felhasználói jóváhagyására irányuló kérést jelöl. Inicializál egy FunctionApprovalRequestContent példányt. |
| FunctionApprovalResponseContent |
Függvényhívás felhasználói jóváhagyására adott válasz. Inicializál egy FunctionApprovalResponseContent példányt. |
| FunctionCallContent |
Függvényhívási kérést jelöl. Inicializál egy FunctionCallContent-példányt. |
| FunctionExecutor |
Felhasználó által definiált függvényt körbefuttató végrehajtó. Ez a végrehajtó lehetővé teszi, hogy a felhasználók egyszerű függvényeket definiáljanak (szinkronizálást és aszinkront is), és munkafolyamat-végrehajtóként használják őket anélkül, hogy teljes végrehajtóosztályokat kellene létrehozniuk. A szinkron függvények a asyncio.to_thread() használatával hajthatók végre egy szálkészletben az eseményhurok blokkolásának elkerülése érdekében. Inicializálja a FunctionExecutort egy felhasználó által definiált függvénnyel. |
| FunctionInvocationConfiguration |
Függvényhívás konfigurálása csevegési ügyfeleken. Ez az osztály automatikusan létrejön minden olyan csevegési ügyfélen, amely támogatja a függvényhívást. Ez azt jelenti, hogy a legtöbb esetben egyszerűen módosíthatja a példány attribútumait, majd létrehozhat egy újat. A FunctionInvocationConfiguration inicializálása. |
| FunctionInvocationContext |
A függvény köztes szoftver meghívásainak környezeti objektuma. Ezt a környezetet a függvény köztes szoftverfolyamata továbbítja, és a függvényhívással kapcsolatos összes információt tartalmazza. Inicializálja a FunctionInvocationContext fájlt. |
| FunctionMiddleware |
A függvényközvetítők absztrakt alaposztálya, amely képes elfogni a függvényhívásokat. A függvényközvetítő lehetővé teszi a függvény-/eszközhívások elfogását és módosítását a végrehajtás előtt és után. Érvényesítheti az argumentumokat, a gyorsítótár eredményeit, a naplóhívásokat vagy felülbírálhatja a függvények végrehajtását. Megjegyzés: A FunctionMiddleware egy absztrakt alaposztály. Alosztályba kell sorolnia, és végre kell hajtania az egyéni függvényközvetíteni kívánt függvények létrehozásának folyamat() metódusa. |
| FunctionResultContent |
Függvényhívás eredményét jelöli. Egy FunctionResultContent-példány inicializálása. |
| GraphConnectivityError |
A gráfkapcsolati problémák észlelésekor jelentkező kivétel. |
| GroupChatBuilder |
Magas szintű szerkesztő a vezető által irányított csoportos csevegési munkafolyamatokhoz dinamikus vezényléssel. A GroupChat koordinálja a többügynök-beszélgetéseket egy olyan kezelővel, amely kiválasztja, hogy melyik résztvevő beszél legközelebb. A kezelő lehet egyszerű Python-függvény (set_select_speakers_func) vagy ügynökalapú választó set_manager. Ez a két megközelítés kölcsönösen kizárja egymást. Alapvető munkafolyamat:
Beszélőválasztási minták: 1. minta: Egyszerű függvényalapú kijelölés (ajánlott)
2. minta: LLM-alapú kijelölés
3. minta: Információ kérése beszélgetés közbeni visszajelzéshez
Résztvevő specifikációja: A résztvevők megadásának két módja:
Állapot-pillanatkép-struktúra: A set_select_speakers_func átadott GroupChatStateSnapshot a következőket tartalmazza:
Fontos korlátozások:
Inicializálja a GroupChatBuildert. |
| GroupChatDirective |
A csoportos csevegéskezelő implementációja által kibocsátott utasítások. |
| HandoffBuilder |
Fluent Builder a koordinátorral és a speciális ügynökökkel folytatott beszélgetési átadási munkafolyamatokhoz. Az átadási minta lehetővé teszi, hogy a koordinátorügynök a kéréseket speciális ügynököknek irányozza. Az interakciós mód azt szabályozza, hogy a munkafolyamat minden ügynök válasza után felhasználói bemenetet kér-e, vagy az ügynökök válaszának befejezése után önállóan fejeződik-e be. A leállítási feltétel határozza meg, hogy a munkafolyamat mikor fejezze be és fejezze be a bemenő adatokat. Útválasztási minták: Single-Tier (alapértelmezett): Csak a koordinátor adhat át szakembereknek. Alapértelmezés szerint a szakember válaszolása után a vezérlő visszatér a felhasználóhoz további bemenetekért. Ez létrehoz egy ciklikus folyamatot: felhasználó - koordinátor ->> [választható szakértő] -> felhasználó -> koordinátor -> ... Az with_interaction_mode("autonóm") használatával kihagyhatja a további felhasználói bemenetek kérését, és a végső beszélgetést akkor folytathatja, amikor egy ügynök delegálás nélkül válaszol. Többrétegű (speciális): A szakemberek .add_handoff() használatával adhatnak át más szakembereknek. Ez nagyobb rugalmasságot biztosít az összetett munkafolyamatokhoz, de kevésbé szabályozható, mint az egyrétegű minta. A felhasználók elveszítik a valós idejű láthatóságot a köztes lépésekben a szakorvosok közti átadások során (bár a beszélgetések teljes előzményei, beleértve az összes handoffot is, megmaradnak, és utána vizsgálhatók). A legfontosabb jellemzők:
Használat (Single-Tier):
Többrétegű útválasztás .add_handoff():
Résztvevőgyárak használata az állapotelkülönítéshez: Egyéni megszüntetési feltétel:
Ellenőrzőpont:
HandoffBuilder inicializálása beszélgetési átadási munkafolyamatok létrehozásához. A szerkesztő nem konfigurált állapotban indul el, és a következőt kell meghívnia:
Az opcionális konfigurációs módszerek lehetővé teszik a környezetkezelés, a végpontlogika és az adatmegőrzés testreszabását. Megjegyzés: A résztvevőknek stabil névvel/azonosítókkal kell rendelkezniük, mert a munkafolyamat lekép a handoff tool argumentumai ezekhez az azonosítókhoz. Az ügynökneveknek egyeznie kell a koordinátor átadási eszköze által kibocsátott sztringek (például egy olyan eszköz, amely a(z) {"handoff_to": "billing"} kimenetekhez egy számlázás nevű ügynök szükséges). |
| HandoffUserInputRequest |
Ha a munkafolyamathoz friss felhasználói bemenetre van szükség, küldjön üzenetet. Megjegyzés: A beszélgetési mező szándékosan ki van zárva az ellenőrzőpont szerializálásából a duplikáció elkerülése érdekében. A beszélgetés megmarad a koordinátor állapotában, és a visszaállítás során rekonstruálva lesz. Lásd a 2667. |
| HostedCodeInterpreterTool |
Olyan üzemeltetett eszközt jelöl, amely megadható egy AI-szolgáltatás számára a generált kód végrehajtásának engedélyezéséhez. Ez az eszköz nem implementálja magát a kódértelmezést. Jelölőként szolgál arra, hogy tájékoztassa a szolgáltatást arról, hogy a szolgáltatás akkor hajthat végre generált kódot, ha a szolgáltatás képes erre. Inicializálja a HostedCodeInterpreterTool parancsot. |
| HostedFileContent |
Üzemeltetett fájltartalmat jelöl. Egy HostedFileContent-példány inicializálása. |
| HostedFileSearchTool |
Egy AI-szolgáltatáshoz megadható fájlkereső eszközt jelöl, amely lehetővé teszi a fájlkereséseket. FileSearchTool inicializálása. |
| HostedMCPSpecificApproval |
Egy üzemeltetett eszköz adott módját jelöli. Ha ezt a módot használja, a felhasználónak meg kell adnia, hogy mely eszközökhöz kell mindig vagy soha jóváhagyást kérnie. Ez szótárként jelenik meg két választható kulccsal: |
| HostedMCPTool |
Olyan MCP-eszközt jelöl, amelyet a szolgáltatás felügyel és hajt végre. Üzemeltetett MCP-eszköz létrehozása. |
| HostedVectorStoreContent |
Üzemeltetett vektortár tartalmát jelöli. Inicializál egy HostedVectorStoreContent példányt. |
| HostedWebSearchTool |
Olyan webes keresőeszközt jelöl, amely megadható egy AI-szolgáltatás számára, hogy lehetővé tegye a webes kereséseket. HostedWebSearchTool inicializálása. |
| InMemoryCheckpointStorage |
Memóriabeli ellenőrzőpont-tároló teszteléshez és fejlesztéshez. Inicializálja a memóriatárolót. |
| InProcRunnerContext |
Folyamaton belüli végrehajtási környezet helyi végrehajtáshoz és opcionális ellenőrzőpont-beállításhoz. Inicializálja a folyamatban lévő végrehajtási környezetet. |
| MCPStdioTool |
MCP-eszköz a stdio-alapú MCP-kiszolgálókhoz való csatlakozáshoz. Ez az osztály olyan MCP-kiszolgálókhoz csatlakozik, amelyek szabványos bemeneten/kimeneten keresztül kommunikálnak, általában helyi folyamatokhoz. Inicializálja az MCP stdio eszközt. Megjegyzés: Az argumentumok egy StdioServerParameters objektum létrehozására szolgálnak, amelyet aztán egy stdio-ügyfél létrehozásához használnak. Lásd: mcp.client.stdio.stdio_client és mcp.client.stdio.stdio_server_parameters további részletekért. |
| MCPStreamableHTTPTool |
MCP-eszköz HTTP-alapú MCP-kiszolgálókhoz való csatlakozáshoz. Ez az osztály olyan MCP-kiszolgálókhoz csatlakozik, amelyek streamelhető HTTP/SSE-n keresztül kommunikálnak. Inicializálja az MCP streamelhető HTTP-eszközt. Megjegyzés: Az argumentumok streamelhető HTTP-ügyfél létrehozásához használhatók. További részletekért lásd: mcp.client.streamable_http.streamablehttp_client. A konstruktornak átadott további argumentumok a streamelhető HTTP-ügyfélkonstruktor. |
| MCPWebsocketTool |
MCP-eszköz a WebSocket-alapú MCP-kiszolgálókhoz való csatlakozáshoz. Ez az osztály a WebSocketen keresztül kommunikáló MCP-kiszolgálókhoz csatlakozik. Inicializálja az MCP WebSocket eszközt. Megjegyzés: Az argumentumok a WebSocket-ügyfél létrehozásához használhatók. További részletekért lásd a mcp.client.websocket.websocket_client. A konstruktornak átadott további argumentumok a WebSocket ügyfélkonstruktor. |
| MagenticBuilder |
Fluent Builder a Magentic One többügynökök vezénylési munkafolyamatainak létrehozásához. A Magentic One munkafolyamatok LLM-alapú kezelővel koordinálnak több ügynököt dinamikus feladattervezéssel, folyamatkövetéssel és adaptív újratervezéssel. A vezető terveket hoz létre, ügynököket választ ki, figyeli az előrehaladást, és meghatározza, hogy mikor kell újratervezni vagy befejezni. A szerkesztő egy folyékony API-t biztosít a résztvevők, a kezelő, az opcionális tervvizsgálat, az ellenőrzőpontozás és az eseményvisszahívások konfigurálásához. Human-in-the-loop támogatás: Magentic biztosít speciális HITL mechanizmusok keresztül:
Ezek magenticHumanInterventionRequest eseményeket bocsátanak ki, amelyek strukturált döntési lehetőségeket (APPROVE, REVISE, CONTINUE, REPLAN, GUIDANCE) biztosítanak a Magentic tervezésalapú vezénylésére. Használat:
Egyéni kezelővel:
|
| MagenticContext |
A Magentic Manager környezete. |
| MagenticManagerBase |
Alaposztály a Magentic One-kezelőhöz. |
| ManagerDirectiveModel |
Pydantic model for structured manager directive output. Hozzon létre egy új modellt a kulcsszóargumentumok bemeneti adatainak elemzésével és érvényesítésével. [ValidationError][pydantic_core. ValidationError] ha a bemeneti adatok nem érvényesíthetők érvényes modell létrehozásához. a self explicit módon csak pozícióban van, hogy lehetővé tegye az önneveket mezőnévként. |
| ManagerSelectionRequest |
A menedzserügynöknek küldött kérés a következő beszélő kiválasztásához. Ez az adatosztály a teljes beszélgetési állapotot és feladatkörnyezetet csomagolja be, hogy a kezelőügynök elemezze és meghozhassa a beszélőválasztási döntést. |
| ManagerSelectionResponse |
A menedzserügynök válasza a beszélőválasztási döntéssel. A vezető ügynöknek ezt a struktúrát (vagy kompatibilis dict/JSON-t) kell létrehoznia, hogy a döntését visszaküldje a vezénylőnek. Hozzon létre egy új modellt a kulcsszóargumentumok bemeneti adatainak elemzésével és érvényesítésével. [ValidationError][pydantic_core. ValidationError] ha a bemeneti adatok nem érvényesíthetők érvényes modell létrehozásához. a self explicit módon csak pozícióban van, hogy lehetővé tegye az önneveket mezőnévként. |
| Message |
A munkafolyamat üzenetét képviselő osztály. |
| OrchestrationState |
Egyesített állapottároló a vezénylési ellenőrzőpontokhoz. Ez az adatosztály mind a három csoportos csevegési mintában szabványosítja az ellenőrzőpont-szerializálást, és lehetővé teszi a mintaspecifikus bővítmények metaadatokon keresztüli használatát. A közös attribútumok a közös vezényléssel kapcsolatos aggodalmakat (feladat, beszélgetés, kerek nyomon követés) fedik le. A mintaspecifikus állapot a metaadat-diktálásba kerül. |
| RequestInfoEvent |
Az esemény akkor aktiválódik, amikor egy munkafolyamat-végrehajtó külső információkat kér. Inicializálja a kéreleminformációs eseményt. |
| RequestInfoInterceptor |
Belső végrehajtó, amely felfüggeszti az emberi bemenet munkafolyamatát az ügynök futtatása előtt. Ezt a végrehajtót a szerkesztők szúrják be a munkafolyamat-diagramba .with_request_info() meghívásakor. Elfogja az AgentExecutorRequest üzeneteket, mielőtt az ügynök fut, és szünetelteti a munkafolyamatot ctx.request_info() egy AgentInputRequest használatával. Válasz érkezésekor a válaszkezelő felhasználói üzenetként injektálja a bemenetet a beszélgetésbe, és továbbítja a kérést az ügynöknek. Az opcionális agent_filter paraméter lehetővé teszi annak korlátozását, hogy mely ügynökök váltják ki a szünetet. Ha a célügynök azonosítója nem szerepel a szűrőkészletben, a rendszer szüneteltetés nélkül továbbítja a kérést. Inicializálja a kérelemadatok elfogó végrehajtójának inicializálását. |
| Role |
Egy üzenet kívánt célját ismerteti egy csevegési interakción belül. Tulajdonságok: RENDSZER: Az AI-rendszer viselkedését utasító vagy beállító szerepkör. FELHASZNÁLÓ: Az a szerepkör, amely felhasználói bemenetet biztosít a csevegési műveletekhez. ASSISTANT: Az a szerepkör, amely választ ad a rendszer által utasított, felhasználó által megkérdezett bemenetre. ESZKÖZ: A szerepkör, amely további információkat és hivatkozásokat biztosít az eszközhasználati kérelmekre adott válaszként. Szerepkör inicializálása értékkel. |
| Runner |
Egy osztály, amely futtat egy munkafolyamatot a Pregel szuperstepsben. Inicializálja a futót élekkel, megosztott állapottal és környezettel. |
| RunnerContext |
Protokoll a futó által használt végrehajtási környezethez. Egyetlen környezet, amely támogatja az üzenetküldést, az eseményeket és az opcionális ellenőrzőpont-készítést. Ha az ellenőrzőpont-tároló nincs konfigurálva, az ellenőrzőpont-metódusok felmerülhetnek. |
| SequentialBuilder |
Magas szintű szerkesztő a megosztott környezettel rendelkező szekvenciális ügynök-/végrehajtói munkafolyamatokhoz.
Használat:
|
| SharedState |
Egy munkafolyamat megosztott állapotának kezelésére szolgáló osztály. A SharedState szálbiztos hozzáférést biztosít azokhoz a munkafolyamat-állapotadatokhoz, amelyeket a munkafolyamat végrehajtása során meg kell osztani a végrehajtók között. Fenntartott kulcsok: A következő kulcsok a belső keretrendszer használatára vannak fenntartva, és nem módosíthatók felhasználói kóddal:
Figyelmeztetés Ne használjon aláhúzással (_) kezdődő kulcsokat, mert azok fenntartottak lehetnek belső keretrendszerműveleteket. Inicializálja a megosztott állapotot. |
| SingleEdgeGroup |
Kényelmes burkoló egy magányos élhez, amely egységesen tartja a csoportos API-t. Hozzon létre egy egy az egyhez élcsoportot két végrehajtó között. |
| StandardMagenticManager |
Standard Magentic manager, amely valós LLM-hívásokat hajt végre egy ChatAgenten keresztül. A kezelő az eredeti Magentic One vezénylést tükröző utasításokat hoz létre:
Inicializálja a Standard Magentic Managert. |
| SubWorkflowRequestMessage |
Egy al-munkafolyamatból a szülő munkafolyamat egyik végrehajtójának küldött üzenet, amely információkat kér. Ez az üzenet körbefuttat egy, a végrehajtó által az al-munkafolyamatban kibocsátott RequestInfoEvent üzenetet. |
| SubWorkflowResponseMessage |
A workflowExecutoron keresztül egy szülő-munkafolyamatból egy al-munkafolyamatba küldött üzenet a kért információk megadásához. Ez az üzenet körbefuttatja a válaszadatokat az al-munkafolyamat végrehajtója által kibocsátott eredeti RequestInfoEvent azonosítóval együtt. |
| SuperStepCompletedEvent |
Egy szupersztep végének eseménye aktiválódik. Inicializálja a szuperstep eseményt. |
| SuperStepStartedEvent |
Egy szupersztep indításakor aktiválódott esemény. Inicializálja a szuperstep eseményt. |
| SwitchCaseEdgeGroup |
Ventilátoros változat, amely egy hagyományos kapcsoló-/esetvezérlési folyamatot utánoz. Minden eset megvizsgálja az üzenet hasznos adatait, és eldönti, hogy kezelnie kell-e az üzenetet. Pontosan egy eset vagy az alapértelmezett ág visszaad egy célt futásidőben, megőrizve az egyszeri küldés szemantikáját. Kapcsoló-/eset-útválasztási struktúra konfigurálása egyetlen forrásvégzőhöz. |
| SwitchCaseEdgeGroupCase |
Egyetlen feltételes ág tartós leírása kapcsolós esetben. A futtatókörnyezeti esetobjektumtól eltérően ez a szerialálható változat csak a célazonosítót és a predikátum leíró nevét tárolja. Ha a mögöttes hívható nem érhető el a deszerializálás során, egy olyan proxyhelyőrzőt helyettesítünk, amely hangosan meghiúsul, biztosítva, hogy a hiányzó függőség azonnal látható legyen. Egy feltételes esetág útválasztási metaadatainak rögzítése. |
| SwitchCaseEdgeGroupDefault |
Egy kapcsoló-esetcsoport tartalék ágának tartósan megőrizhető leírója. Az alapértelmezett ág garantáltan létezik, és akkor lesz meghívva, ha minden más eset predikátuma nem felel meg a hasznos adatoknak. Mutasson az alapértelmezett ágra a megadott végrehajtóazonosító felé. |
| TextContent |
Szöveges tartalmat jelöl egy csevegésben. Inicializál egy TextContent-példányt. |
| TextReasoningContent |
Szöveges érvelési tartalmat jelöl egy csevegésben. Megjegyzés: Ez az osztály és a TextContent felületesen hasonlóak, de eltérőek. Inicializál egy TextReasoningContent-példányt. |
| TextSpanRegion |
Jegyzetekkel ellátott szövegterületet jelöl. TextSpanRegion inicializálása. |
| ToolMode |
Meghatározza, hogy a csevegőkérelemben milyen eszközöket és eszközöket használnak. Az ToolMode inicializálása. |
| ToolProtocol |
Általános eszközt jelöl. Ez a protokoll határozza meg azt a felületet, amelyet minden eszköznek implementálnia kell ahhoz, hogy kompatibilis legyen az ügynök-keretrendszerrel. Különböző eszközosztályok, például a HostedMCPTool, a HostedWebSearchTool és az AIFunction által implementálva. Az AIFunctiont általában a ai_function dekoratőr hozza létre. Mivel minden összekötőnek másképp kell elemeznie az eszközöket, a felhasználók átadhatnak egy diktálást egy szolgáltatásspecifikus eszköz megadásához, ha nincs elérhető absztrakció. |
| TypeCompatibilityError |
A csatlakoztatott végrehajtók közötti típuskompatibilitás észlelésekor kivétel keletkezik. |
| UriContent |
URI-tartalmat jelöl. Fontos Ez egy URI által azonosított tartalomhoz, például képhez vagy fájlhoz használatos. A (bináris) adat-URI-k esetében használja inkább a DataContentet. Inicializál egy UriContent-példányt. Megjegyzés: Ez egy URI által azonosított tartalomhoz, például képhez vagy fájlhoz használatos. A (bináris) adat-URI-k esetében használja inkább a DataContentet . |
| UsageContent |
A csevegési kérelemhez és válaszhoz társított használati adatokat jelöli. Egy UsageContent-példány inicializálása. |
| UsageDetails |
A kérelem/válasz használati adatait adja meg. Inicializálja a UsageDetails-példányt. |
| Workflow |
Gráfalapú végrehajtási motor, amely a csatlakoztatott végrehajtókat vezényli. ÁttekintésA munkafolyamat egy Pregel-szerű modellel futtatja az élcsoportokon keresztül csatlakozó végrehajtók irányított gráfját, amely szupersztepsben fut, amíg a gráf tétlenné nem válik. A munkafolyamatok a WorkflowBuilder osztály használatával jönnek létre – ne hozza létre közvetlenül ezt az osztályt. Végrehajtási modellA végrehajtók szinkronizált szuperstepsben futnak, ahol az egyes végrehajtók:
A végrehajtók közötti üzenetek minden szuperstep végén érkeznek, és nem láthatók az eseménystreamben. Csak a munkafolyamat-szintű események (kimenetek, egyéni események) és állapotesemények figyelhetők meg a hívók számára. Bemeneti/kimeneti típusokA munkafolyamat-típusokat futásidőben észleli a rendszer az alábbiak vizsgálatával:
Végrehajtási módszerekA munkafolyamat két elsődleges végrehajtási API-t biztosít, amelyek mindegyike több forgatókönyvet támogat:
Mindkét módszer támogatja:
ÁllapotkezelésA munkafolyamat-példányok állapotokat és állapotokat tartalmaznak a futtatandó és run_stream hívások között. Több független futtatás végrehajtásához hozzon létre külön munkafolyamat-példányokat a WorkflowBuilder használatával. Külső bemeneti kérésekA munkafolyamat végrehajtói külső bemenetet kérhetnek ctx.request_info():
Ellenőrző pontok használataAz ellenőrzőpont-beállítás konfigurálható a buildeléskor vagy a futtatókörnyezetben: Build-time (via WorkflowBuilder): workflow = WorkflowBuilder().with_checkpointing(storage).build() Futtatókörnyezet (futtatási/run_stream paraméterekkel): result = await workflow.run(message, checkpoint_storage=runtime_storage) Ha engedélyezve van, az ellenőrzőpontok az egyes szupersztepek végén jönnek létre, rögzítve a következőt:
KompozícióA munkafolyamatok a WorkflowExecutor használatával ágyazhatók be, amely végrehajtóként körbefuttat egy gyermek munkafolyamatot. A beágyazott munkafolyamat bemeneti/kimeneti típusai a WorkflowExecutor típusának részévé válnak. Meghíváskor a WorkflowExecutor futtatja a beágyazott munkafolyamatot a kimenetek befejezéséhez és folyamatához. Inicializálja a munkafolyamatot éllistával. |
| WorkflowAgent |
Egy ügynök alosztály, amely körbefuttat egy munkafolyamatot, és ügynökként teszi elérhetővé. Inicializálja a WorkflowAgentet. |
| WorkflowBuilder |
A munkafolyamatok létrehozásához használható szerkesztőosztály. Ez az osztály egy folyékony API-t biztosít a munkafolyamat-gráfok meghatározásához a végrehajtók élekhez való csatlakoztatásával és a végrehajtási paraméterek konfigurálásával. Nem módosítható build példány létrehozására irányuló hívásWorkflow. Inicializálja a WorkflowBuildert üres éllistával, és nincs kezdő végrehajtó. |
| WorkflowCheckpoint |
A munkafolyamat állapotának teljes ellenőrzőpontja. Az ellenőrzőpontok rögzítik egy munkafolyamat teljes végrehajtási állapotát egy adott ponton, lehetővé téve a munkafolyamatok szüneteltetését és folytatását. Megjegyzés: A shared_state diktálás tartalmazhat a keretrendszer által felügyelt fenntartott kulcsokat. A fenntartott kulcsokkal kapcsolatos részletekért tekintse meg a SharedState osztály dokumentációját. |
| WorkflowCheckpointSummary |
Munkafolyamat-ellenőrzőpont emberi olvasásra alkalmas összefoglalása. |
| WorkflowContext |
Végrehajtási környezet, amely lehetővé teszi a végrehajtók számára a munkafolyamatok és más végrehajtók közötti interakciót. ÁttekintésA WorkflowContext egy szabályozott felületet biztosít a végrehajtók számára az üzenetek küldéséhez, a kimenetek hozamához, az állapot kezeléséhez és a szélesebb körű munkafolyamat-ökoszisztémával való interakcióhoz. Általános paraméterekkel kényszeríti ki a típusbiztonságot, miközben megakadályozza a belső futtatókörnyezeti összetevőkhöz való közvetlen hozzáférést. TípusparaméterekA környezet paraméterezve van a típusbiztonság különböző műveletekhez való kényszerítéséhez: WorkflowContext (paraméterek nélkül)Olyan végrehajtók esetében, amelyek csak mellékhatásokat hajtanak végre üzenetek küldése vagy kimenetek kibocsátása nélkül:
WorkflowContext[T_Out]Lehetővé teszi T_Out típusú üzenetek küldését más végrehajtóknak:
WorkflowContext[T_Out, T_W_Out]Lehetővé teszi az üzenetek küldését (T_Out) és a munkafolyamat kimenetének (T_W_Out) adását:
Egyesítő típusokAz egyesítő jelöléssel több típus is megadható:
Inicializálja a végrehajtó környezetet a megadott munkafolyamat-környezettel. |
| WorkflowErrorDetails |
Strukturált hibainformációk a hibaesemények/eredmények feltárásához. |
| WorkflowEvent |
Munkafolyamat-események alaposztálya. Inicializálja a munkafolyamat-eseményt opcionális adatokkal. |
| WorkflowExecutor |
Egy munkafolyamatot körbefuttató végrehajtó, amely lehetővé teszi a hierarchikus munkafolyamat-összetételt. ÁttekintésA WorkflowExecutor egyetlen végrehajtóként viselkedik egy szülő munkafolyamaton belül, így lehetővé teszi a beágyazott munkafolyamat-architektúrákat. Kezeli az al-munkafolyamat-végrehajtás teljes életciklusát, beleértve az eseményfeldolgozást, a kimeneti továbbítást, valamint a szülő- és gyermek-munkafolyamatok közötti kérés-/válaszkoordinációt. Végrehajtási modellMeghíváskor a WorkflowExecutor:
Eseményfolyam feldolgozásaA WorkflowExecutor a munkafolyamat-alfolyamat befejezése után dolgozza fel az eseményeket: Kimeneti továbbításA rendszer automatikusan továbbítja az al-munkafolyamat összes kimenetét a szülőnek: Ha allow_direct_output hamis (alapértelmezett):
Ha allow_direct_output igaz:Kérelem-/válaszkoordinációHa az al-munkafolyamatoknak külső információra van szükségük:
ÁllapotkezelésA WorkflowExecutor a végrehajtási állapotot a kérelmek/válaszok ciklusai között tartja karban:
Gépelje be a rendszerintegrációtA WorkflowExecutor a becsomagolt munkafolyamatból örökli a típusadékot: Bemeneti típusokMegfelel a burkolt munkafolyamat kezdő végrehajtójának bemeneti típusainak:
Kimeneti típusokA munkafolyamat-részkimenetek és a kéréskoordinációs típusok kombinálása:
HibakezelésA WorkflowExecutor propagálja az al-munkafolyamat hibáit:
Egyidejű végrehajtás támogatásaA WorkflowExecutor teljes mértékben támogatja az egyidejű munkafolyamat-végrehajtásokat: Per-Execution állapotelkülönítésMinden al-munkafolyamat-hívás egy elkülönített ExecutionContext-et hoz létre:
Kérelem-/válaszkoordinációA válaszok megfelelően vannak átirányítva az eredeti végrehajtáshoz:
Memóriakezelés
Fontos szempontokMegosztott munkafolyamat-példány: Minden egyidejű végrehajtás ugyanazt a mögöttes munkafolyamat-példányt használja. A megfelelő elkülönítés érdekében győződjön meg arról, hogy a burkolt munkafolyamat és annak végrehajtói állapot nélküliek.
Integráció szülő-munkafolyamatokkalA szülő munkafolyamatok képesek elfogni az al-munkafolyamat-kérelmeket: Végrehajtási megjegyzések
Inicializálja a WorkflowExecutort. |
| WorkflowFailedEvent |
Beépített életciklus-esemény jelenik meg, amikor egy munkafolyamat-futtatás hiba miatt leáll. |
| WorkflowOutputEvent |
Az esemény akkor aktiválódik, amikor egy munkafolyamat-végrehajtó kimenetet ad. Inicializálja a munkafolyamat kimeneti eseményét. |
| WorkflowRunResult |
Tároló a nem streamelt munkafolyamat végrehajtása során létrehozott eseményekhez. ÁttekintésEgy munkafolyamat-futtatás teljes végrehajtási eredményeit jelöli, amely az elejétől az üresjárati állapotig generált összes eseményt tartalmazza. A munkafolyamatok növekményes kimeneteket hoznak létre ctx.yield_output() hívásokon keresztül a végrehajtás során. EseménystruktúraMegőrzi az adatsík és a vezérlősík eseményeinek elkülönítését:
Főbb metódusok
|
| WorkflowStartedEvent |
A munkafolyamat futtatásakor kibocsátott beépített életciklus-esemény. Inicializálja a munkafolyamat-eseményt opcionális adatokkal. |
| WorkflowStatusEvent |
A munkafolyamat-futtatási állapotváltásokhoz kibocsátott beépített életciklus-esemény. Inicializálja a munkafolyamat állapoteseményét egy új állapottal és opcionális adatokkal. |
| WorkflowValidationError |
A munkafolyamat-érvényesítési hibák alapkivétele. |
| WorkflowViz |
Osztály munkafolyamatok graphviz és Hableány használatával történő vizualizációjához. Inicializálja a WorkflowVizet egy munkafolyamattal. |
Enums
| MagenticHumanInterventionDecision |
Döntési lehetőségek az emberi beavatkozási válaszokhoz. |
| MagenticHumanInterventionKind |
Milyen emberi beavatkozást kérnek. |
| ValidationTypeEnum |
Munkafolyamat-érvényesítési típusok számbavétele. |
| WorkflowEventSource |
Azonosítja, hogy egy munkafolyamat-esemény a keretrendszerből vagy egy végrehajtóból származik-e. Használja a KERETRENDSZERt a beépített vezénylési útvonalak által kibocsátott eseményekhez – még akkor is, ha az őket generáló kód futó modulokban él – és a VÉGREHAJTÓt a fejlesztők által biztosított végrehajtói implementációk által felszínre helyezett eseményekhez. |
| WorkflowRunState |
Munkafolyamat-végrehajtás futtatási szintű állapota. Szemantika:
|
Functions
agent_middleware
Dekorátor egy függvény ügynök köztes szoftverként való megjelöléséhez.
Ez a dekorátor explicit módon azonosít egy függvényt ügynök köztes szoftverként, amely AgentRunContext objektumokat dolgoz fel.
agent_middleware(func: Callable[[AgentRunContext, Callable[[AgentRunContext], Awaitable[None]]], Awaitable[None]]) -> Callable[[AgentRunContext, Callable[[AgentRunContext], Awaitable[None]]], Awaitable[None]]
Paraméterek
| Név | Leírás |
|---|---|
|
func
Szükséges
|
Az ügynök köztes szoftverként megjelölendő köztes szoftverfüggvény. |
Visszatér
| Típus | Leírás |
|---|---|
|
Ugyanaz a függvény az ügynök köztes szoftverjelölőjével. |
Példák
from agent_framework import agent_middleware, AgentRunContext, ChatAgent
@agent_middleware
async def logging_middleware(context: AgentRunContext, next):
print(f"Before: {context.agent.name}")
await next(context)
print(f"After: {context.result}")
# Use with an agent
agent = ChatAgent(chat_client=client, name="assistant", middleware=logging_middleware)
ai_function
Díszíthet egy függvényt, hogy AIFunction-et alakítson ki, amely átadható a modelleknek, és automatikusan végrehajthatóvá válik.
Ez a dekorátor létrehoz egy Pydantic-modellt a függvény aláírásából, amely a függvénynek átadott argumentumok ellenőrzésére és a függvény paramétereinek JSON-sémájának létrehozására szolgál.
Ha leírásokat szeretne hozzáadni a paraméterekhez, használja a Annotated típust typing egy karakterlánc leírásával második argumentumként. A Pydantic osztályát speciálisabb konfigurációhoz is használhatja Field .
Megjegyzés:
Ha approval_mode "always_require" értékre van állítva, a függvény nem lesz végrehajtva
a kifejezett jóváhagyás megadásáig ez csak az automatikus meghívási folyamatra vonatkozik.
Azt is fontos megjegyezni, hogy ha a modell több függvényhívást ad vissza, néhányat, amelyek jóváhagyást igényelnek
és mások, akik nem, akkor kérni fogja jóváhagyást mindannyiuk számára.
ai_function(func: Callable[[...], ReturnT | Awaitable[ReturnT]] | None = None, *, name: str | None = None, description: str | None = None, approval_mode: Literal['always_require', 'never_require'] | None = None, max_invocations: int | None = None, max_invocation_exceptions: int | None = None, additional_properties: dict[str, Any] | None = None) -> AIFunction[Any, ReturnT] | Callable[[Callable[[...], ReturnT | Awaitable[ReturnT]]], AIFunction[Any, ReturnT]]
Paraméterek
| Név | Leírás |
|---|---|
|
func
|
Callable[[...], <xref:agent_framework._tools.ReturnT> | Awaitable[<xref:agent_framework._tools.ReturnT>]] | None
A díszítendő funkció. Alapértelmezett érték: None
|
|
name
Szükséges
|
|
|
description
Szükséges
|
|
|
approval_mode
Szükséges
|
Literal['always_require', 'never_require'] | None
|
|
max_invocations
Szükséges
|
|
|
max_invocation_exceptions
Szükséges
|
|
|
additional_properties
Szükséges
|
|
Keyword-Only paraméterek
| Név | Leírás |
|---|---|
|
name
|
A függvény neve. Ha nincs megadva, a függvény attribútuma Alapértelmezett érték: None
|
|
description
|
A függvény leírása. Ha nincs megadva, a függvény dokumentációja lesz használva. Alapértelmezett érték: None
|
|
approval_mode
|
Az eszköz futtatásához jóváhagyás szükséges-e. Alapértelmezés szerint nincs szükség jóváhagyásra. Alapértelmezett érték: None
|
|
max_invocations
|
A függvény meghívásának maximális száma. Ha nincs, akkor nincs korlátozás, legalább 1-nek kell lennie. Alapértelmezett érték: None
|
|
max_invocation_exceptions
|
A meghívások során engedélyezett kivételek maximális száma. Ha nincs, akkor nincs korlátozás, legalább 1-nek kell lennie. Alapértelmezett érték: None
|
|
additional_properties
|
További beállítási tulajdonságok a függvényen. Alapértelmezett érték: None
|
Visszatér
| Típus | Leírás |
|---|---|
|
AIFunction[Any, <xref:agent_framework._tools.ReturnT>] | Callable[[Callable[[…], <xref:agent_framework._tools.ReturnT> | Awaitable[<xref:agent_framework._tools.ReturnT>]]], AIFunction[Any, <xref:agent_framework._tools.ReturnT>]]
|
Példák
from agent_framework import ai_function
from typing import Annotated
@ai_function
def ai_function_example(
arg1: Annotated[str, "The first argument"],
arg2: Annotated[int, "The second argument"],
) -> str:
# An example function that takes two arguments and returns a string.
return f"arg1: {arg1}, arg2: {arg2}"
# the same function but with approval required to run
@ai_function(approval_mode="always_require")
def ai_function_example(
arg1: Annotated[str, "The first argument"],
arg2: Annotated[int, "The second argument"],
) -> str:
# An example function that takes two arguments and returns a string.
return f"arg1: {arg1}, arg2: {arg2}"
# With custom name and description
@ai_function(name="custom_weather", description="Custom weather function")
def another_weather_func(location: str) -> str:
return f"Weather in {location}"
# Async functions are also supported
@ai_function
async def async_get_weather(location: str) -> str:
'''Get weather asynchronously.'''
# Simulate async operation
return f"Weather in {location}"
chat_middleware
A dekorátor egy függvényt csevegőközvetítőként jelöl meg.
Ez a dekorátor explicit módon azonosít egy függvényt csevegőközvetítőként, amely ChatContext objektumokat dolgoz fel.
chat_middleware(func: Callable[[ChatContext, Callable[[ChatContext], Awaitable[None]]], Awaitable[None]]) -> Callable[[ChatContext, Callable[[ChatContext], Awaitable[None]]], Awaitable[None]]
Paraméterek
| Név | Leírás |
|---|---|
|
func
Szükséges
|
A köztes szoftver függvény, amely csevegőközvetíteni kívánt szoftverként van megjelölve. |
Visszatér
| Típus | Leírás |
|---|---|
|
Ugyanaz a függvény csevegési köztes szoftverjelölővel. |
Példák
from agent_framework import chat_middleware, ChatContext, ChatAgent
@chat_middleware
async def logging_middleware(context: ChatContext, next):
print(f"Messages: {len(context.messages)}")
await next(context)
print(f"Response: {context.result}")
# Use with an agent
agent = ChatAgent(chat_client=client, name="assistant", middleware=logging_middleware)
create_edge_runner
Factory függvény a megfelelő élfuttató létrehozásához egy élcsoporthoz.
create_edge_runner(edge_group: EdgeGroup, executors: dict[str, Executor]) -> EdgeRunner
Paraméterek
| Név | Leírás |
|---|---|
|
edge_group
Szükséges
|
<xref:agent_framework._workflows._edge.EdgeGroup>
Az élcsoport, amely számára futót szeretne létrehozni. |
|
executors
Szükséges
|
Végrehajtóazonosítók leképezése végrehajtópéldányokra. |
Visszatér
| Típus | Leírás |
|---|---|
|
<xref:agent_framework._workflows._edge_runner.EdgeRunner>
|
A megfelelő EdgeRunner-példány. |
executor
Önálló függvényeket FunctionExecutor-példánysá konvertáló dekorátor.
A @executor dekorátor csak önálló modulszintű függvényekhez készült. Osztályalapú végrehajtók esetén használja a Végrehajtó alaposztályt a példány metódusaival @handler .
Támogatja a szinkron és az aszinkron függvényeket is. A szinkron függvényeket a rendszer egy szálkészletben hajtja végre, hogy elkerülje az eseményhurok blokkolását.
Fontos
Önálló függvényekhez (modulszintű vagy helyi függvényekhez) használható @executor
NE használja @executor a staticmethodclassmethod
Osztályalapú végrehajtók esetén az alosztály-végrehajtó és a példánymetóciók használata @handler
Használat:
# Standalone async function (RECOMMENDED):
@executor(id="upper_case")
async def to_upper(text: str, ctx: WorkflowContext[str]):
await ctx.send_message(text.upper())
# Standalone sync function (runs in thread pool):
@executor
def process_data(data: str):
return data.upper()
# For class-based executors, use @handler instead:
class MyExecutor(Executor):
def __init__(self):
super().__init__(id="my_executor")
@handler
async def process(self, data: str, ctx: WorkflowContext[str]):
await ctx.send_message(data.upper())
executor(func: Callable[[...], Any] | None = None, *, id: str | None = None) -> Callable[[Callable[[...], Any]], FunctionExecutor] | FunctionExecutor
Paraméterek
| Név | Leírás |
|---|---|
|
func
|
A díszítendő függvény (zárójel nélkül használva) Alapértelmezett érték: None
|
|
id
Szükséges
|
A végrehajtó opcionális egyéni azonosítója. Ha nincs, használja a függvény nevét. |
Keyword-Only paraméterek
| Név | Leírás |
|---|---|
|
id
|
Alapértelmezett érték: None
|
Visszatér
| Típus | Leírás |
|---|---|
|
Egy FunctionExecutor-példány, amely munkafolyamatba kapcsolható. |
Kivételek
| Típus | Leírás |
|---|---|
|
Ha nem támogatott mintával vagy (nem támogatott mintával staticmethodclassmethod ) használják |
function_middleware
Dekorátor a függvény köztes szoftverként való megjelöléséhez.
Ez a dekorátor explicit módon azonosítja a függvényeket függvényközvetítőként, amely a FunctionInvocationContext objektumokat dolgozza fel.
function_middleware(func: Callable[[FunctionInvocationContext, Callable[[FunctionInvocationContext], Awaitable[None]]], Awaitable[None]]) -> Callable[[FunctionInvocationContext, Callable[[FunctionInvocationContext], Awaitable[None]]], Awaitable[None]]
Paraméterek
| Név | Leírás |
|---|---|
|
func
Szükséges
|
Callable[[FunctionInvocationContext, Callable[[FunctionInvocationContext], Awaitable[None]]], Awaitable[None]]
A köztes szoftver függvény, amely köztes szoftverként van megjelölve. |
Visszatér
| Típus | Leírás |
|---|---|
|
Ugyanaz a függvény a köztes szoftverjelölővel. |
Példák
from agent_framework import function_middleware, FunctionInvocationContext, ChatAgent
@function_middleware
async def logging_middleware(context: FunctionInvocationContext, next):
print(f"Calling: {context.function.name}")
await next(context)
print(f"Result: {context.result}")
# Use with an agent
agent = ChatAgent(chat_client=client, name="assistant", middleware=logging_middleware)
get_checkpoint_summary
get_checkpoint_summary(checkpoint: WorkflowCheckpoint) -> WorkflowCheckpointSummary
Paraméterek
| Név | Leírás |
|---|---|
|
checkpoint
Szükséges
|
|
Visszatér
| Típus | Leírás |
|---|---|
get_logger
Szerezze be a megadott nevű naplózót, amely alapértelmezés szerint a "agent_framework" lesz.
get_logger(name: str = 'agent_framework') -> Logger
Paraméterek
| Név | Leírás |
|---|---|
|
name
|
A naplózó neve. Alapértelmezés szerint "agent_framework". Alapértelmezett érték: "agent_framework"
|
Visszatér
| Típus | Leírás |
|---|---|
|
A konfigurált naplózópéldány. |
handler
A dekorátor regisztrál egy kezelőt egy végrehajtóhoz.
handler(func: Callable[[ExecutorT, Any, ContextT], Awaitable[Any]]) -> Callable[[ExecutorT, Any, ContextT], Awaitable[Any]]
Paraméterek
| Név | Leírás |
|---|---|
|
func
Szükséges
|
Callable[[<xref:agent_framework._workflows._executor.ExecutorT>, Any, <xref:agent_framework._workflows._executor.ContextT>], Awaitable[Any]]
A díszítendő funkció. Paraméterek nélkül nem használható. |
Visszatér
| Típus | Leírás |
|---|---|
|
A kitüntetett függvény kezelői metaadatokkal. |
Példák
@handler async def handle_string(self, message: str, ctx: WorkflowContext[str]) –> Nincs:
...
@handler async def handle_data(self, message: dict, ctx: WorkflowContext[str | int]) –> Nincs:
...
prepare_function_call_results
Készítse elő a függvényhívás eredményeinek értékeit.
prepare_function_call_results(content: TextContent | DataContent | TextReasoningContent | UriContent | FunctionCallContent | FunctionResultContent | ErrorContent | UsageContent | HostedFileContent | HostedVectorStoreContent | FunctionApprovalRequestContent | FunctionApprovalResponseContent | Any | list[TextContent | DataContent | TextReasoningContent | UriContent | FunctionCallContent | FunctionResultContent | ErrorContent | UsageContent | HostedFileContent | HostedVectorStoreContent | FunctionApprovalRequestContent | FunctionApprovalResponseContent | Any]) -> str
Paraméterek
Visszatér
| Típus | Leírás |
|---|---|
prepend_agent_framework_to_user_agent
Az "ügynök-keretrendszer" elő van állítva a fejlécek User-Agent.
Ha a felhasználói ügynök telemetria le van tiltva a AGENT_FRAMEWORK_USER_AGENT_DISABLED környezeti változón keresztül, a User-Agent fejléc nem tartalmazza az ügynök-keretrendszer adatait.
A rendszer a None átadásakor üres diktálásként vagy üres diktálásként küldi vissza.
prepend_agent_framework_to_user_agent(headers: dict[str, Any] | None = None) -> dict[str, Any]
Paraméterek
| Név | Leírás |
|---|---|
|
headers
|
A meglévő fejlécszótár. Alapértelmezett érték: None
|
Visszatér
| Típus | Leírás |
|---|---|
|
Új diktálás a "User-Agent" beállítással "agent-framework-python/{version}" értékre, ha a fejlécek nincsek. A módosított fejlécek szótára az "agent-framework-python/{version}" elő van állítva a User-Agentre. |
Példák
from agent_framework import prepend_agent_framework_to_user_agent
# Add agent-framework to new headers
headers = prepend_agent_framework_to_user_agent()
print(headers["User-Agent"]) # "agent-framework-python/0.1.0"
# Prepend to existing headers
existing = {"User-Agent": "my-app/1.0"}
headers = prepend_agent_framework_to_user_agent(existing)
print(headers["User-Agent"]) # "agent-framework-python/0.1.0 my-app/1.0"
response_handler
A dekoratőr regisztrál egy kezelőt a kérésekre adott válaszok kezeléséhez.
response_handler(func: Callable[[ExecutorT, Any, Any, ContextT], Awaitable[None]]) -> Callable[[ExecutorT, Any, Any, ContextT], Awaitable[None]]
Paraméterek
| Név | Leírás |
|---|---|
|
func
Szükséges
|
Callable[[<xref:agent_framework._workflows._request_info_mixin.ExecutorT>, Any, Any, <xref:agent_framework._workflows._request_info_mixin.ContextT>], Awaitable[None]]
A díszítendő funkció. |
Visszatér
| Típus | Leírás |
|---|---|
|
A kitüntetett függvény kezelői metaadatokkal. |
Példák
@handler
async def run(self, message: int, context: WorkflowContext[str]) -> None:
# Example of a handler that sends a request
...
# Send a request with a `CustomRequest` payload and expect a `str` response.
await context.request_info(CustomRequest(...), str)
@response_handler
async def handle_response(
self,
original_request: CustomRequest,
response: str,
context: WorkflowContext[str],
) -> None:
# Example of a response handler for the above request
...
@response_handler
async def handle_response(
self,
original_request: CustomRequest,
response: dict,
context: WorkflowContext[int],
) -> None:
# Example of a response handler for a request expecting a dict response
...
setup_logging
Az ügynök-keretrendszer naplózási konfigurációjának beállítása.
setup_logging() -> None
Visszatér
| Típus | Leírás |
|---|---|
use_agent_middleware
Az osztály dekorátora, amely köztes szoftvertámogatást ad hozzá egy ügynökosztályhoz.
Ez a dekorátor minden ügynökosztályhoz hozzáadja a köztes szoftver funkcióit.
Körbefuttatja a run() köztesszoftver-végrehajtást biztosító módszereket és run_stream() metódusokat.
A köztes szoftver végrehajtása bármikor megszakítható a context.terminate tulajdonság True (Igaz) értékre állításával. A beállítás után a folyamat leállítja a további köztes szoftver végrehajtását, amint a vezérlés visszatér a folyamathoz.
Megjegyzés:
Ez a dekorátor már alkalmazva van a beépített ügynökosztályokra. Csak használnia kell
akkor, ha egyéni ügynök-implementációkat hoz létre.
use_agent_middleware(agent_class: type[TAgent]) -> type[TAgent]
Paraméterek
| Név | Leírás |
|---|---|
|
agent_class
Szükséges
|
type[<xref:TAgent>]
A köztes szoftvertámogatást hozzáadni kívánt ügynökosztály. |
Visszatér
| Típus | Leírás |
|---|---|
|
type[~<xref:TAgent>]
|
A módosított ügynökosztály köztes szoftvertámogatással. |
Példák
from agent_framework import use_agent_middleware
@use_agent_middleware
class CustomAgent:
async def run(self, messages, **kwargs):
# Agent implementation
pass
async def run_stream(self, messages, **kwargs):
# Streaming implementation
pass
use_chat_middleware
Az osztály dekorátora, amely köztes szoftvertámogatást ad hozzá egy csevegőügyfél-osztályhoz.
Ez a dekorátor köztes szoftverfunkciókat ad hozzá a csevegési ügyfélosztályokhoz.
Körbefuttatja a get_response() köztesszoftver-végrehajtást biztosító módszereket és get_streaming_response() metódusokat.
Megjegyzés:
Ez a dekorátor már alkalmazva van a beépített csevegőügyfél-osztályokra. Csak használnia kell
egyéni csevegőügyfél-implementációk létrehozásakor.
use_chat_middleware(chat_client_class: type[TChatClient]) -> type[TChatClient]
Paraméterek
| Név | Leírás |
|---|---|
|
chat_client_class
Szükséges
|
type[<xref:TChatClient>]
A köztes szoftvertámogatást hozzáadni kívánt csevegőügyfél-osztály. |
Visszatér
| Típus | Leírás |
|---|---|
|
type[~<xref:TChatClient>]
|
A módosított csevegőügyfél-osztály köztes szoftvertámogatással. |
Példák
from agent_framework import use_chat_middleware
@use_chat_middleware
class CustomChatClient:
async def get_response(self, messages, **kwargs):
# Chat client implementation
pass
async def get_streaming_response(self, messages, **kwargs):
# Streaming implementation
pass
use_function_invocation
Osztály dekorátor, amely lehetővé teszi az eszköz hívását egy csevegőügyfél számára.
Ez a dekorátor körbefuttatja a metódusokat és get_response a metódusokat, get_streaming_response hogy automatikusan kezelje a modellből érkező függvényhívásokat, végrehajtsa őket, és visszaadja az eredményeket a modellnek további feldolgozás céljából.
use_function_invocation(chat_client: type[TChatClient]) -> type[TChatClient]
Paraméterek
| Név | Leírás |
|---|---|
|
chat_client
Szükséges
|
type[<xref:TChatClient>]
A díszítendő csevegőügyfél-osztály. |
Visszatér
| Típus | Leírás |
|---|---|
|
type[~<xref:TChatClient>]
|
A kitüntetett csevegőügyfél-osztály, amelyen engedélyezve van a függvényhívás. |
Kivételek
| Típus | Leírás |
|---|---|
|
Ha a csevegőügyfél nem rendelkezik a szükséges módszerekkel. |
Példák
from agent_framework import use_function_invocation, BaseChatClient
@use_function_invocation
class MyCustomClient(BaseChatClient):
async def get_response(self, messages, **kwargs):
# Implementation here
pass
async def get_streaming_response(self, messages, **kwargs):
# Implementation here
pass
# The client now automatically handles function calls
client = MyCustomClient()
validate_workflow_graph
A munkafolyamat-gráfok ellenőrzéséhez szükséges kényelmi függvény.
validate_workflow_graph(edge_groups: Sequence[EdgeGroup], executors: dict[str, Executor], start_executor: Executor) -> None
Paraméterek
| Név | Leírás |
|---|---|
|
edge_groups
Szükséges
|
Sequence[<xref:agent_framework._workflows._edge.EdgeGroup>]
a munkafolyamat élcsoportjainak listája |
|
executors
Szükséges
|
Végrehajtóazonosítók leképezése végrehajtópéldányokra |
|
start_executor
Szükséges
|
A kezdő végrehajtó (lehet példány vagy azonosító) |
Visszatér
| Típus | Leírás |
|---|---|
Kivételek
| Típus | Leírás |
|---|---|
|
Ha az ellenőrzés sikertelen |