一、为什么跨境电商需要AI智能体?
跨境电商的业务链条长、系统多、规则复杂。客服要回答多语言咨询、广告投放要动态调价、供应链要管库存和物流——这些场景天然适合用大模型来提效。但直接调用大模型 API 远远不够:模型不知道你的商品库存、不知道你的退换货政策、也不知道广告平台的出价规则。

解决这个问题的核心思路是:LLM(推理大脑)+ RAG(外部知识库)+ Workflow(流程编排) 。LLM 负责理解意图和生成回答,RAG 负责从知识库检索准确信息,Workflow 负责把任务拆解成可执行的步骤。

本文将从零搭建一个跨境电商 AI 智能体原型,覆盖客服问答、商品查询、库存查询等典型场景。

二、整体架构
text
┌─────────────────────────────────────────────────────────┐
│ 用户请求(客服/运营) │
└─────────────────────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────┐
│ Agent 工作流(LangGraph) │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌────────┐ │
│ │任务理解节点│→│RAG检索节点│→│工具调用节点│→│结果生成│ │
│ └──────────┘ └──────────┘ └──────────┘ └────────┘ │
└─────────────────────────────────────────────────────────┘
│ │ │
▼ ▼ ▼
┌──────────┐ ┌────────────┐ ┌──────────────┐
│ 向量数据库 │ │ 业务API │ │ 大模型(OpenAI│
│(知识库) │ │(库存/订单)│ │ /DeepSeek等)│
└──────────┘ └────────────┘ └──────────────┘
整个系统分为三层:知识层(向量数据库存储FAQ、产品、政策等知识)、执行层(工具函数对接各类业务API)、决策层(Agent工作流负责理解、检索、调用、生成)。

三、环境准备与依赖安装
bash

创建虚拟环境

python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate

安装核心依赖

pip install langchain1.0.0 langgraph0.1.0
pip install openai chromadb tiktoken
pip install faiss-cpu pandas numpy
参考 LangChain V1.x 的依赖管理方案,建议使用 conda 隔离环境以避免版本冲突。

四、LLM 多模型调用封装
跨境电商场景下可能需要切换不同模型(OpenAI 处理复杂推理、DeepSeek 处理低成本大批量任务)。我们封装一个统一的模型调用接口:

python
import os
from openai import OpenAI
from typing import Optional

class LLMClient:
“”“统一的大模型调用客户端,支持多模型切换”“”

def __init__(self, provider: str = "openai"):
    self.provider = provider
    if provider == "openai":
        self.client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
        self.model = "gpt-4-turbo"
    elif provider == "deepseek":
        self.client = OpenAI(
            api_key=os.getenv("DEEPSEEK_API_KEY"),
            base_url="https://api.deepseek.com/v1"
        )
        self.model = "deepseek-chat"
    # 可扩展 Claude、Gemini 等[reference:4]

def chat(self, messages: list, temperature: float = 0.3) -> str:
    response = self.client.chat.completions.create(
        model=self.model,
        messages=messages,
        temperature=temperature
    )
    return response.choices[0].message.content

使用示例

llm = LLMClient(“openai”)
response = llm.chat([
{“role”: “system”, “content”: “你是跨境电商客服助手”},
{“role”: “user”, “content”: “用户问:这款产品的退换货政策是什么?”}
])
五、RAG 知识库构建
RAG(检索增强生成)的核心是:把文档切成小块 → 转成向量 → 存入向量数据库 → 查询时找最相似的片段 → 喂给 LLM 生成回答。

跨境电商需要建设的知识库包括:客服 FAQ、产品说明书、广告投放策略、供应链规则等。

5.1 文档加载与分块
python
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain.document_loaders import TextLoader

加载知识文档(FAQ、产品手册、政策文件等)

loader = TextLoader(“./knowledge_base/faq.txt”)
documents = loader.load()

分块:将长文档切分成适合检索的小块

text_splitter = RecursiveCharacterTextSplitter(
chunk_size=500,
chunk_overlap=50, # 重叠避免上下文断裂
separators=[“\n\n”, “\n”, “。”, “!”, “?”, “;”]
)
chunks = text_splitter.split_documents(documents)
print(f"文档已切分为 {len(chunks)} 个片段")
分块策略参考了 LangChain 的 RecursiveCharacterTextSplitter 实现,它按层级分隔符递归切割,能较好保留语义完整性。

5.2 向量化与存储
python
from langchain.embeddings import OpenAIEmbeddings
from langchain.vectorstores import Chroma

初始化嵌入模型

embeddings = OpenAIEmbeddings(model=“text-embedding-3-small”)

创建向量数据库(Chroma 轻量级,适合开发测试)

vector_store = Chroma.from_documents(
documents=chunks,
embedding=embeddings,
persist_directory=“./chroma_db”
)
vector_store.persist()
生产环境可选用 Pinecone、Weaviate 或 FAISS 等专业向量数据库。

5.3 RAG 检索与生成
python
def rag_query(query: str, top_k: int = 3) -> str:
“”“执行 RAG 检索增强生成”“”
# 1. 检索相关文档片段
retriever = vector_store.as_retriever(search_kwargs={“k”: top_k})
docs = retriever.get_relevant_documents(query)

# 2. 构建上下文
context = "\n\n".join([doc.page_content for doc in docs])

# 3. 调用 LLM 生成回答
llm = LLMClient("openai")
response = llm.chat([
    {"role": "system", "content": f"""你是跨境电商客服助手。

请基于以下知识库内容回答用户问题。如果知识库中没有相关信息,请明确告知用户。
知识库内容:
{context}
“”"},
{“role”: “user”, “content”: query}
])
return response

测试

print(rag_query(“欧洲站的退换货流程是什么?”))
六、工具函数(Tool Calling):对接业务系统
AI 智能体不仅要知道“知识”,还要能“做事”——查库存、查订单、调广告出价。这就需要通过 Function Calling 让大模型调用外部 API。

6.1 定义工具函数
python
import json
from typing import Optional

工具1:查询商品库存

def query_inventory(product_sku: str, warehouse: str = “US”) -> dict:
“”“查询指定SKU在特定仓库的库存”“”
# 实际场景中对接 ERP 或库存系统 API
# 这里模拟数据
mock_data = {
(“SKU-001”, “US”): {“stock”: 156, “status”: “正常”},
(“SKU-001”, “EU”): {“stock”: 43, “status”: “低库存”},
(“SKU-002”, “US”): {“stock”: 0, “status”: “缺货”},
}
return mock_data.get((product_sku, warehouse), {“stock”: 0, “status”: “未知”})

工具2:查询订单状态

def query_order(order_id: str) -> dict:
“”“查询订单状态和物流信息”“”
# 实际场景中对接 Amazon/Walmart 订单 API
mock_orders = {
“ORD-001”: {“status”: “已发货”, “tracking”: “USPS-123456”, “eta”: “2026-07-10”},
“ORD-002”: {“status”: “待付款”, “tracking”: None, “eta”: None},
}
return mock_orders.get(order_id, {“status”: “未找到”, “tracking”: None, “eta”: None})
6.2 注册工具给大模型
python
from openai import OpenAI

client = OpenAI()

定义工具 Schema(符合 OpenAI Function Calling 规范)

tools = [
{
“type”: “function”,
“function”: {
“name”: “query_inventory”,
“description”: “查询商品库存。当用户询问某商品是否有货时调用。”,
“parameters”: {
“type”: “object”,
“properties”: {
“product_sku”: {“type”: “string”, “description”: “商品SKU编码”},
“warehouse”: {“type”: “string”, “description”: “仓库地区,如US/EU/JP”}
},
“required”: [“product_sku”]
}
}
},
{
“type”: “function”,
“function”: {
“name”: “query_order”,
“description”: “查询订单状态。当用户询问订单物流时调用。”,
“parameters”: {
“type”: “object”,
“properties”: {
“order_id”: {“type”: “string”, “description”: “订单编号”}
},
“required”: [“order_id”]
}
}
}
]

可用工具映射

available_tools = {
“query_inventory”: query_inventory,
“query_order”: query_order,
}
6.3 完整的工具调用循环
python
def agent_with_tools(user_query: str) -> str:
“”“带工具调用的 Agent 执行流程”“”
messages = [
{“role”: “system”, “content”: “你是跨境电商助手,可以查询库存和订单信息。”},
{“role”: “user”, “content”: user_query}
]

# 第一轮:让模型决定是否需要调用工具
response = client.chat.completions.create(
    model="gpt-4-turbo",
    messages=messages,
    tools=tools,
    tool_choice="auto"
)

response_message = response.choices[0].message
tool_calls = response_message.tool_calls

# 如果模型不需要调用工具,直接返回
if not tool_calls:
    return response_message.content

# 执行工具调用
messages.append(response_message)
for tool_call in tool_calls:
    function_name = tool_call.function.name
    function_args = json.loads(tool_call.function.arguments)
    
    # 执行对应的工具函数
    if function_name in available_tools:
        result = available_tools[function_name](**function_args)
    else:
        result = {"error": f"未知工具: {function_name}"}
    
    # 将工具执行结果返回给模型
    messages.append({
        "role": "tool",
        "tool_call_id": tool_call.id,
        "content": json.dumps(result, ensure_ascii=False)
    })

# 第二轮:模型基于工具结果生成最终回答
final_response = client.chat.completions.create(
    model="gpt-4-turbo",
    messages=messages
)
return final_response.choices[0].message.content

测试

print(agent_with_tools(“SKU-001还有货吗?”))
print(agent_with_tools(“帮我查一下订单ORD-001到哪了?”))
七、Agent 工作流编排(LangGraph)
当任务变复杂时(比如“用户要退货 → 查订单 → 判断是否在退货期 → 生成退货标签 → 通知仓库”),就需要工作流编排。LangGraph 通过图结构把多个步骤组织成有向图,支持条件分支和状态管理。

python
from langgraph.graph import StateGraph, END
from typing import TypedDict, Literal

定义工作流状态

class AgentState(TypedDict):
query: str
intent: str
retrieved_docs: list
tool_result: dict
final_answer: str

定义工作流节点

def understand_intent(state: AgentState) -> AgentState:
“”“节点1:意图识别”“”
llm = LLMClient(“openai”)
response = llm.chat([
{“role”: “system”, “content”: “识别用户意图,只输出一个词:faq(知识问答)、inventory(库存查询)、order(订单查询)”},
{“role”: “user”, “content”: state[“query”]}
])
state[“intent”] = response.strip()
return state

def route_by_intent(state: AgentState) -> Literal[“rag_retrieve”, “call_tool”, “unknown”]:
“”“路由函数:根据意图决定下一步”“”
intent = state.get(“intent”, “”)
if intent == “faq”:
return “rag_retrieve”
elif intent in [“inventory”, “order”]:
return “call_tool”
else:
return “unknown”

def rag_retrieve(state: AgentState) -> AgentState:
“”“节点2:RAG检索(处理FAQ类问题)”“”
docs = vector_store.similarity_search(state[“query”], k=3)
state[“retrieved_docs”] = docs
return state

def call_tool(state: AgentState) -> AgentState:
“”“节点2(分支):工具调用(处理库存/订单类问题)”“”
# 复用前面实现的 agent_with_tools 逻辑
result = agent_with_tools(state[“query”])
state[“tool_result”] = {“result”: result}
return state

def generate_answer(state: AgentState) -> AgentState:
“”“节点3:生成最终回答”“”
if state.get(“retrieved_docs”):
context = “\n”.join([d.page_content for d in state[“retrieved_docs”]])
llm = LLMClient(“openai”)
answer = llm.chat([
{“role”: “system”, “content”: f"基于以下知识回答用户:\n{context}"},
{“role”: “user”, “content”: state[“query”]}
])
state[“final_answer”] = answer
elif state.get(“tool_result”):
state[“final_answer”] = state[“tool_result”][“result”]
else:
state[“final_answer”] = “抱歉,我无法处理这个问题。”
return state

构建工作流图

workflow = StateGraph(AgentState)
workflow.add_node(“understand”, understand_intent)
workflow.add_node(“rag_retrieve”, rag_retrieve)
workflow.add_node(“call_tool”, call_tool)
workflow.add_node(“generate”, generate_answer)

workflow.set_entry_point(“understand”)
workflow.add_conditional_edges(
“understand”,
route_by_intent,
{
“rag_retrieve”: “rag_retrieve”,
“call_tool”: “call_tool”,
“unknown”: “generate”
}
)
workflow.add_edge(“rag_retrieve”, “generate”)
workflow.add_edge(“call_tool”, “generate”)
workflow.add_edge(“generate”, END)

编译并执行

app = workflow.compile()
result = app.invoke({“query”: “欧洲站的退货政策是什么?”})
print(result[“final_answer”])
八、质量保障与人工兜底
AI 输出需要建立质量评估和兜底机制:

python
def quality_check(answer: str) -> dict:
“”“简单的质量检测”“”
issues = []
# 检测1:是否包含明确的"我不知道"
if “不知道” in answer or “无法” in answer:
issues.append(“模型表示无法回答”)
# 检测2:回答是否过短
if len(answer) < 10:
issues.append(“回答内容过短”)
# 检测3:是否包含幻觉信号(如具体但无法核实的数据)
# 实际场景可接入更复杂的评估模型

return {
    "passed": len(issues) == 0,
    "issues": issues,
    "need_human_review": len(issues) > 0
}

在生成答案后调用

result = app.invoke({“query”: “这个产品多少钱?”})
check = quality_check(result[“final_answer”])
if check[“need_human_review”]:
# 触发人工审核流程
print(f" 需人工复核: {check[‘issues’]}")
else:
print(result[“final_answer”])
九、总结与展望
本文从零搭建了一个跨境电商 AI 智能体原型,涵盖了:

LLM 多模型封装:支持 OpenAI、DeepSeek 等模型的统一调用

RAG 知识库:文档分块、向量化存储、检索增强生成

工具调用:Function Calling 对接库存、订单等业务 API

工作流编排:LangGraph 实现意图路由和多步骤任务

质量保障:输出检测与人工兜底机制

在实际生产环境中,还需要考虑:多语言支持(跨境电商覆盖多国)、知识库的持续更新、RAG 检索的混合检索(向量+关键词)优化、以及更完善的日志追踪和效果归因。

AI 智能体正在从“辅助工具”走向“决策核心”。希望本文能帮你迈出从零搭建的第一步。

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐