agent_framework Paket
Modül
| exceptions | |
| observability |
Sınıflar
| AIFunction |
Python işlevini yapay zeka modelleri tarafından çağrılabilir hale getirmek için sarmalayan bir araç. Bu sınıf, otomatik parametre doğrulaması ve JSON şeması oluşturma ile yapay zeka modelleri tarafından çağrılabilen bir Python işlevi sarmalar. AIFunction'ı başlatın. |
| AgentExecutor |
iletileri işlemek için bir aracı sarmalayan yerleşik yürütücü. AgentExecutor, davranışını iş akışı yürütme moduna göre uyarlar:
Yürütücü, modu WorkflowContext.is_streaming() aracılığıyla otomatik olarak algılar. Yürütücüsü benzersiz bir tanımlayıcıyla başlatın. |
| AgentExecutorRequest |
Aracı yürütücüsine yönelik bir istek. |
| AgentExecutorResponse |
Aracı yürütücüsundan gelen yanıt. |
| AgentInputRequest |
Bir aracı üst düzey oluşturucu iş akışlarında çalışmadan önce insan girişi isteği. Bir aracı yürütülmeden önce bir iş akışı duraklatıldığında RequestInfoEvent aracılığıyla yayılan. Yanıt, aracının davranışını yönlendirmek için konuşmaya kullanıcı iletisi olarak eklenir. Bu, .with_request_info () tarafından SequentialBuilder, ConcurrentBuilder, GroupChatBuilder ve HandoffBuilder üzerinde kullanılan standart istek türüdür. |
| AgentMiddleware |
Aracı çağrılarını kesebilen aracı ara yazılımı için soyut temel sınıf. Aracı ara yazılımı, yürütmeden önce ve sonra aracı çağrılarını kesmenize ve değiştirmenize olanak tanır. İletileri inceleyebilir, bağlamı değiştirebilir, sonuçları geçersiz kılabilir veya yürütmeyi erken sonlandırabilirsiniz. Uyarı AgentMiddleware soyut bir temel sınıftır. Bunu alt sınıflamalı ve uygulamalısınız özel aracı ara yazılımı oluşturmak için process() yöntemi. |
| AgentProtocol |
Bir aracı için çağrılabilen bir protokol. Bu protokol, tanımlama özellikleri ve yürütme yöntemleri dahil olmak üzere tüm aracıların uygulaması gereken arabirimi tanımlar. Uyarı Protokoller yapısal alt stil (ördek yazma) kullanır. Sınıfların gerekli olmadığı uyumlu olarak kabul edilecek şekilde bu protokolden açıkça devralınacak. Bu, kullanmadan tamamen özel aracılar oluşturmanıza olanak tanır herhangi bir Agent Framework temel sınıfı. |
| AgentRunContext |
Aracı ara yazılım çağrıları için bağlam nesnesi. Bu bağlam aracı ara yazılım işlem hattı üzerinden geçirilir ve aracı çağırma hakkındaki tüm bilgileri içerir. AgentRunContext'i başlatın. |
| AgentRunEvent |
Aracı çalıştırması tamamlandığında tetiklenen olay. Aracı çalıştırma olayını başlatın. |
| AgentRunResponse |
Aracı çalıştırma isteğine verilen yanıtı temsil eder. Yanıtla ilgili bir veya daha fazla yanıt iletisi ve meta veri sağlar. Tipik bir yanıt tek bir ileti içerir, ancak işlev çağrıları, RAG almaları veya karmaşık mantık içeren senaryolarda birden çok ileti içerebilir. AgentRunResponse başlatın. |
| AgentRunResponseUpdate |
Bir Aracıdan tek bir akış yanıt öbeklerini temsil eder. AgentRunResponseUpdate'i başlatın. |
| AgentRunUpdateEvent |
Aracı iletilerin akışını yaparken tetiklenen olay. Aracı akış olayını başlatın. |
| AgentThread |
Aracı iş parçacığı sınıfı, hem yerel olarak yönetilen iş parçacığını hem de hizmet tarafından yönetilen bir iş parçacığını temsil edebilir. aracı AgentThread başlatın, bu yöntemi el ile kullanmayın, her zaman şunu kullanın: Uyarı service_thread_id veya message_store ayarlanabilir, ancak ikisi birden ayarlanamaz. |
| AggregateContextProvider |
Birden çok bağlam sağlayıcısı içeren bir ContextProvider. Olayları birden çok bağlam sağlayıcısına devreder ve döndürmeden önce bu olaylardan yanıtları toplar. Bu, birden çok bağlam sağlayıcısını tek bir sağlayıcıda birleştirmenizi sağlar. Uyarı Tek bir bağlam geçirdiğinizde bir AggregateContextProvider otomatik olarak oluşturulur sağlayıcı veya aracı oluşturucusunun bağlam sağlayıcıları dizisi. Bağlam sağlayıcılarıyla AggregateContextProvider'ı başlatın. |
| BaseAgent |
Tüm Agent Framework aracıları için temel sınıf. Bu sınıf, bağlam sağlayıcıları, ara yazılım desteği ve iş parçacığı yönetimi dahil olmak üzere aracı uygulamaları için temel işlevsellik sağlar. Uyarı BaseAgent örneği doğrudan oluşturulamaz çünkü uygulamaz: run(), run_stream() ve AgentProtocol tarafından gereken diğer yöntemler. ChatAgent gibi somut bir uygulama kullanın veya bir alt sınıf oluşturun. BaseAgent örneğini başlatın. |
| BaseAnnotation |
Tüm AI Ek Açıklama türleri için temel sınıf. BaseAnnotation'ı başlatın. |
| BaseChatClient |
Sohbet istemcileri için temel sınıf. Bu soyut temel sınıf, ara yazılım desteği, ileti hazırlama ve araç normalleştirme dahil olmak üzere sohbet istemcisi uygulamaları için temel işlevsellik sağlar. Uyarı BaseChatClient, soyut bir temel sınıf olduğundan doğrudan örneği oluşturulamaz. Alt sınıfların _inner_get_response() ve _inner_get_streaming_response() uygulaması gerekir. BaseChatClient örneğini başlatın. |
| BaseContent |
Yapay zeka hizmetleri tarafından kullanılan içeriği temsil eder. BaseContent'i başlatın. |
| Case |
Bir anahtar-servis talebi koşulunu hedefiyle birleştiren çalışma zamanı sarmalayıcı. Her Durum , koşul True olarak değerlendirildiğinde iletiyi işlemesi gereken yürütücü ile bir boole koşulu birleştirir. Çalışma zamanı, bu basit kapsayıcıyı serileştirilebilir SwitchCaseEdgeGroupCase'ten ayrı tutarak yürütmenin kalıcı durumu kirletmeden canlı çağrılabilen öğelerle çalışabilmesini sağlar. |
| ChatAgent |
Sohbet İstemci aracısı. Bu, dil modelleriyle etkileşime geçmek için sohbet istemcisi kullanan birincil aracı uygulamasıdır. Araçları, bağlam sağlayıcılarını, ara yazılımı ve hem akış hem de akış dışı yanıtları destekler. Bir ChatAgent örneği başlatın. Uyarı frequency_penalty ile request_kwargs parametreleri kümesi sohbet istemcisini çağırın. Ayrıca her iki çalıştırma yöntemine de geçirilebilir. Her ikisi de ayarlandığında, çalıştırma yöntemlerine geçirilenler öncelikli olur. |
| ChatClientProtocol |
Yanıt oluşturabilen bir sohbet istemcisi protokolü. Bu protokol, hem akış hem de akış dışı yanıt oluşturma yöntemleri dahil olmak üzere tüm sohbet istemcilerinin uygulaması gereken arabirimi tanımlar. Uyarı Protokoller yapısal alt stil (ördek yazma) kullanır. Sınıfların gerekli olmadığı uyumlu olarak kabul edilecek şekilde bu protokolden açıkça devralınacak. |
| ChatContext |
Sohbet ara yazılımı çağrıları için bağlam nesnesi. Bu bağlam, sohbet ara yazılım işlem hattı üzerinden geçirilir ve sohbet isteği hakkındaki tüm bilgileri içerir. ChatContext'i başlatın. |
| ChatMessage |
Sohbet iletisini temsil eder. ChatMessage'ı başlatın. |
| ChatMessageStore |
İletileri bir listede depolayan ChatMessageStoreProtocol'un bellek içi uygulaması. Bu uygulama, serileştirme ve seri durumdan çıkarma desteğiyle sohbet iletileri için basit, liste tabanlı bir depolama alanı sağlar. Protokolün tüm gerekli yöntemlerini Depo, iletileri bellekte tutar ve kalıcılık amacıyla durumu seri hale getirmek ve seri durumdan çıkarmak için yöntemler sağlar. bir iş parçacığında kullanmak üzere bir ChatMessageStore oluşturun. |
| ChatMessageStoreProtocol |
Belirli bir yazışmayla ilişkili sohbet iletilerini depolama ve alma yöntemlerini tanımlar. Bu protokolün uygulamaları, iletileri gerektiği gibi keserek veya özetleyerek büyük hacimli verileri işlemek de dahil olmak üzere sohbet iletilerinin depolanmasını yönetmekten sorumludur. |
| ChatMiddleware |
Sohbet istemci isteklerini kesebilen sohbet ara yazılımı için soyut temel sınıf. Sohbet ara yazılımı, yürütmeden önce ve sonra sohbet istemci isteklerini kesmenize ve değiştirmenize olanak tanır. İletileri değiştirebilir, sistem istemleri ekleyebilir, istekleri günlüğe kaydedebilir veya sohbet yanıtlarını geçersiz kılabilirsiniz. Uyarı ChatMiddleware soyut bir temel sınıftır. Bunu alt sınıflamalı ve uygulamalısınız özel sohbet ara yazılımı oluşturmak için process() yöntemi. |
| ChatOptions |
Yapay zeka hizmetleri için yaygın istek ayarları. ChatOptions'ı başlatın. |
| ChatResponse |
Sohbet isteğine verilen yanıtı temsil eder. Sağlanan parametrelerle bir ChatResponse başlatır. |
| ChatResponseUpdate |
Bir ChatClient'tan gelen tek bir akış yanıt öbeklerini temsil eder. Sağlanan parametrelerle bir ChatResponseUpdate başlatır. |
| CheckpointStorage |
Denetim noktası depolama arka uçları için protokol. |
| CitationAnnotation |
Alıntı ek açıklamasını temsil eder. CitationAnnotation'ı başlatın. |
| ConcurrentBuilder |
Eşzamanlı aracı iş akışları için üst düzey oluşturucu.
Kullanım:
|
| Context |
ContextProvider tarafından sağlanan şekilde yapay zeka modeline sağlanması gereken bağlamı içeren bir sınıf. Her ContextProvider, her çağrı için kendi bağlamını sağlama özelliğine sahiptir. Context sınıfı, ContextProvider tarafından sağlanan ek bağlamı içerir. Bu bağlam, yapay zeka modeline geçirilmeden önce diğer sağlayıcılar tarafından sağlanan bağlamla birleştirilir. Bu bağlam çağrıya göredir ve sohbet geçmişinin bir parçası olarak depolanmaz. Yeni bir Context nesnesi oluşturun. |
| ContextProvider |
Tüm bağlam sağlayıcıları için temel sınıf. Bağlam sağlayıcısı, yapay zekanın bağlam yönetimini geliştirmek için kullanılabilecek bir bileşendir. Konuşmadaki değişiklikleri dinleyebilir ve çağrıdan hemen önce yapay zeka modeline ek bağlam sağlayabilir. Uyarı ContextProvider soyut bir temel sınıftır. Bunu alt sınıflamalı ve uygulamalısınız özel bağlam sağlayıcısı oluşturmak için invoking() yöntemi. İdeal olarak, ayrıca konuşmayı izlemek için invoked() ve thread_created() yöntemlerini uygulayın durum bilgisidir, ancak bunlar isteğe bağlıdır. |
| DataContent |
İlişkili medya türüyle (MIME türü olarak da bilinir) ikili veri içeriğini temsil eder. Önemli Bu, çevrimiçi kaynaklar için değil, veri URI'si olarak temsil edilen ikili veriler içindir. Çevrimiçi kaynaklar için UriContent kullanın. DataContent örneğini başlatır. Önemli Bu, çevrimiçi kaynaklar için değil, veri URI'si olarak temsil edilen ikili veriler içindir. Çevrimiçi kaynaklar için UriContent kullanın. |
| Default |
Bir anahtar-servis talebi grubundaki varsayılan dalın çalışma zamanı gösterimi. Varsayılan dal yalnızca başka bir büyük/küçük harf koşulu eşleşmediğinde çağrılır. Uygulamada, yönlendirmenin hiçbir zaman boş hedef oluşturmaması için var olması garanti edilir. |
| Edge |
İki yürütücü arasında yönlendirilmiş, isteğe bağlı olarak koşullu bir teslimi modelle. Her Edge , bir iletiyi iş akışı grafı içinde bir yürütücüden diğerine taşımak için gereken en düşük meta verileri yakalar. İsteğe bağlı olarak kenarın çalışma zamanında alınması gerekip gerekmediğini belirleyen bir boole koşulu ekler. Kenarı ilkel öğelere kadar seri hale getirerek, özgün Python işleminden bağımsız olarak bir iş akışının topolojisini yeniden oluşturabiliriz. İki iş akışı yürütücüsü arasında tam olarak belirtilen bir kenar başlatın. |
| EdgeDuplicationError |
İş akışında yinelenen kenarlar algılandığında oluşan özel durum. |
| ErrorContent |
Bir hatayı temsil eder. Açıklamalar: Genellikle işlemin bir parçası olarak bir sorun oluştuğu ancak işlemin devam edebildiği önemli olmayan hatalar için kullanılır. ErrorContent örneğini başlatır. |
| Executor |
İletileri işleyen ve hesaplamalar gerçekleştiren tüm iş akışı yürütücüleri için temel sınıf. Genel BakışYürütücüler, iletileri alan, işlem gerçekleştiren ve çıkış üreten tek tek işlem birimlerini temsil eden iş akışlarının temel yapı taşlarıdır. Her yürütücü benzersiz olarak tanımlanır ve düzenlenmiş işleyici yöntemleri aracılığıyla belirli ileti türlerini işleyebilir. Tip SistemiYürütücülerin özelliklerini tanımlayan zengin bir tür sistemi vardır: Giriş TürleriYürütücülerin işleyebileceği ileti türleri, işleyici yöntemi imzalarından bulunur:
input_types özelliği aracılığıyla erişim. Çıkış TürleriYürütücülerin ctx.send_message() aracılığıyla diğer yürütücülere gönderebileceği ileti türleri:
output_types özelliği aracılığıyla erişim. İş Akışı Çıkış TürleriYürütücüsü, ctx.yield_output() aracılığıyla iş akışı düzeyinde çıkış olarak yayabileceği veri türleri:
workflow_output_types özelliği aracılığıyla erişim. İşleyici BulmaYürütücüler, özelliklerini dekore edilmiş yöntemlerle bulur: @handler DekoratörGelen iletileri işleyen yöntemleri işaretler:
Alt iş akışı İstek KesmeAlt iş akışı isteklerini kesmek için yöntemleri kullanın @handler :
Bağlam Türleriİşleyici yöntemleri, tür ek açıklamalarına göre farklı WorkflowContext varyantları alır: WorkflowContext (tür parametresi yok)yalnızca ileti göndermeden veya çıkışlar vermeden yan etkiler gerçekleştiren işleyiciler için:
WorkflowContext[T_Out]ctx.send_message () aracılığıyla T_Out türünde iletiler göndermeyi etkinleştirir:
WorkflowContext[T_Out, T_W_Out]hem ileti göndermeyi (T_Out) hem de iş akışı çıkışlarını (T_W_Out) verir:
İşlev YürütücüleriBasit işlevler , @executor dekoratörü kullanılarak yürütücülere dönüştürülebilir:
Alt iş akışı OluşturmaYürütücüler WorkflowExecutor kullanarak alt iş akışları içerebilir. Alt iş akışları üst iş akışlarının araya girebileceği isteklerde bulunabilir. İş akışı oluşturma desenleri ve istek/yanıt işleme hakkında ayrıntılı bilgi için WorkflowExecutor belgelerine bakın. Durum YönetimiYürütücüler, iş akışı çalıştırmaları ve denetim noktaları arasında kalıcı olan durumlar içerebilir. Özel durum serileştirme ve geri yükleme mantığı uygulamak için on_checkpoint_save ve on_checkpoint_restore yöntemlerini geçersiz kılın. Uygulama Notları
Yürütücüsü benzersiz bir tanımlayıcıyla başlatın. |
| ExecutorCompletedEvent |
Yürütücü işleyicisi tamamlandığında tetiklenen olay. Yürütücü olayını yürütücü kimliği ve isteğe bağlı verilerle başlatın. |
| ExecutorEvent |
Yürütücü olayları için temel sınıf. Yürütücü olayını yürütücü kimliği ve isteğe bağlı verilerle başlatın. |
| ExecutorFailedEvent |
Yürütücü işleyicisi hataya neden olduğunda tetiklenen olay. |
| ExecutorInvokedEvent |
Yürütücü işleyicisi çağrıldığında tetiklenen olay. Yürütücü olayını yürütücü kimliği ve isteğe bağlı verilerle başlatın. |
| FanInEdgeGroup |
Tek bir aşağı akış yürütücüsü besleyen bir yakınsanan kenar kümesini temsil eder. Fan-in grupları genellikle birden çok yukarı akış aşaması bağımsız olarak aynı aşağı akış işlemcisine ulaşması gereken iletiler oluşturduğunda kullanılır. Birkaç kaynağı tek bir hedefte birleştirilen bir fan-in eşlemesi oluşturun. |
| FanOutEdgeGroup |
İsteğe bağlı seçim mantığıyla yayın stili bir kenar grubunu temsil edin. Bir yayma, tek bir kaynak yürütücüsü tarafından üretilen bir iletiyi bir veya daha fazla aşağı akış yürütücüsine iletir. Çalışma zamanında yükü inceleyen ve iletiyi alması gereken kimliklerin alt kümesini döndüren bir selection_func yürüterek hedefleri daha da daraltabiliriz. Tek bir kaynaktan birçok hedefe yönelik bir fan-out eşlemesi oluşturun. |
| FileCheckpointStorage |
Kalıcılık için dosya tabanlı denetim noktası depolama alanı. Dosya depolama alanını başlatın. |
| FinishReason |
Sohbet yanıtının tamamlanma nedenini temsil eder. FinishReason'ı bir değerle başlatın. |
| FunctionApprovalRequestContent |
İşlev çağrısının kullanıcı onayı isteğini temsil eder. FunctionApprovalRequestContent örneğini başlatır. |
| FunctionApprovalResponseContent |
İşlev çağrısının kullanıcı onayı için bir yanıtı temsil eder. FunctionApprovalResponseContent örneğini başlatır. |
| FunctionCallContent |
İşlev çağrısı isteğini temsil eder. FunctionCallContent örneğini başlatır. |
| FunctionExecutor |
Kullanıcı tanımlı bir işlevi sarmalayan yürütücü. Bu yürütücü, kullanıcıların tam yürütücü sınıfları oluşturmaya gerek kalmadan basit işlevler (eşitleme ve zaman uyumsuz) tanımlamasına ve bunları iş akışı yürütücüleri olarak kullanmasına olanak tanır. Zaman uyumlu işlevler, olay döngüsünü engellememek için asyncio.to_thread() kullanılarak bir iş parçacığı havuzunda yürütülür. FunctionExecutor'ı kullanıcı tanımlı bir işlevle başlatın. |
| FunctionInvocationConfiguration |
Sohbet istemcilerinde işlev çağırma yapılandırması. Bu sınıf, işlev çağrısını destekleyen her sohbet istemcisinde otomatik olarak oluşturulur. Bu, çoğu durumda yalnızca örnekteki öznitelikleri değiştirebileceğiniz, ardından yeni bir tane oluşturabileceğiniz anlamına gelir. FunctionInvocationConfiguration'ı başlatın. |
| FunctionInvocationContext |
İşlev ara yazılım çağrıları için bağlam nesnesi. Bu bağlam, işlev ara yazılım işlem hattı üzerinden geçirilir ve işlev çağrısı hakkındaki tüm bilgileri içerir. FunctionInvocationContext'i başlatın. |
| FunctionMiddleware |
İşlev çağrılarını kesebilen işlev ara yazılımı için soyut temel sınıf. İşlev ara yazılımı, yürütmeden önce ve sonra işlev/araç çağrılarını kesmenize ve değiştirmenize olanak tanır. Bağımsız değişkenleri doğrulayabilir, sonuçları önbelleğe alabilir, çağrıları günlüğe kaydedebilir veya işlev yürütmesini geçersiz kılabilirsiniz. Uyarı FunctionMiddleware soyut bir temel sınıftır. Bunu alt sınıflamalı ve uygulamalısınız özel işlev ara yazılımı oluşturmak için process() yöntemi. |
| FunctionResultContent |
İşlev çağrısının sonucunu temsil eder. FunctionResultContent örneğini başlatır. |
| GraphConnectivityError |
Grafik bağlantı sorunları algılandığında özel durum ortaya çıkar. |
| GroupChatBuilder |
Dinamik düzenleme ile yönetici tarafından yönlendirilen grup sohbeti iş akışları için üst düzey oluşturucu. GroupChat, bir sonraki katılımcıyı seçen bir yönetici kullanarak çok aracılı konuşmaları koordine eder. Yönetici, aracılığıyla set_select_speakers_funcbasit bir Python işlevi (set_manager) veya aracı tabanlı seçici olabilir. Bu iki yaklaşım birbirini dışlar. Çekirdek İş Akışı:
Konuşmacı Seçim Desenleri: Desen 1: Basit işlev tabanlı seçim (önerilir)
Desen 2: LLM tabanlı seçim
Desen 3: Konuşmanın ortasında geri bildirim için bilgi isteme
Katılımcı Belirtimi: Katılımcıları belirtmenin iki yolu:
Durum Anlık Görüntüsü Yapısı: set_select_speakers_func geçirilen GroupChatStateSnapshot aşağıdakileri içerir:
Önemli Kısıtlamalar:
GroupChatBuilder'ı başlatın. |
| GroupChatDirective |
Grup sohbet yöneticisi uygulaması tarafından yayılan yönerge. |
| HandoffBuilder |
Koordinatör ve uzman aracılarla konuşma iletimi iş akışları için akıcı oluşturucu. İletim düzeni, koordinatör aracının istekleri uzman aracılara yönlendirmesini sağlar. Etkileşim modu, iş akışının her aracı yanıtından sonra kullanıcı girişi isteyip istemediğini veya aracıların yanıt vermeyi tamamladıktan sonra otonom olarak tamamlanıp tamamlanmayacağını denetler. Sonlandırma koşulu, iş akışının ne zaman giriş isteğinde bulunup tamamlanması gerektiğini belirler. Yönlendirme Desenleri: Single-Tier (Varsayılan): Sadece koordinatör uzmanlara teslim edebilir. Varsayılan olarak, herhangi bir uzman yanıt verdikten sonra denetim daha fazla giriş için kullanıcıya geri döner. Bu döngüsel bir akış oluşturur: kullanıcı -> koordinatör -> [isteğe bağlı uzman] -> kullanıcı -> koordinatör -> ... Ek kullanıcı girişi isteme işlemini atlamak için with_interaction_mode("otonom") kullanın ve temsilci seçmeden bir aracı yanıt verdiği zaman son konuşmayı yapın. Çok Katmanlı (Gelişmiş): Uzmanlar .add_handoff() kullanarak diğer uzmanlara teslim edebilir. Bu, karmaşık iş akışları için daha fazla esneklik sağlar, ancak tek katmanlı desenden daha az denetlenebilir. Kullanıcılar, uzmandan uzmana iletimler sırasında ara adımlara ilişkin gerçek zamanlı görünürlüğü kaybeder (ancak tüm iletimler dahil olmak üzere konuşma geçmişinin tamamı korunur ve daha sonra incelenebilir). Önemli Özellikler:
Kullanım (Single-Tier):
.add_handoff() ile Çok Katmanlı Yönlendirme:
Durum Yalıtımı için Katılımcı Fabrikalarını Kullanma: Özel Sonlandırma Koşulu:
Denetim noktası oluşturma:
Konuşma iletimi iş akışları oluşturmak için bir HandoffBuilder başlatın. Oluşturucu yapılandırılmamış bir durumda başlar ve şunları çağırmanızı gerektirir:
İsteğe bağlı yapılandırma yöntemleri bağlam yönetimini, sonlandırma mantığını ve kalıcılığı özelleştirmenize olanak tanır. Uyarı İş akışı eşlediğinden katılımcıların kararlı adları/kimlikleri olmalıdır bu tanımlayıcılara iletim aracı bağımsız değişkenleri. Aracı adları eşleşmelidir koordinatörün iletim aracı tarafından yayılan dizeler (örneğin, çıkışları {"handoff_to": "billing"} için faturalama adlı bir aracı gerekir). |
| HandoffUserInputRequest |
İş akışının yeni kullanıcı girişi gerektiğinde gönderilen istek iletisi. Not: Yinelenenleri önlemek için konuşma alanı kasıtlı olarak denetim noktası serileştirmesinin dışında tutulur. Konuşma koordinatörün durumunda korunur ve geri yükleme işleminde yeniden oluşturulur. Sorun #2667'ye bakın. |
| HostedCodeInterpreterTool |
Yapay zeka hizmetine, oluşturulan kodu yürütmesini sağlamak için belirtilebilen barındırılan bir aracı temsil eder. Bu araç, kod yorumlamanın kendisini uygulamaz. Hizmetin bunu yapabilmesi durumunda oluşturulan kodu yürütmesine izin verilip verilmediğini bildirmek için bir işaretçi görevi görür. HostedCodeInterpreterTool'u başlatın. |
| HostedFileContent |
Barındırılan dosya içeriğini temsil eder. HostedFileContent örneğini başlatır. |
| HostedFileSearchTool |
Bir yapay zeka hizmetine dosya aramaları gerçekleştirmesini sağlamak için belirtilebilen bir dosya arama aracını temsil eder. FileSearchTool'ı başlatın. |
| HostedMCPSpecificApproval |
Barındırılan bir araç için belirli modu temsil eder. Bu modu kullanırken, kullanıcının hangi araçların her zaman veya hiçbir zaman onay gerektirmeyeceğini belirtmesi gerekir. Bu, iki isteğe bağlı anahtar içeren bir sözlük olarak temsil edilir: |
| HostedMCPTool |
Hizmet tarafından yönetilen ve yürütülen bir MCP aracını temsil eder. Barındırılan bir MCP aracı oluşturun. |
| HostedVectorStoreContent |
Barındırılan vektör deposu içeriğini temsil eder. HostedVectorStoreContent örneğini başlatır. |
| HostedWebSearchTool |
Bir yapay zeka hizmetine web aramaları gerçekleştirmesini sağlamak için belirtilebilen bir web arama aracını temsil eder. HostedWebSearchTool'u başlatın. |
| InMemoryCheckpointStorage |
Test ve geliştirme için bellek içi denetim noktası depolama alanı. Bellek depolama alanını başlatın. |
| InProcRunnerContext |
Yerel yürütme ve isteğe bağlı denetim noktası oluşturma için işlem içi yürütme bağlamı. İşlem içi yürütme bağlamını başlatın. |
| MCPStdioTool |
Stdio tabanlı MCP sunucularına bağlanmak için MCP aracı. Bu sınıf, genellikle yerel işlemler için kullanılan standart giriş/çıkış aracılığıyla iletişim kuran MCP sunucularına bağlanır. MCP stdio aracını başlatın. Uyarı Bağımsız değişkenler stdioServerParameters nesnesi oluşturmak için kullanılır, daha sonra bir stdio istemcisi oluşturmak için kullanılır. Bkz. mcp.client.stdio.stdio_client ve daha fazla ayrıntı için mcp.client.stdio.stdio_server_parameters. |
| MCPStreamableHTTPTool |
HTTP tabanlı MCP sunucularına bağlanmak için MCP aracı. Bu sınıf, akışla aktarılabilir HTTP/SSE aracılığıyla iletişim kuran MCP sunucularına bağlanır. MCP akışla aktarılabilir HTTP aracını başlatın. Uyarı Bağımsız değişkenler akışla aktarılabilir bir HTTP istemcisi oluşturmak için kullanılır. Diğer ayrıntılar için bkz. mcp.client.streamable_http.streamablehttp_client. Oluşturucuya geçirilen tüm ek bağımsız değişkenler akışla aktarılabilir HTTP istemci oluşturucusu. |
| MCPWebsocketTool |
WebSocket tabanlı MCP sunucularına bağlanmak için MCP aracı. Bu sınıf, WebSocket aracılığıyla iletişim kuran MCP sunucularına bağlanır. MCP WebSocket aracını başlatın. Uyarı Bağımsız değişkenler WebSocket istemcisi oluşturmak için kullanılır. Diğer ayrıntılar için bkz. mcp.client.websocket.websocket_client. Oluşturucuya geçirilen tüm ek bağımsız değişkenler WebSocket istemci oluşturucu. |
| MagenticBuilder |
Magentic One çok aracılı düzenleme iş akışları oluşturmak için akıcı oluşturucu. Magentic One iş akışları, dinamik görev planlama, ilerleme izleme ve uyarlamalı yeniden planlama aracılığıyla birden çok aracıyı koordine etmek için LLM destekli bir yönetici kullanır. Yönetici planlar oluşturur, aracıları seçer, ilerleme durumunu izler ve ne zaman yeniden planlanıp tamamlanmayeceğini belirler. Oluşturucu, katılımcıları, yöneticiyi, isteğe bağlı plan gözden geçirme, denetim noktası oluşturma ve olay geri çağırmalarını yapılandırmak için akıcı bir API sağlar. Döngüdeki İnsan Desteği: Magentic, aşağıdakiler aracılığıyla özelleştirilmiş HITL mekanizmaları sağlar:
Bunlar, Magentic'in planlama tabanlı düzenlemesine uygun yapılandırılmış karar seçenekleri (ONAYLA, DÜZELT, DEVAM ET, REPLAN, REHBER) sağlayan MagenticHumanInterventionRequest olaylarını yayar. Kullanım:
Özel yönetici ile:
|
| MagenticContext |
Magentic yöneticisi bağlamı. |
| MagenticManagerBase |
Magentic One yöneticisi için temel sınıf. |
| ManagerDirectiveModel |
Yapılandırılmış yönetici yönerge çıkışı için pydantik model. Anahtar sözcük bağımsız değişkenlerinden giriş verilerini ayrıştırarak ve doğrulayarak yeni bir model oluşturun. [ValidationError][pydantic_core yükseltir. ValidationError] giriş verileri geçerli bir model oluşturacak şekilde doğrulanamıyorsa. self , alan adı olarak self'e izin vermek için açıkça yalnızca konumsaldır. |
| ManagerSelectionRequest |
Sonraki konuşmacı seçimi için yönetici aracısına gönderilen istek. Bu veri sınıfı, yönetici aracısının bir konuşmacı seçimi kararını çözümlemesi ve yapması için tam konuşma durumunu ve görev bağlamını paketler. |
| ManagerSelectionResponse |
Konuşmacı seçimi kararıyla yönetici aracısından yanıt. Yönetici aracısı, kararını düzenleyiciye geri iletmek için bu yapıyı (veya uyumlu dict/JSON) üretmelidir. Anahtar sözcük bağımsız değişkenlerinden giriş verilerini ayrıştırarak ve doğrulayarak yeni bir model oluşturun. [ValidationError][pydantic_core yükseltir. ValidationError] giriş verileri geçerli bir model oluşturacak şekilde doğrulanamıyorsa. self , alan adı olarak self'e izin vermek için açıkça yalnızca konumsaldır. |
| Message |
İş akışındaki bir iletiyi temsil eden sınıf. |
| OrchestrationState |
Düzenleyici denetim noktası oluşturma için birleşik durum kapsayıcısı. Bu veri sınıfı, üç grup sohbeti deseninde de denetim noktası serileştirmesini standart hale getirirken meta veriler aracılığıyla desene özgü uzantılara izin verir. Ortak öznitelikler paylaşılan düzenleme endişelerini (görev, konuşma, yuvarlak izleme) kapsar. Desene özgü durum meta veri diktesine gider. |
| RequestInfoEvent |
bir iş akışı yürütücüsü dış bilgi istediğinde tetiklenen olay. İstek bilgisi olayını başlatın. |
| RequestInfoInterceptor |
Aracı çalışmadan önce insan girişi için iş akışını duraklatan iç yürütücü. bu yürütücü, .with_request_info() çağrıldığında oluşturucular tarafından iş akışı grafiğine eklenir. Aracı çalıştırılmadan önce AgentExecutorRequest iletilerini durdurur ve bir AgentInputRequest ile ctx.request_info() aracılığıyla iş akışını duraklatır. Yanıt alındığında, yanıt işleyicisi girişi konuşmaya kullanıcı iletisi olarak ekler ve isteği aracıya iletir. İsteğe bağlı agent_filter parametresi, duraklatma işlemini tetikleyen aracıları sınırlamaya olanak tanır. Hedef aracının kimliği filtre kümesinde değilse istek duraklatılmadan iletilir. İstek bilgisi kesme noktası yürütücüsunu başlatın. |
| Role |
Sohbet etkileşimi içindeki bir iletinin amaçlanan amacını açıklar. Özellikler: SİSTEM: Yapay zeka sisteminin davranışını belirten veya ayarlayan rol. KULLANICI: Sohbet etkileşimleri için kullanıcı girişi sağlayan rol. YARDIMCI: Sistem tarafından yönergeli, kullanıcı tarafından istemli girişe yanıt sağlayan rol. ARAÇ: Araç kullanım isteklerine yanıt olarak ek bilgi ve başvuru sağlayan rol. Rolü bir değerle başlatın. |
| Runner |
Pregel süpersteps'de iş akışı çalıştırmak için bir sınıf. Çalıştırıcıyı kenarlar, paylaşılan durum ve bağlamla başlatın. |
| RunnerContext |
Çalıştırıcı tarafından kullanılan yürütme bağlamı protokolü. Mesajlaşmayı, olayları ve isteğe bağlı denetim noktası oluşturmayı destekleyen tek bir bağlam. Denetim noktası depolaması yapılandırılmamışsa denetim noktası yöntemleri tetiklenebilir. |
| SequentialBuilder |
Paylaşılan bağlama sahip sıralı aracı/yürütücü iş akışları için üst düzey oluşturucu.
Kullanım:
|
| SharedState |
bir iş akışında paylaşılan durumu yönetmek için bir sınıf. SharedState, iş akışı yürütme sırasında yürütücüler arasında paylaşılması gereken iş akışı durumu verilerine iş parçacığı güvenli erişim sağlar. Ayrılmış Anahtarlar: Aşağıdaki anahtarlar iç çerçeve kullanımı için ayrılmıştır ve kullanıcı kodu tarafından değiştirilmemelidir:
Uyarı Alt çizgi (_) ile başlayan anahtarları, ayrılmış olabilecekleri için kullanmayın iç çerçeve işlemleri. Paylaşılan durumu başlatın. |
| SingleEdgeGroup |
Grup API'sinin tekdüzen kalmasını sağlayarak tek bir kenar için kolaylık sarmalayıcı. İki yürütücü arasında bire bir kenar grubu oluşturun. |
| StandardMagenticManager |
ChatAgent aracılığıyla gerçek LLM çağrıları gerçekleştiren standart Magentic yöneticisi. Yönetici, özgün Magentic One düzenlemesini yansıtan istemler oluşturur:
Standart Eflatun Yöneticisi'ni başlatın. |
| SubWorkflowRequestMessage |
Bilgi istemek için bir alt iş akışından üst iş akışındaki yürütücüye gönderilen ileti. Bu ileti, yürütücü tarafından alt iş akışında yayılan bir RequestInfoEvent sarmalar. |
| SubWorkflowResponseMessage |
İstenen bilgileri sağlamak için bir üst iş akışından WorkflowExecutor aracılığıyla bir alt iş akışına gönderilen ileti. Bu ileti, yanıt verilerini alt iş akışı yürütücüsü tarafından yayılan özgün RequestInfoEvent ile birlikte sarmalar. |
| SuperStepCompletedEvent |
Üst adım sona erdiğinde tetiklenen olay. Üst adım olayını başlatın. |
| SuperStepStartedEvent |
Bir üst adım başlatıldığında tetiklenen olay. Üst adım olayını başlatın. |
| SwitchCaseEdgeGroup |
Geleneksel anahtar/büyük/küçük harf kontrol akışını taklit eden fan-out değişkeni. Her durumda ileti yükü incelenir ve iletinin işlenip işlenmeyeceğine karar verir. Tam olarak bir büyük/küçük harf veya varsayılan dal, tek gönderim semantiğini koruyarak çalışma zamanında bir hedef döndürür. Tek bir kaynak yürütücü için bir anahtar/büyük/küçük harf yönlendirme yapısı yapılandırın. |
| SwitchCaseEdgeGroupCase |
Anahtar durumundaki tek bir koşullu dalın kalıcı açıklaması. Çalışma zamanı Case nesnesinin aksine, bu serileştirilebilir değişken yalnızca hedef tanımlayıcıyı ve koşul için açıklayıcı bir adı depolar. Seri durumdan çıkarma sırasında temel alınan çağrılabilen kullanılabilir olmadığında, yüksek sesle başarısız olan bir ara sunucu yer tutucusunun yerini alır ve eksik bağımlılığın hemen görünür olmasını sağlarız. Koşullu servis talebi dalı için yönlendirme meta verilerini kaydedin. |
| SwitchCaseEdgeGroupDefault |
Anahtar servis talebi grubunun geri dönüş dalı için kalıcı tanımlayıcı. Varsayılan dalın varolduğu garanti edilir ve diğer her büyük/küçük harf koşulu yükle eşleşmediğinde çağrılır. Varsayılan dalı verilen yürütücü tanımlayıcısının üzerine gelin. |
| TextContent |
Sohbetteki metin içeriğini temsil eder. TextContent örneğini başlatır. |
| TextReasoningContent |
Sohbetteki metin mantığı içeriğini temsil eder. Açıklamalar: Bu sınıf ve TextContent yüzeysel olarak benzer, ancak farklıdır. TextReasoningContent örneğini başlatır. |
| TextSpanRegion |
Açıklama eklenmiş bir metin bölgesini temsil eder. TextSpanRegion'ı başlatın. |
| ToolMode |
Bir sohbet isteğinde araçların kullanılıp kullanılmadığı ve nasıl kullanılacağını tanımlar. ToolMode'ı başlatın. |
| ToolProtocol |
Genel bir aracı temsil eder. Bu protokol, aracı çerçevesiyle uyumlu olması için tüm araçların uygulaması gereken arabirimi tanımlar. HostedMCPTool, HostedWebSearchTool ve AIFunction gibi çeşitli araç sınıfları tarafından uygulanır. AIFunction genellikle ai_function dekoratörü tarafından oluşturulur. Her bağlayıcının araçları farklı ayrıştırması gerektiğinden, kullanıcılar soyutlama olmadığında hizmete özgü bir araç belirtmek için bir dikte geçirebilir. |
| TypeCompatibilityError |
Bağlı yürütücüler arasında tür uyumsuzluğu algılandığında özel durum oluştu. |
| UriContent |
URI içeriğini temsil eder. Önemli Bu, görüntü veya dosya gibi bir URI tarafından tanımlanan içerik için kullanılır. (ikili) veri URI'leri için bunun yerine DataContent kullanın. UriContent örneğini başlatır. Açıklamalar: Bu, görüntü veya dosya gibi bir URI tarafından tanımlanan içerik için kullanılır. (ikili) veri URI'leri için bunun yerine DataContent kullanın. |
| UsageContent |
Sohbet isteği ve yanıtıyla ilişkili kullanım bilgilerini temsil eder. UsageContent örneğini başlatır. |
| UsageDetails |
İstek/yanıtla ilgili kullanım ayrıntılarını sağlar. UsageDetails örneğini başlatır. |
| Workflow |
Bağlı yürütücüleri düzenleyen graf tabanlı yürütme altyapısı. Genel Bakışİş akışı, Öngel benzeri bir model kullanarak uç gruplar aracılığıyla bağlanan yürütücülerin yönlendirilmiş bir grafiğini yürütür ve grafik boşta kalana kadar süpersteps içinde çalışır. İş akışları WorkflowBuilder sınıfı kullanılarak oluşturulur; bu sınıfı doğrudan başlatmayın. Yürütme ModeliYürütücüler eşitlenmiş süpersteps içinde çalışır; burada her yürütücü:
Yürütücüler arasındaki iletiler her üst adımın sonunda teslim edilir ve olay akışında görünmez. Yalnızca iş akışı düzeyindeki olaylar (çıkışlar, özel olaylar) ve durum olayları arayanlar tarafından gözlemlenebilir. Giriş/Çıkış Türleriİş akışı türleri çalışma zamanında incelenerek bulunur:
Yürütme Yöntemleriİş akışı, her birinin birden çok senaryoyu destekleyen iki birincil yürütme API'sini sağlar:
Her iki yöntem de şu desteği sağlar:
Durum Yönetimiİş akışı örnekleri durumları içerir ve durumlar çalıştırılacak ve run_stream çağrılar arasında korunur. Birden çok bağımsız çalıştırma yürütmek için WorkflowBuilder aracılığıyla ayrı İş Akışı örnekleri oluşturun. Dış Giriş İstekleribir iş akışı içindeki yürütücüler ctx.request_info() kullanarak dış giriş isteyebilir:
Denetim noktası oluşturmaDenetim noktası oluşturma, derleme zamanında veya çalışma zamanında yapılandırılabilir: Derleme zamanı (WorkflowBuilder aracılığıyla): workflow = WorkflowBuilder().with_checkpointing(storage).build() Çalışma zamanı (run/run_stream parametreleri aracılığıyla): result = await workflow.run(message, checkpoint_storage=runtime_storage) Etkinleştirildiğinde, her üst adımın sonunda denetim noktaları oluşturulur ve yakalama:
Kompozisyonİş akışları, bir alt iş akışını yürütücü olarak sarmalayan WorkflowExecutor kullanılarak iç içe geçirilebilir. İç içe iş akışının giriş/çıkış türleri WorkflowExecutor'ın türlerinin bir parçası haline gelir. Çağrıldığında WorkflowExecutor, tamamlanmak için iç içe geçmiş iş akışını çalıştırır ve çıkışlarını işler. İş akışını bir kenar listesiyle başlatın. |
| WorkflowAgent |
Bir iş akışını sarmalayan ve aracı olarak kullanıma sunan bir Aracı alt sınıfı. WorkflowAgent'ı başlatın. |
| WorkflowBuilder |
İş akışları oluşturmak için bir oluşturucu sınıfı. Bu sınıf, yürütücüleri kenarlara bağlayarak ve yürütme parametrelerini yapılandırarak iş akışı graflarını tanımlamak için akıcı bir API sağlar. Sabit bir build örnek oluşturmak için çağrısıWorkflow. WorkflowBuilder'ı boş bir kenar listesiyle başlatın ve başlatan yürütücü yok. |
| WorkflowCheckpoint |
İş akışı durumunun tam denetim noktasını temsil eder. Denetim noktaları belirli bir noktada iş akışının tam yürütme durumunu yakalar ve iş akışlarının duraklatılmasını ve sürdürülmesine olanak tanır. Uyarı shared_state dikte, çerçeve tarafından yönetilen ayrılmış anahtarlar içerebilir. Ayrılmış anahtarlarla ilgili ayrıntılar için bkz. SharedState sınıfı belgeleri. |
| WorkflowCheckpointSummary |
İş akışı denetim noktasının okunabilir özeti. |
| WorkflowContext |
Yürütücülerin iş akışları ve diğer yürütücülerle etkileşim kurmasını sağlayan yürütme bağlamı. Genel BakışWorkflowContext, yürütücülerin ileti göndermesi, çıkış vermesi, durumu yönetmesi ve daha geniş iş akışı ekosistemiyle etkileşim kurması için denetimli bir arabirim sağlar. İç çalışma zamanı bileşenlerine doğrudan erişimi engellerken genel parametreler aracılığıyla tür güvenliğini zorlar. Tür ParametreleriBağlam, farklı işlemler için tür güvenliğini zorunlu kılmak üzere parametrelendirilir: WorkflowContext (parametre yok)İleti göndermeden veya çıkışlar vermeden yalnızca yan etkiler gerçekleştiren yürütücüler için:
WorkflowContext[T_Out]T_Out türünde iletilerin diğer yürütücülere gönderilmesini sağlar:
WorkflowContext[T_Out, T_W_Out]hem ileti göndermeyi (T_Out) hem de iş akışı çıkışlarını (T_W_Out) verir:
Birleşim TürleriBirleşim gösterimi kullanılarak birden çok tür belirtilebilir:
Yürütücü bağlamını verilen iş akışı bağlamıyla başlatın. |
| WorkflowErrorDetails |
Hata olaylarında/sonuçlarında ortaya çıkarabilmek için yapılandırılmış hata bilgileri. |
| WorkflowEvent |
İş akışı olayları için temel sınıf. İsteğe bağlı verilerle iş akışı olayını başlatın. |
| WorkflowExecutor |
Hiyerarşik iş akışı oluşturmayı etkinleştirmek için bir iş akışını sarmalayan yürütücü. Genel BakışWorkflowExecutor, bir iş akışının üst iş akışı içinde tek bir yürütücü olarak davranmasını sağlayarak iç içe geçmiş iş akışı mimarilerini etkinleştirir. Üst ve alt iş akışları arasında olay işleme, çıkış iletme ve istek/yanıt koordinasyonu dahil olmak üzere alt iş akışı yürütmenin tüm yaşam döngüsünü işler. Yürütme ModeliÇağrıldığında WorkflowExecutor:
Olay Akışı İşlemeWorkflowExecutor, alt iş akışı tamamlandıktan sonra olayları işler: Çıkış İletmeAlt iş akışındaki tüm çıkışlar otomatik olarak üst öğeye iletilir: allow_direct_output False olduğunda (varsayılan):
allow_direct_output Doğru olduğunda:İstek/Yanıt KoordinasyonuAlt iş akışlarının dış bilgilere ihtiyacı olduğunda:
Durum YönetimiWorkflowExecutor, istek/yanıt döngüleri arasında yürütme durumunu korur:
Tür Sistemi TümleştirmesiWorkflowExecutor, tür imzasını sarmalanan iş akışından devralır: Giriş TürleriSarmalanan iş akışının başlangıç yürütücüsü giriş türleriyle eşleşir:
Çıkış TürleriAlt iş akışı çıkışlarını istek koordinasyon türleriyle birleştirir:
Hata İşlemeWorkflowExecutor, alt iş akışı hatalarını yar:
Eşzamanlı Yürütme DesteğiWorkflowExecutor birden çok eşzamanlı alt iş akışı yürütmeyi tam olarak destekler: Per-Execution Durum YalıtımıHer alt iş akışı çağrısı yalıtılmış bir ExecutionContext oluşturur:
İstek/Yanıt KoordinasyonuYanıtlar, kaynak yürütmeye doğru şekilde yönlendirilir:
Bellek Yönetimi
Önemli NoktalarPaylaşılan İş Akışı Örneği: Tüm eşzamanlı yürütmeler aynı temel iş akışı örneğini kullanır. Düzgün yalıtım için sarmalanan iş akışının ve yürütücülerinin durum bilgisi olmayan olduğundan emin olun.
Üst İş Akışları ile TümleştirmeÜst iş akışları, alt iş akışı isteklerini kesebilir: Uygulama Notları
WorkflowExecutor'ı başlatın. |
| WorkflowFailedEvent |
Bir iş akışı çalıştırması bir hatayla sonlandırıldığında yayılan yerleşik yaşam döngüsü olayı. |
| WorkflowOutputEvent |
bir iş akışı yürütücüsü çıktıyı teslim ettiğinde tetiklenen olay. İş akışı çıkış olayını başlatın. |
| WorkflowRunResult |
Akış dışı iş akışı yürütmesi sırasında oluşturulan olaylar için kapsayıcı. Genel BakışBaşlangıçtan boşta durumuna kadar oluşturulan tüm olayları içeren bir iş akışı çalıştırmasının tam yürütme sonuçlarını temsil eder. İş akışları, yürütme sırasında ctx.yield_output() çağrıları aracılığıyla artımlı olarak çıkış oluşturur. Olay YapısıVeri düzlemi ve denetim düzlemi olayları arasındaki ayrımı korur:
Temel Yöntemler
|
| WorkflowStartedEvent |
Bir iş akışı çalıştırması başladığında yayılan yerleşik yaşam döngüsü olayı. İsteğe bağlı verilerle iş akışı olayını başlatın. |
| WorkflowStatusEvent |
İş akışı çalıştırma durumu geçişleri için yayılan yerleşik yaşam döngüsü olayı. İş akışı durum olayını yeni bir durum ve isteğe bağlı verilerle başlatın. |
| WorkflowValidationError |
İş akışı doğrulama hataları için temel özel durum. |
| WorkflowViz |
graphviz ve Mermaid kullanarak iş akışlarını görselleştirmeye yönelik bir sınıf. WorkflowViz'i bir iş akışıyla başlatın. |
Numaralandırmalar
| MagenticHumanInterventionDecision |
İnsan müdahalesi yanıtları için karar seçenekleri. |
| MagenticHumanInterventionKind |
İstenen insan müdahalesi türü. |
| ValidationTypeEnum |
İş akışı doğrulama türlerinin sabit listesi. |
| WorkflowEventSource |
Bir iş akışı olayının çerçeveden mi yoksa yürütücüden mi geldiğini tanımlar. Yerleşik düzenleme yolları tarafından yayılan olaylar (onları oluşturan kod runner ile ilgili modüllerde yaşasa bile) ve geliştirici tarafından sağlanan yürütücü uygulamaları tarafından ortaya çıkan olaylar için YÜRÜTÜCÜ kullanın. |
| WorkflowRunState |
İş akışı yürütmesinin çalışma düzeyi durumu. Anlambilim:
|
İşlevler
agent_middleware
Bir işlevi aracı ara yazılımı olarak işaretlemek için dekoratör.
Bu dekoratör, AgentRunContext nesnelerini işleyen aracı ara yazılımı olarak bir işlevi açıkça tanımlar.
agent_middleware(func: Callable[[AgentRunContext, Callable[[AgentRunContext], Awaitable[None]]], Awaitable[None]]) -> Callable[[AgentRunContext, Callable[[AgentRunContext], Awaitable[None]]], Awaitable[None]]
Parametreler
| Name | Description |
|---|---|
|
func
Gerekli
|
Aracı ara yazılımı olarak işaretlemek için ara yazılım işlevi. |
Döndürülenler
| Tür | Description |
|---|---|
|
Aracı ara yazılım işaretçisiyle aynı işlev. |
Örnekler
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
İşlevi modellere geçirilebilen ve otomatik olarak yürütülebilen bir AIFunction'a dönüştürmek için süsleyin.
Bu dekoratör, işlevin imzasından bir Pydantic modeli oluşturur. Bu model, işleve geçirilen bağımsız değişkenleri doğrulamak ve işlevin parametreleri için JSON şemasını oluşturmak için kullanılır.
Parametrelere açıklama eklemek için, ikinci bağımsız değişken olarak dize açıklaması ile türünü Annotated kullanıntyping. Daha gelişmiş yapılandırma için Pydantic'in Field sınıfını da kullanabilirsiniz.
Uyarı
approval_mode "always_require" olarak ayarlandığında işlev yürütülmeyecek
açık onay verilene kadar, bu yalnızca otomatik çağırma akışı için geçerlidir.
Modelin birden çok işlev çağrısı döndürmesi durumunda, bazılarının onay gerektirdiğini de unutmayın
ve olmayan diğerleri, hepsi için onay isteyecektir.
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]]
Parametreler
| Name | Description |
|---|---|
|
func
|
Callable[[...], <xref:agent_framework._tools.ReturnT> | Awaitable[<xref:agent_framework._tools.ReturnT>]] | None
Süslemek için işlev. Default value: None
|
|
name
Gerekli
|
|
|
description
Gerekli
|
|
|
approval_mode
Gerekli
|
Literal['always_require', 'never_require'] | None
|
|
max_invocations
Gerekli
|
|
|
max_invocation_exceptions
Gerekli
|
|
|
additional_properties
Gerekli
|
|
Yalnızca Anahtar Sözcük Parametreleri
| Name | Description |
|---|---|
|
name
|
İşlevin adı. Sağlanmazsa işlevin Default value: None
|
|
description
|
İşlevin açıklaması. Sağlanmadıysa işlevin docstring'i kullanılır. Default value: None
|
|
approval_mode
|
Bu aracı çalıştırmak için onay gerekip gerekmediği. Varsayılan olarak onay gerekli değildir. Default value: None
|
|
max_invocations
|
Bu işlevin çağrılabileceği en fazla sayıdır. Hiçbiri ise, sınır yoktur, en az 1 olmalıdır. Default value: None
|
|
max_invocation_exceptions
|
Çağırmalar sırasında izin verilen en fazla özel durum sayısı. Hiçbiri ise, sınır yoktur, en az 1 olmalıdır. Default value: None
|
|
additional_properties
|
İşlevde ayarlanacağı ek özellikler. Default value: None
|
Döndürülenler
| Tür | Description |
|---|---|
|
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>]]
|
Örnekler
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
Bir işlevi sohbet ara yazılımı olarak işaretlemek için dekoratör.
Bu dekoratör, ChatContext nesnelerini işleyen bir işlevi açıkça sohbet ara yazılımı olarak tanımlar.
chat_middleware(func: Callable[[ChatContext, Callable[[ChatContext], Awaitable[None]]], Awaitable[None]]) -> Callable[[ChatContext, Callable[[ChatContext], Awaitable[None]]], Awaitable[None]]
Parametreler
| Name | Description |
|---|---|
|
func
Gerekli
|
Sohbet ara yazılımı olarak işaretlemek için ara yazılım işlevi. |
Döndürülenler
| Tür | Description |
|---|---|
|
Sohbet ara yazılım işaretçisiyle aynı işlev. |
Örnekler
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
Fabrika işlevi, bir kenar grubu için uygun kenar çalıştırıcısını oluşturur.
create_edge_runner(edge_group: EdgeGroup, executors: dict[str, Executor]) -> EdgeRunner
Parametreler
| Name | Description |
|---|---|
|
edge_group
Gerekli
|
<xref:agent_framework._workflows._edge.EdgeGroup>
Çalıştırıcı oluşturulacak kenar grubu. |
|
executors
Gerekli
|
Yürütücü kimliklerinin yürütücü örnekleriyle eşle. |
Döndürülenler
| Tür | Description |
|---|---|
|
<xref:agent_framework._workflows._edge_runner.EdgeRunner>
|
Uygun EdgeRunner örneği. |
executor
Tek başına bir işlevi FunctionExecutor örneğine dönüştüren dekoratör.
Dekoratör @executoryalnızca tek başına modül düzeyinde işlevler için tasarlanmıştır. Sınıf tabanlı yürütücüler için, örnek yöntemleriyle @handler Yürütücü temel sınıfını kullanın.
Hem zaman uyumlu hem de zaman uyumsuz işlevleri destekler. Zaman uyumlu işlevler, olay döngüsünün engellenmesini önlemek için bir iş parçacığı havuzunda yürütülür.
Önemli
Tek başına işlevler (modül düzeyi veya yerel işlevler) için kullanın @executor
veya ile @executor KULLANMAYIN staticmethodclassmethod
Sınıf tabanlı yürütücüler için alt sınıf Yürütücüsü ve örnek yöntemlerinde kullanın @handler
Kullanım:
# 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
Parametreler
| Name | Description |
|---|---|
|
func
|
Süsleme işlevi (parantez olmadan kullanıldığında) Default value: None
|
|
id
Gerekli
|
Yürütücü için isteğe bağlı özel kimlik. Hiçbiri ise işlev adını kullanır. |
Yalnızca Anahtar Sözcük Parametreleri
| Name | Description |
|---|---|
|
id
|
Default value: None
|
Döndürülenler
| Tür | Description |
|---|---|
|
bir İş Akışına bağlanabilen bir FunctionExecutor örneği. |
Özel durumlar
| Tür | Description |
|---|---|
|
veya staticmethod ile classmethod kullanılıyorsa (desteklenmeyen desen) |
function_middleware
Bir işlevi işlev ara yazılımı olarak işaretlemek için dekoratör.
Bu dekoratör, bir işlevi FunctionInvocationContext nesnelerini işleyen işlev ara yazılımı olarak açıkça tanımlar.
function_middleware(func: Callable[[FunctionInvocationContext, Callable[[FunctionInvocationContext], Awaitable[None]]], Awaitable[None]]) -> Callable[[FunctionInvocationContext, Callable[[FunctionInvocationContext], Awaitable[None]]], Awaitable[None]]
Parametreler
| Name | Description |
|---|---|
|
func
Gerekli
|
Callable[[FunctionInvocationContext, Callable[[FunctionInvocationContext], Awaitable[None]]], Awaitable[None]]
İşlev ara yazılımı olarak işaretlemek için ara yazılım işlevi. |
Döndürülenler
| Tür | Description |
|---|---|
|
İşlev ara yazılım işaretçisiyle aynı işlev. |
Örnekler
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
Parametreler
| Name | Description |
|---|---|
|
checkpoint
Gerekli
|
|
Döndürülenler
| Tür | Description |
|---|---|
get_logger
Varsayılan olarak 'agent_framework' olarak belirtilen ada sahip bir günlükçü alın.
get_logger(name: str = 'agent_framework') -> Logger
Parametreler
| Name | Description |
|---|---|
|
name
|
Günlükçü adı. Varsayılan olarak 'agent_framework'. Default value: "agent_framework"
|
Döndürülenler
| Tür | Description |
|---|---|
|
Yapılandırılan günlükçü örneği. |
handler
Yürütücü için bir işleyici kaydetmek için dekoratör.
handler(func: Callable[[ExecutorT, Any, ContextT], Awaitable[Any]]) -> Callable[[ExecutorT, Any, ContextT], Awaitable[Any]]
Parametreler
| Name | Description |
|---|---|
|
func
Gerekli
|
Callable[[<xref:agent_framework._workflows._executor.ExecutorT>, Any, <xref:agent_framework._workflows._executor.ContextT>], Awaitable[Any]]
Süslemek için işlev. Parametresiz kullanıldığında Hiçbiri olabilir. |
Döndürülenler
| Tür | Description |
|---|---|
|
İşleyici meta verileriyle süslenmiş işlev. |
Örnekler
@handler async def handle_string(self, message: str, ctx: WorkflowContext[str]) -> None:
...
@handler async def handle_data(self, message: dict, ctx: WorkflowContext[str | int]) -> None:
...
prepare_function_call_results
İşlev çağrısı sonuçlarının değerlerini hazırlayın.
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
Parametreler
Döndürülenler
| Tür | Description |
|---|---|
prepend_agent_framework_to_user_agent
Üst bilgilerdeki User-Agent "agent-framework" öğesini ekleyin.
Ortam değişkeni aracılığıyla AGENT_FRAMEWORK_USER_AGENT_DISABLED kullanıcı aracısı telemetrisi devre dışı bırakıldığında, User-Agent üst bilgisi aracı çerçevesi bilgilerini içermez.
Olduğu gibi veya Hiçbiri geçirildiğinde boş bir dikte olarak geri gönderilir.
prepend_agent_framework_to_user_agent(headers: dict[str, Any] | None = None) -> dict[str, Any]
Parametreler
| Name | Description |
|---|---|
|
headers
|
Varolan üst bilgi sözlüğü. Default value: None
|
Döndürülenler
| Tür | Description |
|---|---|
|
Üst bilgiler Yok ise "User-Agent" ayarı "agent-framework-python/{version}" olarak ayarlanmış yeni bir dikte. "agent-framework-python/{version}" ile değiştirilen üst bilgi sözlüğü User-Agent'a eklenmiştir. |
Örnekler
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
bir isteğin yanıtlarını işlemek üzere bir işleyici kaydetmek için dekoratör.
response_handler(func: Callable[[ExecutorT, Any, Any, ContextT], Awaitable[None]]) -> Callable[[ExecutorT, Any, Any, ContextT], Awaitable[None]]
Parametreler
| Name | Description |
|---|---|
|
func
Gerekli
|
Callable[[<xref:agent_framework._workflows._request_info_mixin.ExecutorT>, Any, Any, <xref:agent_framework._workflows._request_info_mixin.ContextT>], Awaitable[None]]
Süslemek için işlev. |
Döndürülenler
| Tür | Description |
|---|---|
|
İşleyici meta verileriyle süslenmiş işlev. |
Örnekler
@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
Aracı çerçevesi için günlük yapılandırmasını ayarlayın.
setup_logging() -> None
Döndürülenler
| Tür | Description |
|---|---|
use_agent_middleware
Aracı sınıfına ara yazılım desteği ekleyen sınıf dekoratörü.
Bu dekoratör, herhangi bir aracı sınıfına ara yazılım işlevselliği ekler.
Ara yazılım yürütmesi sağlamak için ve run() yöntemlerini sarmalarrun_stream().
Ara yazılım yürütmesi, özelliği True olarak ayarlanarak context.terminate herhangi bir noktada sonlandırılabilir. Ayarlandıktan sonra, denetim işlem hattına döner dönmez işlem hattı daha fazla ara yazılım yürütmeyi durdurur.
Uyarı
Bu dekoratör yerleşik aracı sınıflarına zaten uygulanmış. Yalnızca
özel aracı uygulamaları oluşturuyorsanız.
use_agent_middleware(agent_class: type[TAgent]) -> type[TAgent]
Parametreler
| Name | Description |
|---|---|
|
agent_class
Gerekli
|
type[<xref:TAgent>]
Ara yazılım desteğinin ekleneceği aracı sınıfı. |
Döndürülenler
| Tür | Description |
|---|---|
|
type[~<xref:TAgent>]
|
Ara yazılım desteğine sahip değiştirilmiş aracı sınıfı. |
Örnekler
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
Bir sohbet istemci sınıfına ara yazılım desteği ekleyen sınıf dekoratörü.
Bu dekoratör, herhangi bir sohbet istemci sınıfına ara yazılım işlevselliği ekler.
Ara yazılım yürütmesi sağlamak için ve get_response() yöntemlerini sarmalarget_streaming_response().
Uyarı
Bu dekoratör yerleşik sohbet istemci sınıflarına zaten uygulanmış. Yalnızca
özel sohbet istemcisi uygulamaları oluşturuyorsanız.
use_chat_middleware(chat_client_class: type[TChatClient]) -> type[TChatClient]
Parametreler
| Name | Description |
|---|---|
|
chat_client_class
Gerekli
|
type[<xref:TChatClient>]
Ara yazılım desteğinin ekleneceği sohbet istemci sınıfı. |
Döndürülenler
| Tür | Description |
|---|---|
|
type[~<xref:TChatClient>]
|
Ara yazılım desteğine sahip değiştirilmiş sohbet istemci sınıfı. |
Örnekler
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
Sohbet istemcisi için araç çağırmayı etkinleştiren sınıf dekoratörü.
Bu dekoratör modelden gelen işlev çağrılarını otomatik olarak işlemek, yürütmek ve sonuçları daha fazla işlem için modele geri döndürmek için ve get_response yöntemlerini sarmalarget_streaming_response.
use_function_invocation(chat_client: type[TChatClient]) -> type[TChatClient]
Parametreler
| Name | Description |
|---|---|
|
chat_client
Gerekli
|
type[<xref:TChatClient>]
Süslemek için sohbet istemci sınıfı. |
Döndürülenler
| Tür | Description |
|---|---|
|
type[~<xref:TChatClient>]
|
İşlev çağırmanın etkinleştirildiği dekore edilmiş sohbet istemci sınıfı. |
Özel durumlar
| Tür | Description |
|---|---|
|
Sohbet istemcisi gerekli yöntemlere sahip değilse. |
Örnekler
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
İş akışı grafiğini doğrulamak için convenience işlevi.
validate_workflow_graph(edge_groups: Sequence[EdgeGroup], executors: dict[str, Executor], start_executor: Executor) -> None
Parametreler
| Name | Description |
|---|---|
|
edge_groups
Gerekli
|
Sequence[<xref:agent_framework._workflows._edge.EdgeGroup>]
iş akışındaki kenar gruplarının listesi |
|
executors
Gerekli
|
Yürütücü kimliklerini yürütücü örnekleriyle eşleme |
|
start_executor
Gerekli
|
Başlangıç yürütücüsü (örnek veya kimlik olabilir) |
Döndürülenler
| Tür | Description |
|---|---|
Özel durumlar
| Tür | Description |
|---|---|
|
Doğrulama başarısız olursa |