少样本提示提高工具调用效率 • Langchain
本文探讨了通过“少量示例提示”(few-shot prompting)来提高大型语言模型(LLM)在调用工具时的性能。研究表明,少量示例提示能够显著提升模型在多种任务上的表现。通过一系列实验,作者分析了不同提示构造方式对模型性能的影响,发现选择合适的示例和格式化方式是提高性能的关键。 实验设置 研究使用了两个数据集进行实验:Query Analysis 和 Multiverse Math。Query Analysis 测试模型如何基于用户问题选择搜索索引,而 Multiverse Math 则考察模型在更复杂的多次调用场景中的表现。 少量示例提示技术 实验中采用了多种少量示例提示技术,包括零-shot、静态和动态消息等方式。结果表明,动态选择的示例通常优于静态示例,且使用消息格式的表现优于字符串格式。 性能评估 通过检查工具调用的召回率和参数的匹配程度来评估模型的表现。实验结果显示,少量示例提示普遍提高了模型的准确性,尤其是 Claude 模型的表现提升显著。 关键发现 使用少量相关示例(如 3 个)可以与使用更多示例(如 9 个)达到相似的效果,显示出示例数量的边际效益递减。此外,小型模型在使用少量示例时,表现能够与大型模型相媲美。 未来研究方向 文章提出了未来的研究问题,包括负面示例的效果、最佳的示例检索方法以及在复杂任务中如何选择示例等,鼓励开发者探索更多优化 LLM 性能的可能性。 少样本提示提高工具调用效率 工具是大语言模型 (LLM) 应用的重要组成部分,我们一直在努力改进 LangChain 的工具接口(参见我们关于 标准化工具调用 和 核心工具改进 的文章)。 我们还在研究如何 提升 LLM 工具调用的性能。一种常见的方法是使用 少样本提示,即在提示中加入示例输入和期望输出。研究表明,少样本提示能显著提升模型在多种任务中的表现。 构建少样本提示的方法很多,但缺乏最佳实践。我们进行了几次实验,探讨不同技术如何影响模型和任务的性能,愿意与大家分享我们的结果。 实验 我们在两个数据集上进行了实验。第一个数据集是 Query Analysis,这是一个标准场景,模型根据用户问题调用不同的搜索索引。第二个数据集是 Multiverse Math,测试在更智能化的 ReAct 工作流程中进行函数调用(涉及对 LLM 的多次调用)。我们对多个 OpenAI 和 Anthropic 模型进行了基准测试,尝试用不同方法提供少样本示例,以找到最佳方案。 查询分析 第二个数据集要求模型选择调用哪个搜索索引。为了正确查询数据源,模型需要一些领域知识并细致理解各数据源的内容类型。问题设计得非常复杂,以挑战模型的工具选择能力。 示例数据点 question: What are best practices for setting up a document loader for a RAG chain?...