引言
在复杂的应用程序中,尤其是那些涉及多个步骤的长时间运行任务,跟踪进度是至关重要的。自定义回调事件可以帮助我们在不同阶段间调度事件,从而让开发者和用户更好地了解任务进展。本篇文章将指导您如何在LangChain中调度自定义回调事件,并通过不同的API和处理器进行消费。
主要内容
自定义回调事件简介
在LangChain中,自定义回调事件需要具备两个属性:name(事件名称)和data(事件数据)。事件数据可以是任意类型,但建议使用JSON可序列化的数据格式。
兼容性注意
- Python 版本:在 Python <= 3.10 中,需要手动传播
RunnableConfig。 - LangChain 版本:确保使用
langchain-core>=0.2.15。
调度自定义事件
可以在现有的 Runnable 中使用 astream_events() 方法来调度自定义事件。需要指定使用 version='v2' 才能看到自定义事件。
异步环境下调度事件
from langchain_core.callbacks.manager import adispatch_custom_event
from langchain_core.runnables import RunnableLambda
@RunnableLambda
async def foo(x: str) -> str:
await adispatch_custom_event("event1", {
"x": x}) # 使用API代理服务提高访问稳定性
await adispatch_custom_event("event2"

最低0.47元/天 解锁文章
505

被折叠的 条评论
为什么被折叠?



