企业级AI Agent开发:基于Qwen3.5-4B与自定义工具集成

1. 为什么企业需要智能Agent

现代企业运营中,重复性工作占据了大量人力成本。以我们接触过的某电商客户为例,客服团队每天需要处理数百次天气查询和邮件通知,这些工作看似简单,却消耗了30%的有效工作时间。这正是AI Agent能够大显身手的场景。

Qwen3.5-4B作为当前最先进的开源大模型之一,其工具调用能力让构建智能助手变得前所未有的简单。不同于传统RPA只能执行固定流程,基于大模型的Agent可以理解自然语言指令,自主规划任务步骤,并调用各类工具完成复杂工作流。

2. 开发环境准备

2.1 基础环境配置

建议使用Python 3.9+环境,主要依赖库包括:

pip install transformers>=4.34.0
pip install fastapi uvicorn  # 用于构建工具服务
pip install requests  # 工具调用必备

2.2 模型部署方案

在星图GPU平台部署Qwen3.5-4B只需三个步骤:

  1. 登录控制台选择"Qwen3.5-4B"镜像
  2. 配置GPU资源(建议A10/A100)
  3. 点击部署获取API端点

部署完成后会获得类似这样的访问地址: https://your-instance.ai.csdn.net/v1

3. 构建天气查询+邮件发送Agent

3.1 定义工具功能

首先需要明确Agent需要使用的工具。我们以两个典型办公场景为例:

天气查询工具

def get_weather(location: str, date: str = None):
    """
    获取指定地点的天气信息
    :param location: 城市名称,如"北京"
    :param date: 可选,查询日期(默认当天)
    :return: 天气情况字符串
    """
    # 实际实现中这里调用天气API
    return f"{location}今天晴,气温25-32℃"

邮件发送工具

def send_email(to: str, subject: str, content: str):
    """
    发送电子邮件
    :param to: 收件人邮箱
    :param subject: 邮件主题
    :param content: 邮件内容
    :return: 发送结果
    """
    # 实际实现中接入企业邮件系统
    return f"邮件已发送至{to}"

3.2 设计工具调用Prompt

关键是要让模型理解工具的使用方式和调用规则。以下是经过验证的有效Prompt结构:

你是一个智能助手,可以调用以下工具完成任务:

工具列表:
1. get_weather: 查询天气
   - 参数: location(必填), date(选填)
2. send_email: 发送邮件  
   - 参数: to(必填), subject(必填), content(必填)

调用工具时,请严格按以下格式响应:
<|startofthink|>
{"function": "工具名", "parameters": {"参数1": "值1", ...}}
<|endofthink|>

我会返回工具执行结果。请根据任务需求规划步骤,必要时可以多次调用工具。

3.3 实现执行逻辑闭环

核心是构建"模型决策→工具执行→结果反馈"的循环:

import json
from transformers import AutoModelForCausalLM, AutoTokenizer

model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen3.5-4B")
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen3.5-4B")

def process_query(query):
    # 初始提示
    messages = [{"role": "system", "content": prompt}, 
                {"role": "user", "content": query}]
    
    while True:
        response = model.chat(tokenizer, messages)
        
        # 检测工具调用
        if "<|startofthink|>" in response:
            tool_call = json.loads(response.split("<|startofthink|>")[1].split("<|endofthink|>")[0])
            
            # 执行工具
            if tool_call["function"] == "get_weather":
                result = get_weather(**tool_call["parameters"])
            elif tool_call["function"] == "send_email":
                result = send_email(**tool_call["parameters"])
                
            messages.append({"role": "tool", "content": result})
        else:
            return response  # 最终回复

4. 实际应用案例演示

假设用户提出复合请求:"查下北京天气,然后发邮件告诉王总记得带伞"

Agent的执行过程如下:

  1. 识别需要先查询天气

    {"function": "get_weather", "parameters": {"location": "北京"}}
    
  2. 收到天气结果:"北京今天有雨,气温20-25℃"

  3. 自动生成邮件内容并发送

    {"function": "send_email", 
     "parameters": {
         "to": "ceo@company.com",
         "subject": "北京天气提醒",
         "content": "王总您好,北京今天有雨,建议带伞出行。"
     }}
    

整个过程无需人工干预,Agent自动完成多步骤规划与执行。

5. 进阶优化方向

要让Agent真正达到企业级可用,还需要考虑以下方面:

工具扩展性:通过配置文件动态加载工具,避免每次修改代码。可以创建一个tools目录,每个工具对应一个.py文件,自动注册到系统中。

权限控制:为不同工具设置访问权限。比如邮件发送工具可能需要主管审批才能调用,可以在工具定义中添加权限标记。

执行监控:记录完整的工具调用历史,包括参数、结果、耗时等,便于后续审计和优化。建议使用SQLite或企业级日志系统存储这些数据。

性能优化:对于高频使用的工具,可以添加缓存机制。比如天气查询结果可以缓存1小时,减少API调用次数。


获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐