跳至主要内容

迁移到 streamEvents v2

danger

本迁移指南正在进行中,尚未完成。

我们添加了 streamEvents API 的 v2 版本,并在 0.2.0 版本中发布。您可以在 PR 中了解详细内容。

v2 版本是对 v1 版本的重写,应该更加高效,并且事件输出更加一致。v1 版本的 API 将被弃用,以支持 v2 版本,并将在 0.4.0 版本中移除。

以下是 API 的 v1 版本和 v2 版本之间的更改列表。

on_chat_model_end 的输出

v1 中,与 on_chat_model_end 关联的输出会根据聊天模型是作为根级可运行程序运行还是作为链的一部分运行而发生变化。

作为根级可运行程序,输出为

{
data: {
output: AIMessageChunk((content = "hello world!"), (id = "some id"));
}
}

作为链的一部分,输出为

{
data: {
output: {
generations: [
[
{
generation_info: None,
message: AIMessageChunk(
content="hello world!", id="some id"
),
text: "hello world!",
}
]
],
}
},
}

v2 开始,输出将始终是更简单的表示形式

{
data: {
output: AIMessageChunk((content = "hello world!"), (id = "some id"));
}
}
note

非聊天模型(即普通 LLM)将一直与更详细的格式关联,至少目前是这样。

on_retriever_end 的输出

on_retriever_end 输出将始终返回 Documents 列表。

这是 v1 中的输出

{
data: {
output: {
documents: [
Document(...),
Document(...),
...
]
}
}
}

以下是 v2 的新输出

{
data: {
output: [
Document(...),
Document(...),
...
]
}
}

删除了 on_retriever_stream

on_retriever_stream 事件是实现的产物,已被移除。

与该事件相关联的完整信息已在 on_retriever_end 事件中提供。

请改用 on_retriever_end

删除了 on_tool_stream

on_tool_stream 事件是实现的产物,已被移除。

与该事件相关联的完整信息已在 on_tool_end 事件中提供。

请改用 on_tool_end

传播名称

可运行程序的名称已更新,以使其更加一致。

如果您根据事件名称进行过滤,请检查是否需要更新您的过滤器。


此页面对您有帮助吗?


您也可以在 GitHub 上留下详细的反馈 GitHub.