langchain-core’ün geri çağrı yöneticisinde çalışır, bu nedenle birini izlemek diğerini de izler.
Kurulum
failproofai-sdk[langchain] kullanın.
Desteklenen sürümler: langchain-core 1.4.7 ile 2.0, langgraph 1.2 ile 2.0 arası. Bu aralık dışında adaptör yine de kurulur ve bir kez uyarı verir.
İzleme Yapılandırması
instrument() bir izleyiciyi langchain_core.tracers.context.register_configure_hook aracılığıyla kaydeder. LangChain bunu inşa ettiği her geri çağrı yöneticisine enjekte eder, bu nedenle grafikler, araçlar ve modeller bir çağrı sitesini değiştirmeden yakalanır — yazmadığınız kütüphanelerin içindekiler de dahil olmak üzere.
Kaydedilen Veriler
Bir düğüm, iç içe bir ajan değil, bir hook haline gelir.
agent_id her pano yüzeyindeki birincil yöntemdir — retrieve, grade_documents ve should_continue ajanlarına yükseltmek bunu boğar ve oturumu hangi düğümün ilk çalıştığına göre etiketlerdi.
Hook aralıkları aynı şekilde görünür ve yine de size düğüm başına gecikme görünümü sağlar.
Düğümlerinizi istediğiniz gibi adlandırın. Bir düğümün çalıştırması, adı tarafından değil, şekli tarafından tanımlanır — LangGraph’ın kendi adım etiketini taşıyan yaprak olmayan bir çalıştırma.
Bir düğümü çalıştırdığı şeyin adını verdikten sonra o şeyin olaylarının kaybolması. Artık bu şekilde değil.
Akış
.stream() ve .astream() jetonbaşı olay yayınlamaz. Bunlar kapanış model_response içine katlanır:
Akışlı yanıttaki token sayıları
Ayrı bir konu ve kaçırması kolay: OpenAI akışlı yanıtta kullanımı sadece istendiğinde gönderir.model_response token sayıları olmadan gelir.
Örnek
Aralıklarınızı Adlandırın
Varsayılan olarak kök aralık grafiğin kendi adını alır. Seçtiğiniz bir etiketi almak için sarın:parent_id taşıyan bir alt aralık haline gelir:
agent_id kardinalitesini düşük tutun. Bir rol veya düğüm adı kullanın, asla UUID veya çalıştırma başına bir dize kullanmayın.
Oturumu Kontrol Edin
Oturum kimliği bu sırayla çözümlenir, ilk eşleşme kazanır:instrument("langchain", session_id=...)config={"metadata": {"failproofai_sdk_session_id": ...}}- Kapsayan
failproofai_sdk.session()kapsamı metadata["session_id"],metadata["conversation_id"]veyametadata["thread_id"]- Kök çalıştırma kimliği
Seçenekler
capture_content=False ayarlayın. Yapı, zamanlamalar, token sayıları, araç adları ve sonuçlar hala kaydedilir; mesaj gövdeleri değil.
include_chains sadece iç içe çalıştırmalara uygulanır. Üst düzeyde çağırdığınız bir runnable oturumun köküdür, bu nedenle hook çiftine değil ajan aralığına dönüşür ve adını buraya vermek hiçbir etkisi olmaz.
İnsanın Döngüde Olması
interrupt() dört olay üretir ve hiçbir çift gereksiz değildir:
human_wait ile human_input arasında istem ve cevap taşınır (her ikisi de capture_content=False altında, alıcı belge kaynakları ile birlikte bırakılır — belge sayısı kalır). agent_pause ile agent_resume duraklatılan zamanı besleyen tek çifttir, bu nedenle onsuz on dakikalık bir insan bekleme etkin ajan süresi olarak faturalandırılır. Kök aralık boşluk arasında açık kalır ve her iki çağrıyı da bir oturumda tutar.
Yaygın Sorunlar
Yükseltilen bir araç tüm grafiği iptal eder
Yükseltilen bir araç tüm grafiği iptal eder
create_react_agent istisnayı yayınlar. Modelin hatayı görmesine ve devam etmesine izin vermek için araç düğümünü açıkça oluşturun:tool_result olarak kaydedilir. Bu sadece çalıştırmanın bundan kurtulup kurtulamayacağını belirler.Model sınıfının adını taşıyan bir ajan izde görünür
Model sınıfının adını taşıyan bir ajan izde görünür
Herhangi bir grafik dışında doğrudan
llm.invoke() üst çalıştırmaya sahip değildir, bu nedenle kök aralığı açar ve model çiftini içine yayınlar. Pano yapraklarını açık bir ajana ebeveynle alır, bu nedenle aralık kasıtlıdır. Adlandırın:Her olay iki kez görünür
Her olay iki kez görünür
config={"callbacks": [...]} içinde bir Failproof işleyicisi geçtiniz ve aynı zamanda instrument() çağırdınız. Bunu kaldırın. Configure hook zaten işlemdeki her geri çağrı yöneticisini kapsar.İnsan onayları hata olarak gösterilir
İnsan onayları hata olarak gösterilir
Değil. LangGraph
GraphInterrupt oluşturur gerçek bir istisna ile aynı yol üzerinden, bu nedenle her duraklama izleyiciye bir hata geri çağrısı olarak ulaşır. GraphBubbleUp alt sınıfından herhangi biri kontrol akışı yerine işlem yapılır, bu nedenle bir onay kırmızı bir hata boyaması yapmaz.Hiçbir şey kaydedilmez
Hiçbir şey kaydedilmez
Bu sırayla kontrol edin:
instrument() grafik yürütülmeden önce çalıştı; çağrının çevresinde bir with failproofai_sdk.session(): vardır; FAILPROOFAI_SDK_STRICT=1 ayarlı, bu nedenle bozulmuş bir hook yutulmak yerine yükseltilir.Sonraki
Nasıl çalışır
Çiftler, kimlikler, oturum yaşam döngüsü ve teslimat.
İzi oku
Az önce yakaladığınız oturum aracılığıyla nedenselliği takip edin.
Diğer çerçeveler
CrewAI, LlamaIndex, Pydantic AI ve özel ajanlar.

