Qwen3.5-2B模型实战:从零构建一个人工智能助手Agent
Qwen3.5-2B模型实战:从零构建一个人工智能助手Agent
1. 为什么需要AI助手Agent
想象一下,你正在开发一个智能客服系统。用户可能会问:"帮我查下北京到上海的航班,选价格最低的,然后计算一下如果两个人一起买能省多少钱"。传统AI模型只能生成文字回复,但真正的智能助手应该能自动完成这些操作——查询航班、筛选结果、计算优惠,最后把完整答案呈现给用户。这就是AI Agent的价值所在。
Qwen3.5-2B作为一款轻量级开源大模型,特别适合构建这类智能体应用。它不仅支持多模态输入(能同时理解文字和图片),还能通过工具调用完成实际任务。下面我们就来实战搭建这样一个会"动手做事"的AI助手。
2. 智能助手的三层架构设计
2.1 核心认知层:Qwen3.5-2B模型
这个7B参数的轻量级模型承担着"大脑"角色。我们主要用到它的三项能力:
- 多模态理解:能同时处理用户发送的文字和图片(比如用户上传一张商品图询问价格)
- 意图识别:判断用户是想获取信息、进行计算还是需要执行某个操作
- 决策生成:决定是否需要调用外部工具,以及如何调用
from transformers import AutoModelForCausalLM, AutoTokenizer model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen3.5-2B") tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen3.5-2B")2.2 工具调用层:LangChain集成
让AI学会使用工具就像给人配备瑞士军刀。我们通过LangChain框架集成常用工具:
from langchain.tools import Tool from langchain.utilities import GoogleSearchAPIWrapper search = GoogleSearchAPIWrapper() tools = [ Tool( name="Search", func=search.run, description="当需要查询实时信息时使用" ), # 可以继续添加计算器、天气查询等工具 ]2.3 记忆管理层:对话历史跟踪
好的助手应该记得之前的对话。我们用简单的向量数据库存储对话历史:
from langchain.vectorstores import FAISS from langchain.embeddings import HuggingFaceEmbeddings embeddings = HuggingFaceEmbeddings() memory = FAISS.from_texts([""], embeddings) # 初始化空记忆3. 完整工作流程实现
3.1 处理用户输入
首先解析用户发来的内容,可能是纯文本、图片或混合内容:
def process_input(user_input, image=None): if image: # 处理图片逻辑 image_desc = model.describe_image(image) prompt = f"用户输入:{user_input}\n图片描述:{image_desc}" else: prompt = user_input return prompt3.2 决策与工具调用
模型决定是否需要调用工具,以及如何调用:
def decide_action(prompt): response = model.generate( f"请判断是否需要调用工具:{prompt}\n" "只需回答是或否,若需要工具请说明工具名和查询内容" ) if "是" in response: tool_name, query = parse_tool_request(response) result = call_tool(tool_name, query) return model.generate(f"根据工具返回结果回答问题:{result}\n用户原问题:{prompt}") else: return model.generate(prompt)3.3 记忆更新与响应
每次交互后更新对话历史,保持上下文连贯:
def update_memory(question, answer): memory.add_texts([f"Q:{question}\nA:{answer}"])4. 实际应用场景演示
让我们看几个这个智能助手能处理的典型案例:
场景1:旅行规划
- 用户:"帮我找三亚评分4.5以上的酒店,预算每晚800以内"
- Agent动作:调用搜索工具获取酒店列表,筛选后返回结果
场景2:购物比价
- 用户上传商品图片并问:"这个包在淘宝和京东上分别卖多少钱?"
- Agent动作:识别图片中的商品,分别查询两个平台价格并对比
场景3:办公辅助
- 用户:"把昨天我们讨论的项目时间表做成表格,关键节点标红"
- Agent动作:检索对话历史找到时间信息,生成表格格式回复
5. 效果优化与问题排查
在实际使用中,你可能会遇到这些典型问题及解决方法:
问题1:工具调用不准确
- 现象:该用计算器时却调用了搜索
- 解决:在prompt中更明确地定义工具使用条件,例如添加示例:"当问题包含'计算'、'多少'等关键词时优先使用计算器"
问题2:多轮对话混乱
- 现象:对话超过5轮后开始答非所问
- 解决:设置对话历史摘要机制,定期用模型生成对话摘要替代完整历史
问题3:图片理解偏差
- 现象:将红色手提包识别为行李箱
- 解决:在图片描述prompt中添加具体要求:"请用不超过20个词客观描述图片中的主要物品及其特征"
6. 进一步开发建议
现在你已经有了一个基础版智能助手,可以考虑在这些方向继续完善:
- 增加验证机制:对于涉及支付、重要操作等场景,添加用户确认步骤
- 支持私有工具:接入企业内部API,比如CRM系统查询客户信息
- 个性化学习:根据用户历史行为调整回复风格和工具使用偏好
- 性能优化:对常用工具的结果进行缓存,减少重复调用延迟
这个项目最有趣的部分是,你能真切地感受到AI从"能说"到"会做"的转变。虽然现在的实现还比较简单,但已经能处理很多日常工作场景。随着工具库的丰富和提示工程的优化,这个助手的实用性会越来越强。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。
