Qwen3.5-4B模型智能体(Agent)框架开发入门
Qwen3.5-4B模型智能体(Agent)框架开发入门
1. 智能体开发快速上手
想象一下,你有一个数字助手,不仅能回答问题,还能主动规划任务、调用各种工具帮你完成工作。这就是智能体(Agent)的魅力所在。今天我们就用Qwen3.5-4B这个强大的开源模型,从零开始搭建一个会思考、会行动的智能体。
为什么选择Qwen3.5-4B?这个4B参数的模型在中文理解和任务规划方面表现出色,而且对开发者友好,部署门槛低。我们将使用LangChain框架作为"粘合剂",把模型、工具和逻辑串联起来。
2. 环境准备与工具安装
2.1 基础环境配置
首先确保你的开发环境满足以下要求:
- Python 3.8或更高版本
- 至少16GB内存(运行4B模型的最低要求)
- 支持CUDA的NVIDIA显卡(如需GPU加速)
建议使用conda创建独立环境:
conda create -n qwen-agent python=3.8
conda activate qwen-agent
2.2 核心依赖安装
安装必要的Python包:
pip install langchain transformers torch
如果你打算使用GPU加速,建议安装对应版本的PyTorch:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
3. 智能体基础概念
3.1 什么是智能体?
简单来说,智能体就是能自主决策、使用工具完成任务的AI系统。它不同于普通聊天机器人,具备三个关键能力:
- 规划能力:能拆解复杂任务为多个步骤
- 工具使用:可以调用计算器、搜索引擎等外部工具
- 记忆能力:能记住对话历史和任务上下文
3.2 Qwen3.5-4B的优势
相比其他开源模型,Qwen3.5-4B特别适合做智能体开发:
- 中文任务规划准确率高
- 4B参数规模在消费级硬件上可运行
- 对工具调用的指令理解精准
- 开源协议友好,可商用
4. 第一个智能体实例
4.1 初始化模型
我们先加载Qwen3.5-4B模型:
from transformers import AutoModelForCausalLM, AutoTokenizer
model_path = "Qwen/Qwen1.5-4B" # HuggingFace模型路径
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForCausalLM.from_pretrained(model_path, device_map="auto")
4.2 创建基础智能体
用LangChain构建最简单的智能体:
from langchain.agents import AgentExecutor, create_react_agent
from langchain import hub
# 加载预设的ReAct提示模板
prompt = hub.pull("hwchase17/react-chat")
# 创建智能体
agent = create_react_agent(
llm=model,
tools=[], # 暂时不添加工具
prompt=prompt
)
agent_executor = AgentExecutor(agent=agent, tools=[], verbose=True)
现在你可以用这个基础智能体进行简单对话了:
response = agent_executor.invoke({"input": "你好,你是谁?"})
print(response["output"])
5. 让智能体使用工具
5.1 添加计算器工具
智能体的核心价值在于工具使用。我们先添加一个简单的计算器:
from langchain.tools import Tool
from langchain.utilities import ArxivAPIWrapper
def calculate(expression):
try:
result = eval(expression)
return str(result)
except:
return "计算失败"
calculator = Tool(
name="Calculator",
func=calculate,
description="用于数学表达式计算,输入应该是有效的数学表达式,如'2+2'"
)
5.2 集成搜索引擎工具
再添加一个能查询实时信息的搜索引擎工具:
from langchain.utilities import GoogleSearchAPIWrapper
search = GoogleSearchAPIWrapper()
search_tool = Tool(
name="Search",
func=search.run,
description="用于查询实时信息,当需要最新数据时使用"
)
5.3 创建完整智能体
现在把工具整合到智能体中:
tools = [calculator, search_tool]
agent = create_react_agent(
llm=model,
tools=tools,
prompt=prompt
)
agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
6. 实战:天气查询与出行规划
让我们测试智能体处理复杂任务的能力:
task = "查询上海今天的天气,然后根据天气建议我今天是否适合去迪士尼乐园,如果适合,计算从陆家嘴到迪士尼的打车费用(假设每公里3元,距离20公里)"
response = agent_executor.invoke({"input": task})
print(response["output"])
智能体会自动执行以下步骤:
- 使用搜索引擎查询上海天气
- 分析天气数据并给出出行建议
- 如果建议出行,则调用计算器计算打车费用
- 整合所有信息给出最终回复
7. 常见问题与优化建议
7.1 性能优化技巧
如果发现响应速度慢,可以尝试:
- 使用4-bit量化减少显存占用:
model = AutoModelForCausalLM.from_pretrained(model_path, device_map="auto", load_in_4bit=True)
- 限制最大token数以加快生成速度
- 使用更高效的推理后端如vLLM
7.2 错误处理
智能体开发中常见问题:
- 工具调用失败:确保工具描述清晰准确
- 无限循环:设置max_iterations参数限制最大步骤数
- 上下文溢出:使用合适的token限制和记忆窗口
7.3 扩展方向
想让你的智能体更强大?可以考虑:
- 添加自定义API连接企业系统
- 集成文档处理能力处理PDF/Word
- 加入长期记忆实现个性化服务
- 开发Web界面让非技术人员也能使用
8. 总结与下一步
通过这个教程,我们已经完成了一个能思考、会使用工具的智能体开发。Qwen3.5-4B在任务规划和工具调用方面表现令人惊喜,配合LangChain框架大大降低了开发门槛。
实际使用下来,这个方案在消费级硬件上运行流畅,处理日常任务绰绰有余。当然,如果你需要处理更复杂的商业场景,可能需要考虑更大的模型规模或专门的优化方案。
建议下一步尝试给你的智能体添加更多实用工具,比如邮件发送、日历管理等功能,逐步构建一个真正能帮你处理事务的数字助手。当遇到问题时,不妨多调整提示词(prompt)的设计,这往往能显著改善智能体的表现。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。
更多推荐


所有评论(0)