1. LangChain聊天模型调用实战解析
在自然语言处理领域,LangChain已经成为连接各类大语言模型与实际应用的重要桥梁。今天我将分享如何通过LangChain框架调用通义千问(ChatTongyi)聊天模型,并实现流式对话交互。这种方式特别适合需要构建复杂对话系统的开发者,相比直接调用API,LangChain提供了更灵活的消息管理和对话流程控制。
1.1 环境准备与基础配置
首先需要安装必要的Python包:
bash复制pip install langchain-community langchain-core
通义千问的调用需要API密钥,建议通过环境变量设置:
python复制import os
os.environ["DASHSCOPE_API_KEY"] = "your_api_key_here"
注意:API密钥属于敏感信息,切勿直接硬编码在脚本中。生产环境中推荐使用密钥管理服务或配置文件。
模型初始化时有两个关键参数:
python复制from langchain_community.chat_models.tongyi import ChatTongyi
model = ChatTongyi(
model="qwen3-max", # 模型版本
dashscope_api_key=os.getenv("DASHSCOPE_API_KEY") # 密钥传递
)
这里选择"qwen3-max"模型是因为它在中文诗歌创作任务上表现优异,实测其韵律和意境把握能力较强。如果做通用对话,也可以考虑"qwen3-turbo"等轻量版本。
1.2 消息系统设计原理
LangChain的消息系统采用角色化设计,核心包含三类消息:
- SystemMessage:设定AI的角色和背景
- HumanMessage:用户输入的问题或指令
- AIMessage:AI之前的回复记录
这种设计模拟了真实对话场景,让模型能保持上下文连贯性。例如诗歌创作场景:
python复制messages = [
SystemMessage(content="你是一个边塞诗人"),
HumanMessage(content=
