迁移到 streamEvents v2
危险
本迁移指南仍在进行中,尚未完成。
在 0.2.0
版本发布时,我们添加了 streamEvents
API 的 v2
版本。您可以查看此 PR 以了解更多详情。
v2
版本是对 v1
版本的重写,应该更高效,并且事件的输出更加一致。v1
版本的 API 将被弃用,转而使用 v2
版本,并将在 0.4.0
版本中移除。
以下是 API 的 v1
和 v2
版本之间更改的列表。
on_chat_model_end
的输出
在 v1
中,与 on_chat_model_end
关联的输出取决于聊天模型是作为根级别 runnable 运行还是作为链的一部分运行而改变。
作为根级别 runnable,输出为
{
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"));
}
}
注意
非聊天模型(即,常规 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
。
传播名称
Runnables 的名称已更新,以使其更加一致。
如果您按事件名称进行筛选,请检查是否需要更新您的过滤器。