用 RAG 和 LLM 构建 WhatsApp AI 客服 Agent
教程展示如何用 WhatsApp Cloud API、FastAPI、LLM 和 RAG 向量数据库构建智能客服,能从公司文档中检索信息并自动生成回复。
完整中文译文
WhatsApp AI Agent 配合 RAG 如何工作
企业越来越多地将 WhatsApp 作为客户支持、销售和服务自动化的主要沟通渠道。然而,手动管理数千个客户对话既耗时又昂贵。

通过结合 WhatsApp Cloud API、AI Agents 和检索增强生成(RAG),开发人员可以构建能够理解客户问题、从公司文档中检索准确信息并自动生成有帮助的回复的智能 WhatsApp 助手。
与依赖预定义规则的传统聊天机器人不同,由 RAG 驱动的 AI Agent 可以使用实际业务数据(如产品目录、常见问题、政策、订单信息和内部文档)来回答动态问题。
在本教程中,我们将使用以下内容构建 WhatsApp AI Agent 的架构:
大语言模型(LLMs)
检索增强生成(RAG)
工作原理
完整的工作流如下所示:
Customer
|
| WhatsApp Message
|
WhatsApp Cloud API
|
Webhook Server
|
AI Agent
|
RAG Pipeline
|
Vector Database + Business Data
|
Generated Response
|
Customer receives reply
客户发送 WhatsApp 消息。webhook 接收请求,AI Agent 理解用户意图,使用 RAG 检索相关信息,并生成准确的回复。
Step 1: 设置 WhatsApp Cloud API
Meta 提供了 WhatsApp Cloud API,允许应用程序以编程方式发送和接收 WhatsApp 消息。
创建 Meta 开发者应用后,启用 WhatsApp 产品。
WhatsApp Business Account ID
这些凭证允许你的后端应用与 WhatsApp 服务器通信。
Step 2: 创建 Webhook 服务器
WhatsApp 使用 webhooks 在客户发送消息时通知你的应用程序。
在此示例中,我们将使用 Python FastAPI。
安装依赖:
pip install fastapi uvicorn openai requests
创建 webhook 端点:
from fastapi import FastAPI, Request
app = FastAPI()
@app.post("/webhook")
async def webhook(request: Request):
data = await request.json()
print(data)
return {
"status": "received"
}
uvicorn main:app --reload
你的后端现在可以接收 WhatsApp 事件。
Step 3: 提取传入的 WhatsApp 消息
WhatsApp 通过 webhook 负载发送消息信息。
{
"messages": [
{
"from": "923001234567",
"text": {
"body": "What are your delivery options?"
}
}
]
}
提取客户消息:
message = data["messages"][0]["text"]["body"]
sender = data["messages"][0]["from"]
现在我们可以处理客户的问题。

Step 4: 连接 AI Agent
下一步是连接可以理解和生成自然语言回复的 AI 模型。
使用 OpenAI 的示例:
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY"
)
def ask_ai(question):
response = client.chat.completions.create(
model="gpt-4.1-mini",
messages=[
{
"role": "system",
"content":
"You are a helpful customer support assistant."
},
{
"role": "user",
"content": question
}
]
)
return response.choices[0].message.content
Do you deliver to Helsinki?
Yes, we provide delivery services across Finland.
一个通用的 AI 模型不知道你的私有业务信息。
例如,它不知道:
内部文档
这就是检索增强生成(RAG)变得重要的地方。
RAG 允许 AI Agent 在生成答案之前搜索你自己的知识库。
Business Documents
↓
Create Embeddings
↓
Store in Vector Database
↓
Customer Question
↓
Retrieve Relevant Information
↓
AI Generates Final Answer
流行的向量数据库:
What is your refund policy?
AI 不是猜测,而是检索:
Refunds are available within 30 days with a valid receipt.
然后它生成最终响应。
这使聊天机器人更准确,减少了不正确的 AI 生成的答案。
Step 6: 将 AI 响应发送回 WhatsApp
生成响应后,使用 WhatsApp Cloud API 将其发送回去。
import requests
def send_message(phone, text):
url = (
"https://graph.facebook.com/v20.0/"
"PHONE_NUMBER_ID/messages"
)
headers = {
"Authorization":
"Bearer ACCESS_TOKEN",
"Content-Type":
"application/json"
}
payload = {
"messaging_product": "whatsapp",
"to": phone,
"text": {
"body": text
}
}
requests.post(
url,
headers=headers,
json=payload
)
完整的自动化流程:
Customer Message
↓
WhatsApp Cloud API
↓
FastAPI Webhook
↓
AI Agent + RAG
↓
Generate Response
↓
WhatsApp Reply
使 WhatsApp AI Agent 更强大
生产级 AI 助手通常包括额外功能。
Agent 可以记住之前的消息。
User:
My order number is 12345
Later:
Where is my order?
AI 理解之前的上下文。
AI Agents 可以执行实际操作:
创建支持票证
Customer:
Where is my package?
AI:
Checking your order status...
人工支持交接
一个好的 AI 系统应该知道何时需要人工协助。
Customer:
I want to report a payment problem.
AI:
I will connect you with our support team.
WhatsApp AI Agents 配合 RAG 可以自动化:
电子商务助手
产品推荐
使用 RAG 构建 WhatsApp AI Agent 结合了消息自动化和现代 AI 系统的智能。
关键组件是:
WhatsApp Cloud API 用于通信
Webhooks 用于接收消息
AI Agents 用于推理和对话
RAG 用于访问公司知识
向量数据库用于高效的信息检索
使用这种架构,开发人员可以创建可扩展的 WhatsApp 助手,提供准确、个性化和自动化的客户体验。

如需进一步操作,你可以考虑屏蔽此用户和/或举报滥用行为。