深入了解 LLM 中的函数调用,以及我们适合函数调用的商业和开源 LLM 列表。
译自 A Comprehensive Guide to Function Calling in LLMs,作者 Janakiram MSV。
减少大型语言模型中幻觉的已验证技术之一是 检索增强生成,或 RAG。RAG 使用检索器搜索外部数据,在将提示发送到生成器(即 LLM)之前,使用上下文对提示进行增强。
虽然 RAG 是最流行的方法,但它最适合从已编入索引并存储在 向量数据库 中的非结构化数据构建上下文。在 RAG 检索上下文之前,一个批处理过程会将非结构化数据转换为文本嵌入,并将其存储在向量数据库中。这使得 RAG 在处理不常更改的数据时非常理想。
当应用程序需要实时数据的上下文(例如股票报价、订单跟踪、航班状态或库存管理)时,它们依赖于 LLM 的函数调用功能。RAG 和函数调用的目标都是用上下文补充提示——无论是来自现有数据源还是实时 API——以便 LLM 能够访问准确的信息。
具有函数调用功能的 LLM 是 AI 代理 开发的基础,这些代理可以自主执行特定任务。例如,这些功能允许将 LLM 与其他 API 和系统集成,从而实现涉及数据检索、处理和分析的复杂工作流的自动化。
仔细了解函数调用
函数调用,也称为工具使用或 API 调用,是一种允许 LLM 与外部系统、API 和工具交互的技术。通过为 LLM 提供一组函数或工具及其描述和使用说明,该模型可以智能地选择和调用适当的函数来完成给定的任务。
这种能力改变了游戏规则,因为它使 LLM 能够摆脱基于文本的限制并与现实世界互动。LLM 不再仅仅生成文本,现在可以通过利用外部工具和服务执行操作、控制设备、从数据库中检索信息以及执行广泛的任务。
并非每个 LLM 都能够利用函数调用功能。那些经过专门训练或微调的 LLM 具有确定提示是否需要函数调用的能力。伯克利函数调用排行榜 提供了 LLM 在各种编程语言和 API 场景中的表现的见解,展示了函数调用模型在处理多个、并行和复杂函数执行方面的多功能性和鲁棒性。这种多功能性对于开发能够跨不同软件生态系统运行并处理需要同时执行操作的任务的 AI 代理至关重要。
应用程序通常使用函数调用功能两次调用 LLM:一次将提示映射到目标函数名称及其输入参数,再次将被调用函数的输出发送到生成最终响应。
下面的工作流显示了应用程序、函数和 LLM 如何交换消息以完成整个周期。
步骤 1:用户发送可能需要访问该函数的提示——例如,“新德里的当前天气如何?”
步骤 2:应用程序将提示与所有可用函数一起发送。在我们的示例中,这可能是提示以及函数 get_current_weather(city) 的输入模式。LLM 确定提示是否需要函数调用。如果是,它会查找提供的函数列表——及其各自的模式——并使用填充有函数集及其输入参数的 JSON 字典进行响应。
步骤 3:应用程序解析 LLM 响应。如果它包含函数,它将按顺序或并行调用它们。
步骤 4:然后将每个函数的输出包含在最终提示中并发送到 LLM。由于模型现在可以访问数据,因此它会根据函数提供的事实数据做出回答。
集成 RAG 和函数调用
RAG 与函数调用的集成可以显着增强基于 LLM 的应用程序的功能。基于函数调用的 RAG 代理利用了这两种方法的优势——利用外部知识库进行准确的数据检索,同时执行特定函数以有效完成任务。
在 RAG 框架内使用函数调用可以实现更结构化的检索流程。例如,可以预定义一个函数,根据用户查询提取特定信息,RAG 系统从一个综合知识库中检索这些信息。这种方法确保响应不仅相关,而且精确地针对应用程序的需求量身定制。
例如,在客户支持场景中,系统可以从数据库中检索产品规格,然后使用函数调用为用户查询格式化此信息,确保响应一致且准确。
此外,RAG 代理可以通过预定义的函数与外部数据库和 API 动态交互来处理复杂查询,从而简化应用程序工作流并减少手动干预的需要。这种方法在快速决策至关重要的环境中特别有益,例如金融服务或医疗诊断,系统可以提取最新的研究或市场数据并立即应用函数来分析此信息。
选择支持函数调用的 LLM
构建代理工作流和 RAG 代理时,选择支持函数调用的正确 LLM 非常重要。以下是适合函数调用的商业和开放 LLM 列表。
OpenAI GPT-4 和 GPT-3.5 Turbo
OpenAI 的 GPT-4 和 GPT-3.5 Turbo 模型是最著名的支持函数调用的商用 LLM。这使开发人员能够定义 LLM 在推理期间可以调用的自定义函数,以检索外部数据或执行计算。LLM 输出包含函数名称和参数的 JSON 对象。然后,开发人员的代码可以执行此操作,并将函数输出返回到 LLM。
Google Gemini
Google 的 Gemini LLM 还可以通过 Vertex AI 和 Google AI Studio 来调用函数。开发人员可以定义函数和描述,Gemini 模型可以通过返回结构化的 JSON 数据,在推理过程中调用这些函数和描述。
Anthropic Claude
Anthropic 的 Claude 3 系列 LLM 有一个 API,可以实现与 OpenAI 的模型类似的功能调用功能。
Mistral
开源的 Mistral 7B LLM 已展示出函数调用能力,允许开发人员定义模型推理期间可调用的自定义函数。
NexusRaven
NexusRaven 是一款专门为高级函数调用而设计的开源 13B LLM,在调用网络安全工具和 API 方面的一些基准测试中甚至超越了 GPT-4。
Gorilla OpenFunctions
Gorilla OpenFunctions 模型是一种经过 API 文档微调的 7B LLM。它可以从自然语言提示中生成准确的函数调用和 API 请求。
Fireworks FireFunction
FireFunction V1 是一种基于 Mixtral 8x7B 模型的开源函数调用模型。在结构化信息生成和路由决策的实际用例上,它达到了接近 GPT-4 的质量水平。
Nous Hermes 2
Pro Hermes 2 Pro 是一个出色的 7B 参数模型,擅长函数调用、JSON 结构化输出和常规任务。它在 Fireworks.ai 内置的函数调用评估中获得了 90% 的准确率,在结构化 JSON 输出评估中获得了 81% 的准确率。Hermes 2 Pro 在 Mistral 7B 和 Llama 3 8B 模型上都进行了微调,为开发者提供了众多选择。
在即将发表的有关函数调用的文章中,我将探讨如何使用商业和开放 LLM 实现此功能,以便构建一个可以访问实时数据的聊天机器人。
如何系统的去学习大模型LLM ?
作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。
但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的 AI大模型资料
包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
😝有需要的小伙伴,可以V扫描下方二维码免费领取🆓
一、全套AGI大模型学习路线
AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!
二、640套AI大模型报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
三、AI大模型经典PDF籍
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。
四、AI大模型商业化落地方案
阶段1:AI大模型时代的基础理解
- 目标:了解AI大模型的基本概念、发展历程和核心原理。
- 内容:
- L1.1 人工智能简述与大模型起源
- L1.2 大模型与通用人工智能
- L1.3 GPT模型的发展历程
- L1.4 模型工程
- L1.4.1 知识大模型
- L1.4.2 生产大模型
- L1.4.3 模型工程方法论
- L1.4.4 模型工程实践 - L1.5 GPT应用案例
阶段2:AI大模型API应用开发工程
- 目标:掌握AI大模型API的使用和开发,以及相关的编程技能。
- 内容:
- L2.1 API接口
- L2.1.1 OpenAI API接口
- L2.1.2 Python接口接入
- L2.1.3 BOT工具类框架
- L2.1.4 代码示例 - L2.2 Prompt框架
- L2.2.1 什么是Prompt
- L2.2.2 Prompt框架应用现状
- L2.2.3 基于GPTAS的Prompt框架
- L2.2.4 Prompt框架与Thought
- L2.2.5 Prompt框架与提示词 - L2.3 流水线工程
- L2.3.1 流水线工程的概念
- L2.3.2 流水线工程的优点
- L2.3.3 流水线工程的应用 - L2.4 总结与展望
- L2.1 API接口
阶段3:AI大模型应用架构实践
- 目标:深入理解AI大模型的应用架构,并能够进行私有化部署。
- 内容:
- L3.1 Agent模型框架
- L3.1.1 Agent模型框架的设计理念
- L3.1.2 Agent模型框架的核心组件
- L3.1.3 Agent模型框架的实现细节 - L3.2 MetaGPT
- L3.2.1 MetaGPT的基本概念
- L3.2.2 MetaGPT的工作原理
- L3.2.3 MetaGPT的应用场景 - L3.3 ChatGLM
- L3.3.1 ChatGLM的特点
- L3.3.2 ChatGLM的开发环境
- L3.3.3 ChatGLM的使用示例 - L3.4 LLAMA
- L3.4.1 LLAMA的特点
- L3.4.2 LLAMA的开发环境
- L3.4.3 LLAMA的使用示例 - L3.5 其他大模型介绍
- L3.1 Agent模型框架
阶段4:AI大模型私有化部署
- 目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。
- 内容:
- L4.1 模型私有化部署概述
- L4.2 模型私有化部署的关键技术
- L4.3 模型私有化部署的实施步骤
- L4.4 模型私有化部署的应用场景
学习计划:
- 阶段1:1-2个月,建立AI大模型的基础知识体系。
- 阶段2:2-3个月,专注于API应用开发能力的提升。
- 阶段3:3-4个月,深入实践AI大模型的应用架构和私有化部署。
- 阶段4:4-5个月,专注于高级模型的应用和部署。
这份完整版的大模型 LLM 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
😝有需要的小伙伴,可以Vx扫描下方二维码免费领取🆓