02_day1-构建agent
day1-构建agent
- 免费获取 Qwen API Token
- 修改代码 从 OpenAI 切换到 Qwen
- 在 Ubuntu 24.04 上零障碍运行
✅ 第一步:获取通义千问 API Key(免费)
-
打开 阿里云百炼平台
(这是通义大模型的官方 API 入口,新用户送额度)
-
登录阿里云账号(没有就注册,学生可认证享更多权益)
-
进入 “API-KEY 管理” 页面:
百炼控制台 → 模型服务 → API 参考 → API 密钥管理

- 点击 “创建 API Key”,复制生成的字符串(形如
sk-xxxxxx)
sk-6adfbafe274b32c7b32c720982666c82
💡 新用户通常有 免费调用额度(比如 100 万 tokens),足够两周课程使用。
通过,阿里云百炼 > 工作台 > 模型用量 ,查看模型使用额度剩余量。
✅ 第二步:安装 Qwen 对应的 LangChain 包
Qwen 的 API 兼容 OpenAI 协议,但推荐使用 dashscope 官方 SDK + LangChain 集成。
python --version
Python 3.12.3
# 从Python 3.3开始,venv模块已经包含在标准库中,不需要额外安装。
# apt install python3.10-venv
mkdir day1; cd day1
python3 -m venv myenv
在当前目录下创建一个名为myenv的虚拟环境
# 激活你的虚拟环境(如果之前创建了)
source myenv/bin/activate
# 升级 pip(避免安装失败)
pip install --upgrade pip
# 安装通义千问所需的核心包
pip install langchain-core langchain-community dashscope python-dotenv -i https://pypi.org/simple/
# langchain-community 包含了 ChatTongyi
# 从 LangChain v0.1.16+ 开始,官方将所有第三方模型集成(包括 Qwen、Ollama、Google、Anthropic 等)统一收归到 `langchain-community` 包中。
# 查看已安装包
pip list | grep langchain
📦
langchain-dashscope是 LangChain 官方支持 Qwen 的组件。
✅ 验证 Key 是否有效
tee test_qwen.py <<'EOF'
import dashscope
from dashscope import Generation
dashscope.api_key = "你从百炼复制的 sk-xxxxxx"
response = Generation.call(
model="qwen-turbo",
prompt="你好,请介绍一下你自己。"
)
print(response.output.text)
EOF
验证
python3 test_qwen.py
#你好!我是通义千问,是阿里巴巴集团旗下的通义实验室自主研发的超大规模语言模型。
#我能够回答问题、创作文字、逻辑推理、编程等多种任务,可以用于多种场景,如学习、工作、生活等。
#
#我的训练数据来自互联网上的大量文本,这使我能够理解和生成多种语言的内容。我可以进行多轮对话,理解上下文,并根据用户的反馈进行调整。
#
#如果你有任何问题或需要帮助,欢迎随时告诉我!
✅ 项目根目录创建 .env 文件,写入key
echo "DASHSCOPE_API_KEY=你的实际密钥" > .env
# "你从百炼复制的 sk-xxxxxx"
✅ 第三步:第一个智能体 day01/qwen_agent.py
tee day1_qwen_agent_1.py <<'EOF'
# qwen_agent.py
from dotenv import load_dotenv
import os
from langchain_community.chat_models import ChatTongyi
from langchain_core.prompts import ChatPromptTemplate
# 1. 加载 .env 中的 DASHSCOPE_API_KEY
# 使用 python-dotenv 从本地 .env 文件加载环境变量
load_dotenv()
# 获取 API Key 并验证是否存在
api_key = os.getenv("DASHSCOPE_API_KEY")
if not api_key:
raise ValueError("请在 .env 文件中设置 DASHSCOPE_API_KEY")
# 将 API Key 设置到环境变量中(LangChain 会自动读取)
os.environ["DASHSCOPE_API_KEY"] = api_key
# 2. 初始化 ChatTongyi(调用通义千问 API)
# 使用 qwen-max 模型,temperature=0 表示输出更确定、更少随机性
llm = ChatTongyi(
model="qwen-max",
temperature=0,
)
# 3. 构造提示模板(system + human)
# system 消息定义 AI 的角色,human 消息是用户输入的占位符
prompt = ChatPromptTemplate.from_messages([
("system", "你是一个乐于助人的AI助手。"),
("human", "{input}")
])
# 4. 将提示 + 模型组成“链”(chain)
# 使用 LangChain 的管道操作符 | 将 prompt 和 llm 连接成一个可调用的链
chain = prompt | llm
# 5. 调用 chain.invoke() 发送请求
# 向链传入实际的用户输入,触发对模型的 API 调用
response = chain.invoke({"input": "你好,请介绍一下你自己。"})
# 6. 打印模型返回的 response.content
# response 是 AIMessage 对象,其 content 属性包含模型生成的文本
print(response.content)
EOF
运行程序
python3 day1_qwen_agent_1.py
浙公网安备 33010602011771号