【Agent智能体项目实战三】LangChain调用通义千问保姆级教程

本文手把手教你使用 LangChain_Community 快速对接阿里云通义千问大模型,实现Python代码调用,新手也能直接跑通!

一、前置准备

1. 开通阿里云通义千问

  1. 打开阿里云 DashScope 平台:https://dashscope.aliyun.com/
  2. 注册/登录后,创建 API-KEY
  3. 记录你的 DASHSCOPE_API_KEY,后面代码会用到

2. 安装依赖库

bash 复制代码
pip install langchain langchain_community

二、完整可运行代码

下面是最简可运行示例,直接复制替换API-KEY即可使用:

python 复制代码
# 导入依赖
import os
from langchain_community.llms.tongyi import Tongyi

# 设置 DashScope API 密钥
os.environ["DASHSCOPE_API_KEY"] = "你的API-KEY"

# 初始化通义千问模型
model = Tongyi(
    model="qwen-plus"  # 可替换:qwen-turbo、qwen-plus、qwen-max等
)

# 调用模型(invoke方法)
response = model.invoke(input="你是什么模型?你能干什么?")

# 输出结果
print(response)

三、代码逐行解释

1. 导入模块

python 复制代码
import os
from langchain_community.llms.tongyi import Tongyi
  • os:用于设置环境变量,传入API密钥
  • Tongyi:LangChain封装好的通义千问大模型调用类

2. 配置API密钥

python 复制代码
os.environ["DASHSCOPE_API_KEY"] = "你的API-KEY"
  • 必须通过环境变量传入密钥,这是官方推荐方式
  • 不要硬编码密钥到生产代码中!

3. 初始化模型

python 复制代码
model = Tongyi(
    model="qwen-plus"
)

常用模型列表:

  • qwen-turbo:速度快、性价比高
  • qwen-plus:综合能力更强
  • qwen-max:最强能力模型
  • 更多模型见阿里云DashScope官方文档

4. 调用模型 & 输出结果

python 复制代码
response = model.invoke(input="你是什么模型?你能干什么?")
print(response)
  • invoke():LangChain统一的同步调用方法
  • 输入为字符串,输出为模型返回的文本结果

四、运行结果示例

执行代码后,你会看到类似输出:

复制代码
我是阿里云研发的通义千问大模型。
我可以帮你:
1. 回答各类问题、提供知识科普
2. 写代码、文案、总结、翻译
3. 逻辑推理、规划方案
4. 对话聊天、提供建议等

五、常见问题(避坑指南)

  1. 报错:API-KEY无效
    • 检查密钥是否复制完整
    • 确认账号已开通通义千问服务
  2. 报错:模型不存在
    • 检查model名称是否正确,如qwen-plus不要写错
  3. 网络超时
    • 确保网络可以正常访问阿里云服务

六、扩展用法(进阶)

1. 批量提问(generate)

python 复制代码
response = model.generate(["你好", "介绍一下Python"])
print(response.generations)

2. 流式输出

python 复制代码
for chunk in model.stream("写一段春天的文案"):
    print(chunk, end="", flush=True)
相关推荐
tomcoding3 小时前
遇到一个ORA-01017错误,解决方法
数据库·oracle
ejinxian4 小时前
PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, OceanBase, Sql Server等数据库
数据库·mysql·mongodb
折哥的程序人生 · 物流技术专研10 小时前
Java面试85题图解版 · 特别篇:2026后端高频面试题复盘(算法底层逻辑+高并发架构设计全解析,附Java实战代码)
java·网络·数据库·算法·面试
AOwhisky10 小时前
Redis 学习笔记(第三期):持久化与主从复制
运维·数据库·redis·笔记·学习·云计算
李白的天不白10 小时前
数据库连接报错问题
数据库
一条泥憨鱼10 小时前
【Redis】数据类型和常用命令
java·数据库·redis·后端·缓存
爱喝水的鱼丶11 小时前
SAP-ABAP:SAP视图开发入门:四类标准视图的适用场景与创建步骤详解
服务器·数据库·性能优化·sap·abap
周航宇JoeZhou11 小时前
JB3-9-SpringAI(二)
java·ai·agent·多智能体·调度·智能体·观察
大白要努力!11 小时前
MySQL 8.0 + Navicat 完整操作指南
数据库·mysql
云絮.12 小时前
数据库操作
数据库·mysql·算法·oracle