You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否通过Azure Bot Framework实现LLM流式响应?

可以借助Azure Bot Framework实现流式响应效果

完全可以实现类似ChatGPT的流式输出效果,核心是利用Bot Framework的活动更新能力结合LLM的流式API接口,以下是具体实现思路:

核心实现步骤

  • 开启Bot的流式传输支持:Bot Framework各语言版本的SDK都原生支持流式交互,无需额外配置特殊组件,只需在调用LLM时采用流式调用方式即可。
  • 对接LLM的流式接口:调用LLM提供的流式输出API(比如Azure OpenAI的completions接口开启stream=true参数),让LLM逐段返回生成内容,而非一次性返回完整结果。
  • 分段更新用户消息:
    1. 先向用户发送一条初始占位消息(比如“正在生成回答...”),并记录该消息的活动ID。
    2. 遍历LLM流式返回的每一段内容,每次获取到新片段后,调用Bot Framework的UpdateActivityAsync方法,将新内容追加到之前发送的消息中。
    3. 直到LLM完成所有内容生成,结束流式更新。

代码示例(C#)

// 处理用户输入的方法
public async Task OnTurnAsync(ITurnContext turnContext, CancellationToken cancellationToken = default)
{
    if (turnContext.Activity.Type == ActivityTypes.Message)
    {
        // 发送初始占位消息,记录活动ID
        var initialActivity = MessageFactory.Text("正在生成回答...");
        var sentActivity = await turnContext.SendActivityAsync(initialActivity, cancellationToken);
        var activityId = sentActivity.Id;

        // 调用LLM的流式接口
        var streamingResponse = await _openAIClient.GetCompletionsStreamingAsync(
            new CompletionsOptions
            {
                Prompt = turnContext.Activity.Text,
                Stream = true,
                // 其他配置参数
            }, cancellationToken);

        string fullResponse = string.Empty;
        await foreach (var update in streamingResponse)
        {
            if (update.Choices.Count > 0)
            {
                var newContent = update.Choices[0].Text;
                fullResponse += newContent;

                // 更新已发送的活动,追加新内容
                var updatedActivity = MessageFactory.Text(fullResponse);
                updatedActivity.Id = activityId;
                await turnContext.UpdateActivityAsync(updatedActivity, cancellationToken);
            }
        }
    }
}

注意事项

  • 客户端兼容性:确保Bot对接的客户端(如Web Chat、Teams)支持活动更新功能,目前主流客户端均已支持该特性。
  • 频率控制:避免过于频繁更新消息,可积累若干片段后再执行更新,减少网络请求开销。
  • 异常处理:流式传输过程中若出现中断,需及时向用户发送提示消息,避免用户长时间无响应等待。

内容的提问来源于stack exchange,提问作者jiao.shen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 12:17:51