LLM 与外部应用交互 (Interacting with external applications)
黎 浩然/ 27 11 月, 2023/ 大语言模型/LARGELANGUAGEMODEL/LLM, 机器学习/MACHINELEARNING, 研究生/POSTGRADUATE, 计算机/COMPUTER/ 0 comments
一、背景与动机
- 之前章节讨论了LLM(大型语言模型)如何与外部数据集交互。
- 本节重点介绍LLM如何与外部应用程序交互。
- 案例:客户服务机器人(ShopBot)处理商品退货请求全过程。
二、案例分析:ShopBot处理退货请求
流程步骤:
- 数据库查询订单信息:
- 通过SQL查询后端订单数据库,非文档语料库。
- 可利用RAG(检索增强生成)架构实现数据检索。
- 确认退货商品:
- Bot询问客户是否有其他商品需要退货。
- 用户确认退货范围。
- 生成退货标签:
- 使用Python API与公司物流合作伙伴交互。
- 请求生成物流退货标签。
- 确认客户邮箱地址:
- 机器人请求客户确认用于发送标签的邮箱。
- 客户提供邮箱地址。
- 邮箱地址被纳入API请求。
- 完成API调用并通知客户:
- 完成标签生成并通过邮件发送给客户。
- 通知客户邮件已发送,结束交互。
三、LLM与外部应用交互的重要性
- 允许LLM与更广泛的应用场景及现实世界互动。
- 触发应用中的动作,扩展LLM的实际功能范围。
- 示例:
- 调用外部API,如物流系统。
- 接入其他编程资源(如Python解释器),用于精准计算或数据处理。
四、关键技术要素
1. Prompt与Completion的重要性:
- Prompt(提示词)与Completion(模型生成内容)构成应用工作流核心。
- 模型产生的Completion决定应用的后续动作。
2. Completion的必要信息:
- 生成明确的指令:
- 应用程序需识别并执行。
- 示例关键步骤:
- 查询订单编号
- 请求物流退货标签
- 验证用户邮箱
- 发送标签邮件给用户
- 格式化输出内容:
- 应用需易于识别和解析的结构。
- 可简单(句子结构)或复杂(如生成Python脚本、SQL命令)。
- 示例:检查订单存在的SQL查询。
- 验证必要信息:
- 需用户提供信息以完成验证流程。
- 如确认客户订单时使用的邮箱地址。
- 信息纳入Completion后传递给应用。
五、有效的Prompt结构
- 正确的Prompt设计至关重要。
- 影响输出计划质量与格式遵守程度。
- 提高模型产生的Completion与实际需求的匹配度。
六、总结
- LLM连接外部应用的能力扩展了模型实际应用场景。
- 设计合理的Prompt和Completion结构确保有效执行应用逻辑。
- LLM能驱动更复杂的业务逻辑与交互流程,实现更多实际用途。