响应流式传输(Response Streaming)

发布时间:2026/6/21 23:47:13

响应流式传输(Response Streaming) 响应流式传输(Response Streaming)注意此页面描述的是低级 LLM API 的响应流式传输。高级 LLM API 请参见 [AI 服务](AI Services)。LLM 会逐个令牌(token)生成文本,因此许多 LLM 提供商提供了一种逐令牌流式传输响应的方法,而无需等待整个文本生成完毕。这显著改善了用户体验,因为用户无需等待未知的时间,几乎可以立即开始阅读响应。对于ChatModel和LanguageModel接口,存在对应的StreamingChatModel和StreamingLanguageModel接口。它们具有相似的 API,但可以流式传输响应。它们接受StreamingChatResponseHandler接口的实现作为参数。publicinterfaceStreamingChatResponseHandler{defaultvoidonPartialResponse(StringpartialResponse){}defaultvoidonPartialResponse(PartialResponsepartialResponse,PartialResponseContextcontext){}defaultvoidonPartialThinking(PartialThinkingpartialThinking){}defaultvoidonPartialThinking(PartialThinkingpartialThinking,PartialThinkingContextcontext){}defaultvoidonPartialToolCall(PartialToolCallpartialToolCall){}defaultvoidonPartialToolCall(PartialToolCallpartialToolCall,PartialToolCallContextcontext){}defaultvoidonCompleteToolCall(CompleteToolCallcompleteToolCall){}voidonCompleteResponse(ChatResponsecompleteResponse);voidonError(Throwableerror);}通过实现StreamingChatResponseHandler,您可以为以下事件定义操作:当生成下一个部分文本响应时:调用onPartialResponse(String)或onPartialResponse(PartialResponse, PartialResponseContext)(您可以实现其中任一方法)。根据 LLM 提供商的不同,部分响应文本可以包含一个或多个令牌。例如,您可以在令牌可用时立即将其发送到 UI。当生成下一个部分思考/推理文本时:调用onPartialThinking(PartialThinking)或onPartialThinking(PartialThinking, PartialThinkingContext)(您可以实现其中任一方法)。根据 LLM 提供商的不同,部分思考文本可以包含一个或多个令牌。当生成下一个部分工具调用时:调用onPartialToolCall(PartialToolCall)或onPartialToolCall(PartialToolCall, PartialToolCallContext)(您可以实现其中任一方法)。当 LLM 完成单个工具调用的流式传输时:调用onCompleteToolCall(CompleteToolCall)。当 L

相关新闻