Back to Blog

AI Agent 开发实战:Dify 和 LangChain 接入 Claude/GPT API 完整教程

用 Dify 和 LangChain 开发 AI Agent 智能体,如何接入 Claude 和 GPT API?本教程教你搭建 RAG 应用、多模型工作流、智能客服,附完整代码和国内部署方案。

AI Agent 开发实战:Dify 和 LangChain 接入 Claude/GPT API 完整教程

AI Agent(智能体)能够自主调用工具、分步完成复杂任务,是当前 AI 应用开发的重要方向。无论用 Dify 零代码搭建,还是用 LangChain 编程开发,核心都是调用 Claude/GPT 的 API。本教程展示如何接入 derouter.ai 的 API,在国内直连开发 AI Agent。

AI Agent 是什么?

AI Agent 不只是聊天机器人。它可以:

  • 自主决策:根据用户需求选择不同工具
  • 调用工具:搜索网页、查数据库、调 API、执行代码
  • 多步推理:把复杂任务分解为多个步骤
  • 记忆上下文:记住之前的对话和操作结果

方案对比:Dify vs LangChain

维度DifyLangChain
上手难度⭐ 可视化拖拽⭐⭐⭐ 需要编程
灵活性中等极高
部署方式Docker 一键部署自己搭建
适合谁非程序员、快速原型开发者、定制需求
API 消耗通过平台调用直接调用
社区生态中国社区活跃全球社区活跃

建议

  • 快速验证想法 → Dify
  • 需要深度定制 → LangChain
  • 生产环境 → 两者都可以,按需选择

Dify 接入 derouter.ai

1. 部署 Dify

Dify 本地部署
# Docker 一键部署 Dify
git clone https://github.com/langgenius/dify.git
cd dify/docker
cp .env.example .env
docker compose up -d

# 访问 http://localhost/install 完成初始化

2. 配置 Claude API

在 Dify 设置中添加模型提供商:

  1. 进入 设置 → 模型提供商 → Anthropic
  2. API Key: 填入 derouter.ai 的 API Key
  3. API Base URL: https://api.derouter.ai/proxy/v1
  4. 保存后即可在 Dify 中使用 Claude Opus/Sonnet/Haiku

3. 配置 GPT API

同时配置 OpenAI 模型:

  1. 设置 → 模型提供商 → OpenAI
  2. API Key: 同一个 derouter.ai Key
  3. API Base URL: https://api.derouter.ai/openai/v1
  4. 现在可以在 Dify 中同时使用 Claude 和 GPT

4. 创建 AI Agent

在 Dify 中创建 Agent:

  1. 选择「Agent」应用类型
  2. 选择模型:Claude Sonnet 4.6(日常)或 Opus 4.6(复杂任务)
  3. 添加工具:网页搜索、知识库检索、代码执行等
  4. 编写 System Prompt
  5. 测试并发布

LangChain 接入 derouter.ai

基础配置

LangChain 配置 derouter.ai
from langchain_anthropic import ChatAnthropic
from langchain_openai import ChatOpenAI

# Claude 模型(通过 derouter.ai)
claude = ChatAnthropic(
    model='claude-sonnet-4-6',
    anthropic_api_key='your-derouter-key',
    anthropic_api_url='https://api.derouter.ai/proxy/v1',
)

# GPT 模型(通过 derouter.ai)
gpt = ChatOpenAI(
    model='gpt-5.4',
    openai_api_key='your-derouter-key',
    openai_api_base='https://api.derouter.ai/openai/v1',
)

创建 ReAct Agent

LangChain ReAct Agent
from langchain.agents import create_react_agent, AgentExecutor
from langchain_core.tools import tool
from langchain import hub

@tool
def search_web(query: str) -> str:
    '''搜索网页获取最新信息'''
    # 接入你的搜索 API
    return f'搜索结果: {query}'

@tool
def query_database(sql: str) -> str:
    '''查询数据库获取业务数据'''
    # 接入你的数据库
    return f'查询结果: {sql}'

@tool
def send_email(to: str, subject: str, body: str) -> str:
    '''发送邮件'''
    # 接入邮件 API
    return f'邮件已发送给 {to}'

# 创建 Agent
tools = [search_web, query_database, send_email]
prompt = hub.pull('hwchase17/react')

agent = create_react_agent(claude, tools, prompt)
executor = AgentExecutor(agent=agent, tools=tools, verbose=True)

# 运行
result = executor.invoke({
    'input': '查一下上个月销售额最高的产品,然后给销售团队发一封总结邮件'
})

RAG(检索增强生成)应用

RAG 知识库问答(本地向量 + Claude)
from langchain_community.vectorstores import FAISS
from langchain_anthropic import ChatAnthropic
from langchain.chains import RetrievalQA
from langchain_community.embeddings import HuggingFaceEmbeddings

# 1. 准备向量数据库(本地 embedding,不花钱)
embeddings = HuggingFaceEmbeddings(
    model_name='shibing624/text2vec-base-chinese'
)

# 2. 加载文档建立索引
from langchain_community.document_loaders import DirectoryLoader
loader = DirectoryLoader('./docs/', glob='**/*.txt')
docs = loader.load()
vectorstore = FAISS.from_documents(docs, embeddings)

# 3. 创建 RAG Chain
llm = ChatAnthropic(
    model='claude-sonnet-4-6',
    anthropic_api_key='your-derouter-key',
    anthropic_api_url='https://api.derouter.ai/proxy/v1',
)

qa_chain = RetrievalQA.from_chain_type(
    llm=llm,
    chain_type='stuff',
    retriever=vectorstore.as_retriever(search_kwargs={'k': 3}),
)

# 4. 查询
result = qa_chain.invoke('公司的退货政策是什么?')

实战案例:智能客服 Agent

智能客服 Agent 实战
from langchain_anthropic import ChatAnthropic
from langchain.agents import create_react_agent, AgentExecutor
from langchain_core.tools import tool
from langchain_core.prompts import ChatPromptTemplate

# 工具定义
@tool
def check_order(order_id: str) -> str:
    '''根据订单号查询订单状态、物流信息'''
    # 实际项目中查数据库
    return f'订单 {order_id}: 已发货,预计3天后到达'

@tool
def search_faq(question: str) -> str:
    '''搜索FAQ知识库回答常见问题'''
    # 实际项目中用向量检索
    return '退货政策:30天无理由退货,免费寄回。'

@tool
def create_ticket(description: str) -> str:
    '''创建人工客服工单(AI 无法解决时使用)'''
    return f'工单已创建: {description},客服将在1小时内联系您。'

# 创建客服 Agent
llm = ChatAnthropic(
    model='claude-sonnet-4-6',
    anthropic_api_key='your-derouter-key',
    anthropic_api_url='https://api.derouter.ai/proxy/v1',
)

system_prompt = '''你是一个专业的电商客服 Agent。

规则:
1. 用客户的语言回复
2. 先查 FAQ 知识库,再查订单
3. 如果无法解决,创建人工工单
4. 始终礼貌、简洁

可用工具:check_order, search_faq, create_ticket'''

# ... 创建并运行 Agent

成本估算

AI Agent 的 API 消耗比普通聊天高,因为每次任务会多次调用模型:

Agent 类型平均每次调用 Token月调用 1000 次(derouter.ai)
简单问答 Agent3K$2.10
RAG 知识库 Agent8K$5.50
多工具 Agent15K$10.30
复杂工作流 Agent30K$20.60

对比使用官方 API:

Agent 类型月费(官方 Claude)月费(derouter.ai)节省
简单问答$9.00$2.1077%
RAG 知识库$24.00$5.5077%
多工具$45.00$10.3077%
复杂工作流$90.00$20.6077%

常见问题

总结

开发 AI Agent 的关键:

  1. 选工具:Dify(零代码)或 LangChain(编程)
  2. 选模型:Sonnet(日常)+ Opus(复杂推理)
  3. 选 API:derouter.ai 国内直连,省 77%
  4. 先 MVP:先做最小可用版本,再迭代优化

通过 derouter.ai,一个 API Key 同时用 Claude + GPT,加密货币,国内直连。

Ready to Get Started?

Access Claude, GPT, and more at a fraction of the cost.

Create Free Account

Related Articles