主要内容亮点:

、、、
核心开发模式 - 详细介绍了Function Calling、ReAct、CoT、Reflexion等模式的原理和代码实现
完整开发流程 - 从基础准备、能力构建、工程化落地到部署运维的全流程步骤
关键技术工具 - 深入讲解LLaMA-Factory微调工具和主流蒸馏方案的使用方法

实战解决方案 - 提供3个真实案例:
*新闻分类智能体
金融分析多Agent系统
轻量级CPU部署客服Agent
、、、

目录


一、核心开发模式

1.1 基础能力模式

Function Calling模式(零开发框架)

核心思想:让Agent具备调用外部工具的能力,实现"模型+工具"的协作

适用场景:

  • API调用(天气查询、数据检索)
  • 本地函数执行(文件操作、计算任务)
  • 第三方服务集成

实现方式:

# 定义工具函数
def get_weather(city: str) -> str:
    return f"{city}今天晴天,温度25°C"

# 配置Function Calling
tools = [{
    "name": "get_weather",
    "description": "获取城市天气信息",
    "parameters": {
        "city": {"type": "string", "description": "城市名称"}
    }
}]

1.2 Agent设计模式

CoT(Chain of Thought,思维链)

原理:引导Agent分步推理,提升复杂问题解决能力

应用示例:

用户问题:计算23×17
Agent思考过程:
1. 将23分解为20+3
2. 20×17=340
3. 3×17=51
4. 340+51=391
最终答案:391

ReAct(Reasoning + Acting)

核心流程:思考→行动→观察→再思考的循环

执行步骤:

  1. Thought:分析当前问题需要什么信息
  2. Action:调用工具获取信息
  3. Observation:观察工具返回结果
  4. Thought:基于结果继续推理或给出答案

代码示例:

while not task_complete:
    thought = agent.think(current_state)
    action = agent.decide_action(thought)
    observation = execute_tool(action)
    current_state = update_state(observation)

Reflexion(反思模式)

特点:Agent在执行后自我评估,优化策略

应用场景:

  • 代码生成后的自我调试
  • 答案质量的二次检查
  • 策略迭代优化

ReWOO(工具并行调用)

优势:将任务拆分为多个子任务,并行调用工具提升效率

适用场景:

  • 多数据源聚合(同时查询股票、新闻、财报)
  • 批量处理任务

1.3 工程化开发模式

多Agent协作模式(A2A)

架构设计:多个专业Agent分工配合

典型案例:金融分析系统

  • 数据采集Agent:抓取股票行情、新闻资讯
  • 分析Agent:执行技术分析、基本面评估
  • 报告Agent:生成投资建议报告

实现工具:LangGraph流程编排


MCP驱动模式

核心三要素:

  • Model(模型):大语言模型作为智能核心
  • Component(组件):工具、插件、数据源
  • Platform(平台):统一的智能体运行环境

快速搭建示例:AI求职助手

  1. 模型:DeepSeek R1
  2. 组件:简历解析器、岗位匹配引擎、邮件发送工具
  3. 平台:LobeChat可视化对话界面

二、完整开发流程

阶段1:基础准备(模型与工具接入)

1.1 选择开源大模型

推荐模型:

  • DeepSeek R1(推理能力强)
  • Qwen系列(中文友好)
  • LLaMA系列(生态完善)
1.2 私有化部署方案
方案 适用场景 部署难度 性能
Ollama 单机快速部署 中等
Kubernetes 企业级GPU集群 ⭐⭐⭐
llama.cpp CPU轻量部署 ⭐⭐

Ollama部署步骤:

# 1. 安装Ollama
curl -fsSL https://ollama.ai/install.sh | sh

# 2. 拉取模型
ollama pull deepseek-r1:7b

# 3. 启动服务
ollama serve

# 4. 测试调用
curl http://localhost:11434/api/generate -d '{
  "model": "deepseek-r1:7b",
  "prompt": "你好,我是AI助手"
}'

1.3 接入工具生态

方式一:Function Calling配置

{
  "tools": [
    {
      "name": "search_web",
      "description": "搜索互联网信息",
      "parameters": {
        "query": "string"
      }
    }
  ]
}

方式二:LangChain Hub复用模板

from langchain import hub
prompt = hub.pull("hwchase17/react")

阶段2:Agent能力构建

2.1 选择设计模式并实现

ReAct模式实现示例:

from langchain.agents import initialize_agent, Tool
from langchain.llms import Ollama

# 定义工具
tools = [
    Tool(
        name="Calculator",
        func=lambda x: eval(x),
        description="执行数学计算"
    )
]

# 初始化Agent
llm = Ollama(model="deepseek-r1:7b")
agent = initialize_agent(
    tools, 
    llm, 
    agent="zero-shot-react-description"
)

# 执行任务
result = agent.run("计算(123+456)*2等于多少?")

2.2 能力优化(微调/蒸馏)

场景示例:新闻分类Agent

微调步骤:

  1. 准备训练数据(1000条新闻+分类标签)
  2. 使用LLaMA-Factory微调DeepSeek R1
  3. 导出优化后的模型

数据格式:

[
  {
    "instruction": "对新闻进行分类",
    "input": "苹果公司发布新款iPhone...",
    "output": "科技类"
  }
]

阶段3:工程化落地

3.1 搭建智能体平台(MCP架构)

技术栈组合:

  • 模型层:Ollama部署的DeepSeek R1
  • 工具层:自定义Function Calling
  • 前端层:LobeChat可视化对话

LobeChat集成步骤:

# 1. 克隆项目
git clone https://github.com/lobehub/lobe-chat.git

# 2. 配置环境变量
echo "OLLAMA_BASE_URL=http://localhost:11434" > .env

# 3. 启动服务
npm install && npm run dev

3.2 多Agent协作编排(LangGraph)

金融分析项目示例:

from langgraph.graph import StateGraph

# 定义Agent节点
def data_collector(state):
    """数据采集Agent"""
    stock_data = fetch_stock_data(state["symbol"])
    return {"stock_data": stock_data}

def analyzer(state):
    """分析Agent"""
    analysis = run_technical_analysis(state["stock_data"])
    return {"analysis": analysis}

def reporter(state):
    """报告Agent"""
    report = generate_report(state["analysis"])
    return {"report": report}

# 构建工作流
workflow = StateGraph()
workflow.add_node("collector", data_collector)
workflow.add_node("analyzer", analyzer)
workflow.add_node("reporter", reporter)

workflow.add_edge("collector", "analyzer")
workflow.add_edge("analyzer", "reporter")

app = workflow.compile()

阶段4:部署与运维

4.1 高可用集群部署

Higress网关配置:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: agent-gateway
spec:
  rules:
  - host: agent.example.com
    http:
      paths:
      - path: /
        backend:
          service:
            name: ollama-service
            port: 11434
4.2 资源方案选择
部署规模 推荐方案 硬件要求
个人开发 Ollama单机 16GB内存+RTX 3060
小团队 Kubernetes+GPU 3节点+A100×2
轻量部署 llama.cpp CPU 32GB内存

三、关键技术工具

3.1 LLaMA-Factory(微调工具)

核心能力
  • 支持100+主流大模型(DeepSeek、Qwen、ChatGLM等)
  • 覆盖SFT、DPO、PPO全流程微调
  • Web UI低门槛操作
使用流程
# 1. 安装
git clone https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -r requirements.txt

# 2. 启动Web UI
python src/train_web.py

# 3. 浏览器访问
# http://localhost:7860
# 选择模型→上传数据→点击"开始训练"
微调配置示例
model_name: deepseek-r1-7b
dataset: news_classification
finetuning_type: lora
lora_rank: 8
learning_rate: 5e-5
num_epochs: 3

3.2 模型蒸馏工具

Hugging Face Transformers

特点:内置DistilBERT等预训练蒸馏模型

代码示例:

from transformers import DistilBertForSequenceClassification

# 加载教师模型
teacher = BertForSequenceClassification.from_pretrained("bert-base")

# 加载学生模型
student = DistilBertForSequenceClassification.from_pretrained("distilbert-base")

# 执行蒸馏训练
train_distillation(teacher, student, train_data)

AutoDistill

优势:自动化端到端蒸馏工作流

使用场景:

  • 边缘设备部署(将GPT-3.5蒸馏到7B模型)
  • 云服务成本优化

DeepSpeed

适用:大规模模型压缩(GPT-3级别)

关键特性:

  • 支持蒸馏+量化+剪枝组合
  • 多GPU分布式训练
  • ZeRO优化器减少显存占用

3.3 蒸馏方案对比

方案 参数压缩率 速度提升 性能保留
DistilBERT 40% 60% 97%
TinyBERT 86% 9.4× 96.8%
LLaVA-KD 50% 95%

四、实战解决方案

案例1:新闻分类智能体

需求

自动将新闻分为科技/财经/体育/娱乐四类

解决方案
  1. 模型选择:DeepSeek R1-7B
  2. 微调:使用LLaMA-Factory,准备5000条标注数据
  3. 部署:Ollama单机部署
  4. 接口:FastAPI提供REST服务

完整代码:

from fastapi import FastAPI
from ollama import Client

app = FastAPI()
client = Client(host='http://localhost:11434')

@app.post("/classify")
async def classify_news(text: str):
    response = client.generate(
        model='news-classifier:latest',
        prompt=f"对以下新闻分类:\n{text}"
    )
    return {"category": response['response']}

案例2:金融分析多Agent系统

架构设计
用户查询 → 数据采集Agent → 分析Agent → 报告Agent → 输出结果
             ↓                ↓            ↓
          股票API          技术指标     生成PDF
技术实现
  • 编排工具:LangGraph
  • 模型:DeepSeek R1-14B(分析)+Qwen-7B(报告)
  • 工具:yfinance(数据)、pandas_ta(指标)、reportlab(PDF)

核心代码:

from langgraph.graph import StateGraph
import yfinance as yf

class FinanceAgent:
    def __init__(self):
        self.workflow = StateGraph()
        self._build_workflow()
    
    def _build_workflow(self):
        self.workflow.add_node("fetch_data", self.fetch_stock_data)
        self.workflow.add_node("analyze", self.technical_analysis)
        self.workflow.add_node("report", self.generate_report)
        
        self.workflow.add_edge("fetch_data", "analyze")
        self.workflow.add_edge("analyze", "report")
    
    def fetch_stock_data(self, state):
        ticker = yf.Ticker(state["symbol"])
        data = ticker.history(period="1y")
        return {"data": data}
    
    def technical_analysis(self, state):
        # 调用DeepSeek R1进行分析
        analysis = call_llm_analysis(state["data"])
        return {"analysis": analysis}
    
    def generate_report(self, state):
        # 调用Qwen生成报告
        report = call_llm_report(state["analysis"])
        return {"report": report}

案例3:轻量级客服Agent(CPU部署)

挑战
  • 没有GPU资源
  • 需要快速响应(<2秒)
解决方案
  1. 模型蒸馏:将Qwen-14B蒸馏到Qwen-2.5-3B
  2. 部署工具:llama.cpp(CPU优化)
  3. 量化:使用Q4_K_M量化(内存<4GB)

部署命令:

# 1. 编译llama.cpp
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp && make

# 2. 转换模型
python convert.py /path/to/qwen-3b --outtype q4_k_m

# 3. 启动服务
./server -m qwen-3b-q4.gguf -c 2048 --host 0.0.0.0 --port 8080

性能测试:

  • CPU:Intel i7-12700(16核心)
  • 内存占用:3.2GB
  • 响应延迟:1.5秒/次

总结

开发路径选择

场景A:快速原型验证
→ Ollama部署 + ReAct模式 + Function Calling

场景B:企业级应用
→ Kubernetes集群 + 多Agent协作 + LangGraph编排 + Higress网关

场景C:资源受限环境
→ 模型蒸馏 + llama.cpp部署 + 量化优化


关键成功要素

  1. 选对模型:根据任务复杂度选择7B/14B/70B参数规模
  2. 工具适配:通过微调让Agent学习特定领域知识
  3. 工程优化:使用蒸馏/量化降低部署成本
  4. 流程编排:复杂任务拆解为多Agent协作

进阶资源

  • LLaMA-Factory文档:https://github.com/hiyouga/LLaMA-Factory
  • LangGraph教程:https://langchain-ai.github.io/langgraph/
  • Ollama模型库:https://ollama.ai/library
  • DeepSpeed优化指南:https://www.deepspeed.ai/

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐