02_day1-构建agent

day1-构建agent

  • 免费获取 Qwen API Token
  • 修改代码 从 OpenAI 切换到 Qwen
  • 在 Ubuntu 24.04 上零障碍运行

✅ 第一步:获取通义千问 API Key(免费)

  1. 打开 阿里云百炼平台

    (这是通义大模型的官方 API 入口,新用户送额度)

  2. 登录阿里云账号(没有就注册,学生可认证享更多权益)

  3. 进入 “API-KEY 管理” 页面:
    百炼控制台 → 模型服务 → API 参考 → API 密钥管理

图片

  1. 点击 “创建 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
posted @ 2026-01-25 19:56  船山薪火  阅读(117)  评论(0)    收藏  举报
![image](https://img2024.cnblogs.com/blog/3174785/202601/3174785-20260125205854513-941832118.jpg)