ChatQwQ 将 Qwen 思维模型连接到 LangChain 的 对话模型接口。langchain-qwq 包还提供了 ChatQwen,通过构造函数参数暴露思维控制功能。
概览
集成细节
模型特性
本指南使用的 Qwen Plus 文本模型支持以下功能。模型能力和可用性因端点及区域而异。配置
使用 Alibaba Cloud 模型工作室账户(需访问所选模型)。示例要求 Python 3.10 或更高版本。凭据
在 Alibaba API 密钥页面 生成 API 密钥,然后设置DASHSCOPE_API_KEY:
https://dashscope-intl.aliyuncs.com/compatible-mode/v1。设置 DASHSCOPE_API_BASE 或传递 base_url 以使用您所在区域的端点。该端点必须提供 API 密钥和模型。
安装
安装langchain-qwq 包:
实例化
选择支持的 Qwen 模型并通过extra_body 启用思维模式:
ChatQwen 并指定 enable_thinking 参数:
调用
以下示例使用llm 实例化 ChatQwQ:
additional_kwargs 还包含其 reasoning_content 字段:
content_blocks 提供 LangChain 的标准化文本和推理视图。访问此属性无需 output_version="v1"(本集成不支持该功能)。
流式响应
流式返回模型生成响应时的消息片段:ainvoke:
await main() 而非 asyncio.run(main())。
工具调用
工具调用允许模型请求函数并传递参数。bind_tools 将工具定义发送给模型,但不执行工具。
与 bind_tools 结合使用
完整的工具参数缓冲需要
langchain-qwq>=0.4.0。ChatQwQ 缓冲工具参数直到提供方完成生成或干净结束流。它保留有效 JSON 并仅在组装完整参数后尝试修复损坏的 JSON。文本和推理流立即继续。错误或取消的流不会发出未完成的工具调用。此行为适用于同步和异步流,包括回调。
结构化输出
ChatQwQ 使用函数调用返回结构化结果。通过 Pydantic schema 验证解析后的结果:
method="json_mode" 或 method="json_schema" 传递给 ChatQwQ 同样会启用函数调用。这些值不会在本次包装器中启用原生 JSON 模式。
视觉支持
本指南中的文本模型不接受图像或视频输入。对于视觉任务,请通过ChatQwen 选择兼容的模型和端点。在发送 多模态消息 之前,请先确认服务提供商支持的输入格式。
参考文档
官方原文:src/oss/python/integrations/chat/qwq.mdx · 非官方翻译,译文由 AI 生成,以英文原文为准。