拓冰建站拓冰建站
首页 / 资讯中心 / 正文

如何在 Web-Dev-For-Beginners 用 LangChain 实现 AI 响应的流式输出

如何在 Web-Dev-For-Beginners 用 LangChain 实现 AI 响应的流式输出【免费下载链接】Web-Dev-For-Beginners24 Lessons, 12 Weeks, Get Started as a Web Developer项目地址: https://gitcode.com/GitHub_Trending/we/Web-Dev-For-Beginners在 Web-Dev-For-Beginners 课程的 AI Framework 课程10-ai-framework-project/README.md中前面的示例都是用llm.invoke()一次性等待完整响应再打印。如果你的应用需要让回答像 ChatGPT 那样边生成边显示课程文档的 Streaming responses 章节给出了用 LangChain 连接 GitHub Models 的流式输出做法在ChatOpenAI客户端上开启streamingTrue再用llm.stream()迭代返回的内容块。本文按该路径完成一次流式输出调用并说明如何判断它是否生效。准备环境安装依赖并配置 GITHUB_TOKEN课程给出的安装命令是pip install langchain langchain-openai模型连接依赖GITHUB_TOKEN环境变量文档对两种运行环境作了说明使用 GitHub Codespaces 时GITHUB_TOKEN已经配置好无需额外操作在本地运行时需要自行创建一个具有相应权限的个人访问令牌personal access token并设为GITHUB_TOKEN。配置流式客户端流式输出的关键是在构造ChatOpenAI客户端时多传一个streamingTrue参数其余连接参数与课程中非流式示例完全一致from langchain_openai import ChatOpenAI import os llm ChatOpenAI( api_keyos.environ[GITHUB_TOKEN], base_urlhttps://models.github.ai/inference, modelopenai/gpt-4o-mini, streamingTrue )其中base_urlhttps://models.github.ai/inference指向 GitHub Models 推理端点modelopenai/gpt-4o-mini是课程文档统一使用的模型streamingTrue是流式示例相对非流式示例唯一新增的配置项。执行用 llm.stream() 逐块打印响应文档给出的流式调用方式是llm.stream()配合一个循环每个内容块到达时立即打印# Stream the response for chunk in llm.stream(Write a short story about a robot learning to code): print(chunk.content, end, flushTrue)end让各块首尾相连不断行flushTrue保证内容块生成后立即刷新到屏幕而不是等缓冲区满了一起输出。把上面的客户端配置与这段循环放进同一个脚本运行即可。验证确认响应是逐块到达的判断流式是否生效的依据是观察输出行为而不是比对某段固定文本流式模式llm.stream()返回的每个chunk都会立刻打印文档对此的描述是 Shows content as its being created——内容随生成过程逐段出现用户可以在 AI 还在思考时就开始阅读而不用等完整响应。非流式对照课程第一个示例llm.invoke(Whats the capital of France?)是一次调用后整体拿到response.content再打印文档给出的示例输出为The capital of France is Paris.文档示例实际输出会随模型变化。如果你运行流式脚本时看到的是文字一段段连续打字式出现说明streamingTrue已生效如果长时间没有任何输出、最后一次性出现全文则应回到准备章节检查GITHUB_TOKEN是否可用。什么时候值得开流式文档的 UX 提示给出了适用边界流式在较长响应场景下收益最明显文档列举的类别包括代码解释、创意写作和详细教程code explanations, creative writing, or detailed tutorials——这类内容即使技术上总耗时不变逐块显示也能让用户立刻看到进展而不是盯着空白界面等待。简短问答用invoke()一次性取完整响应即可文档中的自检问题也要求区分invoke()与stream()两种方法的用途。下一步课程的作业 Build your own AI-powered study assistant 把 Implement streaming responses for better user experience 列为可选增强项Step 4: Enhanced features即可以把本文的流式客户端接入自己的StudyAssistant聊天接口中。课程附带的参考代码见 app.py、app-chat.py 和 app-tools.py可作为非流式基线的对照。【免费下载链接】Web-Dev-For-Beginners24 Lessons, 12 Weeks, Get Started as a Web Developer项目地址: https://gitcode.com/GitHub_Trending/we/Web-Dev-For-Beginners创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门