将LLM与现有应用集成:最佳实践与案例研究
我们将构建一个订单支持智能体,它位于现有电子商务后端之上。它可以查询订单、根据实时政策文档检查退款资格,并回答客户问题而不会编造数据。这种模式适用于任何你已经运行的内部API。
你需要:
- Python 3.10 或更高版本
- 来自 https://portal.oxlo.ai 的 Oxlo.ai API 密钥
- OpenAI SDK:pip install openai
步骤1:搭建现有应用层
将遗留系统视为只读。我们稍后会包装其函数,但首先需要一些东西来集成。将其保存为 legacy_orders.py。
# legacy_orders.py
# 我们无法直接修改的现有应用代码。
_ORDERS = {
"ORD-1001": {
"customer": "alice@example.com",
"items": ["Wireless Keyboard"],
"total": 89.99,
"status": "shipped",
},
"ORD-1002": {
"customer": "bob@example.com",
"items": ["4K Monitor"],
"total": 299.00,
"status": "delivered",
},
}
def get_order(order_id: str):
"""返回订单详情,如果未找到则返回 None。"""
return _ORDERS.get(order_id)
def calculate_refund(order_id: str):
"""返回退款资格和金额。"""
order = get_order(order_id)
if order is None:
return {"error": "Order not found"}
if order["status"] != "delivered":
return {"eligible": False, "reason": f"Status is {order['status']}"}
return {"eligible": True, "amount": order["total"]}
步骤2:定义智能体的工具
将遗留函数映射到兼容 OpenAI 的工具模式。LLM 将使用这些定义来决定何时调用我们的代码。