网站后台管理系统多少钱,WordPress表单系统,个人网站可以做音乐下载网,网站被k是什么表现LLMs之Llama 3.1#xff1a;Llama 3.1的简介、安装和使用方法、案例应用之详细攻略 导读#xff1a;2024年7月23日#xff0c;Meta重磅推出Llama 3.1。本篇文章主要提到了Meta推出的Llama 3.1自然语言生成模型。 背景和痛点 过去开源的大型语言模型在能力和性能上一…LLMs之Llama 3.1Llama 3.1的简介、安装和使用方法、案例应用之详细攻略 导读2024年7月23日Meta重磅推出Llama 3.1。本篇文章主要提到了Meta推出的Llama 3.1自然语言生成模型。 背景和痛点 过去开源的大型语言模型在能力和性能上一直落后于闭源模型。 具体解决方案 Meta公开发布了Meta Llama 3.1 405B模型这是目前世界上首个能与顶级AI模型媲美、最大和能力最强的开源基础模型。 除了405B旗舰模型外还升级了8B和70B多语种模型上下文长度达到128K工具使用能力和推理能力显著增强。 提供全套Llama系统包括引导、合成数据等多个组件。 核心思路和步骤 Llama 3.1 405B模型采用标准的transformer架构通过迭代式监督微调和直接偏好优化等技术提升模型性能。 大幅优化全流程使用16000多张H100 GPU进行405B模型训练。 采用合成数据生成、数据过滤等技术大规模生成高质量指令fine-tune数据。 使用大量高质量预训练和后训练数据提升各项能力水平。 量化模型到8-bit降低推理计算需求支持单节点部署。 发布Llama系统包含多语种安全模型Llama Guard 3、输入检测工具Prompt Guard等新组件。提出Llama Stack标准接口推动生态系统兼容性 优势点 首个开源并与闭源模型媲美的人工智能模型。405B模型综合能力与头部闭源模型相当在通用知识、可控性、数学、工具使用、多语种翻译等方面表现卓越。 支持合成数据生产、模型蒸馏等前沿工作流释放更多创新可能。 与闭源模型相比总体拥有更低的成本和更高的灵活性、可定制性。提供极低成本的产品服务。 真正实现开放获取的AI推动AI技术更广泛应用。更新了许可协议允许开发者使用Llama模型的输出来改进其他模型。 坚持开源理念确保AI公平获取避免权力过度集中。 该模型将引领创新应用和研究新模式。与AWS、NVIDIA、Databricks等25合作伙伴合作为开发者提供完整生态支持。 目录
相关文章
LLMs之LLaMALLaMA的简介、安装和使用方法、案例应用之详细攻略
LLMs之LLaMA-2LLaMA-2的简介(技术细节)、安装、使用方法(开源-免费用于研究和商业用途)之详细攻略
LLMs之Llama3Llama 3的简介、安装和使用方法、案例应用之详细攻略
LLMs之llama3-from-scratchllama3-from-scratch(从头开始利用pytorch来实现并解读LLaMA-3模型的每层代码)的简介、核心思路梳理
LLMs之Llama 3.1Llama 3.1的简介、安装和使用方法、案例应用之详细攻略
Llama 3.1的简介
1、要点
2、模型评估
BenchmarksLlama 3.1 405B、Nemotron 4 340B lnstruct、GPT-4(0125)、GPT-4 Omni、claude 3.5 Sonnet
BenchmarksLlama 3.1 8B、Gemma 2 9BIT、Mistral 7B lnstruct、Llama 3.1 70B、Mixtral 8x22B Instruct、GPT 3.5 Turbo
Llama 3.1 405B Human Evaluation
3、模型架构Llama 3.1 405B 15 T个token1.6K个H100 仅解码器的transformer 模型架构迭代式后训练(SFTDPO)训练前和训练后的大数量和高质量采用量化技术(FP8)
4、指令和聊天微调多轮对齐(SFTRSDPO)使用合成数据多种数据处理技术过滤到最高质量
5、Llama系统—降低开发门槛新组件Llama Guard 3Prompt GuardLlama Stack
6、开放驱动创新
7、使用 Llama 3.1 405B 进行构建持续预训练、RAG、函数调用、合成数据生成等
8、立即试用 Llama 3.1 系列模型
Llama 3.1的安装和使用方法
1、Llama 3.1的安装
Llama 3.1模型下载地址
下载llama-agentic-system
2、使用方法
2.1、工具使用
2.2、多语言代理
2.3、复杂推理
2.4、编码助手
3、Llama 3.1中支持的角色
支持 4 种不同的角色
4、Llama 3.1中的指令
(1)、用户与助手对话
(2)、内置基于 Python 的工具调用
步骤 - 1 用户提示和系统提示
步骤 - 2 模型确定调用哪个工具
步骤 - 3 由工具即 Wolfram Alpha 生成响应。
步骤 - 4 使用工具响应重新提示模型
步骤 - 5 代理对用户的回复
(3)、基于 JSON 的工具调用
步骤 - 1 用户提示自定义工具详细信息
步骤 - 2 模型确定调用哪个工具
步骤 - 3 调用工具的结果被传回模型
当工具调用的结果发送回模型时我们ipython在标题中使用新角色。
(4)、用户定义自定义工具调用
步骤 - 1 用户提示自定义工具详细信息
步骤 - 2 模型确定调用哪个工具
步骤 - 3 调用工具的结果被传回模型
步骤 - 4 模型生成用户的最终响应
Llama 3.1的案例应用 相关文章
LLMs之LLaMALLaMA的简介、安装和使用方法、案例应用之详细攻略
LLMs之LLaMALLaMA的简介、安装和使用方法、案例应用之详细攻略_chinese_calendar每年手动更新-CSDN博客 LLMs之LLaMA-2LLaMA-2的简介(技术细节)、安装、使用方法(开源-免费用于研究和商业用途)之详细攻略
LLMs之LLaMA-2LLaMA-2的简介(技术细节)、安装、使用方法(开源-免费用于研究和商业用途)之详细攻略_llama2-CSDN博客 LLMs之Llama3Llama 3的简介、安装和使用方法、案例应用之详细攻略
LLMs之Llama 3Llama 3的简介、安装和使用方法、案例应用之详细攻略-CSDN博客 LLMs之llama3-from-scratchllama3-from-scratch(从头开始利用pytorch来实现并解读LLaMA-3模型的每层代码)的简介、核心思路梳理
LLMs之llama3-from-scratchllama3-from-scratch(从头开始利用pytorch来实现并解读LLaMA-3模型的每层代码)的简介、核心思路梳理-CSDN博客 LLMs之Llama 3.1Llama 3.1的简介、安装和使用方法、案例应用之详细攻略
LLMs之Llama 3.1Llama 3.1的简介、安装和使用方法、案例应用之详细攻略-CSDN博客 Llama 3.1的简介 2024年7月23日Meta重磅推出Llama 3.1。到目前为止开源大型语言模型在功能和性能方面大多落后于闭源模型。现在我们正迎来一个由开源引领的新时代。我们公开发布了 Meta Llama 3.1 405B我们认为这是世界上最大、功能最强大的开源基础模型。迄今为止所有 Llama 版本的总下载量已超过 3 亿次而这仅仅是个开始。
Llama 3.1 405B 是第一个公开可用的模型在常识、可操纵性、数学、工具使用和多语言翻译等先进功能方面可与顶级 AI 模型相媲美。随着 405B 模型的发布我们已准备好增强创新能力为增长和探索提供前所未有的机会。我们相信最新一代的 Llama 将激发新的应用程序和建模范例包括合成数据生成以便改进和训练较小的模型以及模型提炼这是开源中从未如此大规模实现的功能。
作为最新版本的一部分我们推出了 8B 和 70B 模型的升级版本。这些模型支持多种语言上下文长度显著增加达到 128K使用最先进的工具推理能力也更强。这使得我们的最新模型能够支持高级用例例如长篇文本摘要、多语言对话代理和编码助手。我们还对许可证进行了更改允许开发人员使用 Llama 模型包括 405B的输出来改进其他模型。为了履行我们对开源的承诺从今天开始我们将这些模型提供给社区供其在llama.meta.com和Hugging Face上下载并可在我们广泛的合作伙伴平台生态系统上立即开发。
官网地址https://ai.meta.com/blog/meta-llama-3-1/
论文地址https://ai.meta.com/research/publications/the-llama-3-herd-of-models/
文档地址https://llama.meta.com/docs/overview/
GitHub地址https://github.com/meta-llama/llama-models
llama-agentic-system地址https://github.com/meta-llama/llama-agentic-system/ 1、要点 开源性Meta致力于公开可访问的人工智能。马克·扎克伯格发表了一封信详细阐述了开源对开发者、Meta以及世界的好处。 开源顶级模型我们最新的模型将上下文长度扩展到128K支持八种语言并包含了Llama 3.1 405B——首个前沿级别的开源人工智能模型。 媲美闭源模型Llama 3.1 405B具有无与伦比的灵活性、控制力和最先进的能力可与最佳的闭源模型相媲美。新模型将使社区能够解锁新的工作流程如合成数据生成和模型蒸馏。 新的安全工具我们正在继续发展Llama成为一个系统提供更多与模型配合使用的组件包括参考系统。我们希望赋予开发者工具以创建他们自己的定制代理和新类型的代理行为。我们正在用新的安全和保障工具来加强这一点包括Llama Guard 3和Prompt Guard以负责任地构建。 标准接口我们发布了有关Llama Stack API的征求意见希望这个标准接口能简化第三方项目利用Llama模型的过程。 生态系统生态系统已经准备就绪超过25个合作伙伴包括AWS、NVIDIA、Databricks、Groq、Dell、Azure、Google Cloud和Snowflake第一天就提供服务。 可访问性在美国您可以在WhatsApp上以及通过访问meta.ai提出具有挑战性的数学或编程问题来尝试Llama 3.1 405B。 2、模型评估
对于此版本我们在 150 多个涵盖多种语言的基准数据集上评估了性能。此外我们还进行了广泛的人工评估在真实场景中将 Llama 3.1 与竞争模型进行了比较。我们的实验评估表明我们的旗舰模型在一系列任务中与领先的基础模型相媲美包括 GPT-4、GPT-4o 和 Claude 3.5 Sonnet。此外我们的小型模型与具有相似数量参数的封闭和开放模型相媲美。
BenchmarksLlama 3.1 405B、Nemotron 4 340B lnstruct、GPT-4(0125)、GPT-4 Omni、claude 3.5 Sonnet BenchmarksLlama 3.1 8B、Gemma 2 9BIT、Mistral 7B lnstruct、Llama 3.1 70B、Mixtral 8x22B Instruct、GPT 3.5 Turbo Llama 3.1 405B Human Evaluation 3、模型架构Llama 3.1 405B 15 T个token1.6K个H100 仅解码器的transformer 模型架构迭代式后训练(SFTDPO)训练前和训练后的大数量和高质量采用量化技术(FP8) 作为我们迄今为止最大的模型在超过15万亿个 token 上训练 Llama 3.1 405B 是一项重大挑战。为了能够以这种规模进行训练并在合理的时间内取得成果我们显著优化了整个训练堆栈并将模型训练推向超过 16,000 个H100 GPU使 405B 成为第一个以这种规模训练的 Llama 模型。
为了解决这个问题我们做出了设计选择重点关注保持模型开发过程的可扩展性和简单性。 我们选择了标准的仅解码器的transformer 模型架构并进行了细微的改动而不是混合专家模型以最大限度地提高训练稳定性。 我们采用了迭代式后训练过程每轮都使用监督式微调和直接偏好优化。这使我们能够为每一轮创建最高质量的合成数据并提高每项功能的性能。
与之前的 Llama 版本相比我们提高了用于训练前和训练后的数据的数量和质量。这些改进包括为训练前数据开发更仔细的预处理和管理流程、开发更严格的质量保证以及训练后数据的过滤方法。
正如语言模型的缩放定律所预期的那样我们的新旗舰模型比使用相同程序训练的小型模型表现更好。我们还使用 405B 参数模型来提高小型模型的训练后质量。
为了支持 405B 规模模型的大规模生产推理我们将模型从 16 位 (BF16) 量化为 8 位 (FP8) 数字有效降低了所需的计算要求并允许模型在单个服务器节点内运行。 4、指令和聊天微调多轮对齐(SFTRSDPO)使用合成数据多种数据处理技术过滤到最高质量
借助 Llama 3.1 405B我们努力提高模型对用户指令的响应能力、质量和详细指令遵循能力同时确保高水平的安全性。我们面临的最大挑战是支持更多功能、128K上下文窗口和更大的模型大小。
在后训练中我们通过在预训练模型的基础上进行几轮对齐来生成最终的聊天模型。每轮都涉及监督微调 (SFT)、拒绝抽样 (RS) 和直接偏好优化 (DPO)。我们使用合成数据生成来生成绝大多数 SFT 示例并进行多次迭代以生成涵盖所有功能的越来越高质量的合成数据。此外我们投资了多种数据处理技术以将这些合成数据过滤到最高质量。这使我们能够跨功能扩展微调数据量。
我们仔细平衡数据以生成在所有功能上都具有高质量模型。例如即使扩展到 128K 上下文我们的模型在短上下文基准上也能保持质量。同样即使我们添加了安全缓解措施我们的模型仍能继续提供最有帮助的答案。 5、Llama系统—降低开发门槛新组件Llama Guard 3Prompt GuardLlama Stack Llama 模型始终旨在作为整体系统的一部分该系统可以协调多个组件包括调用外部工具。我们的愿景是超越基础模型让开发人员能够访问更广泛的系统让他们能够灵活地设计和创建符合他们愿景的定制产品。这种想法始于去年当时我们首次引入了核心 LLM 之外的组件。
为了持续致力于在模型层之外负责任地开发 AI 并帮助其他人也这样做我们发布了一个完整的参考系统其中包括几个示例应用程序并包括新组件例如Llama Guard 3多语言安全模型和 Prompt Guard即时注入过滤器。这些示例应用程序是开源的社区可以在此基础上进行构建。
Llama System 愿景中的组件实现仍然很分散。这就是为什么我们开始与行业、初创公司和更广泛的社区合作以帮助更好地定义这些组件的接口。为了支持这一点我们在 GitHub 上发布了对我们称之为“Llama Stack”的评论请求。Llama Stack 是一组标准化和有主见的接口用于如何构建规范的工具链组件微调、合成数据生成和代理应用程序。我们希望这些接口能够在整个生态系统中得到采用这将有助于更轻松地实现互操作性。
我们欢迎反馈和改进提案的方法。我们很高兴能够发展围绕 Llama 的生态系统并降低开发人员和平台提供商的门槛。 6、开放驱动创新
与闭源模型不同Llama 模型权重可供下载。开发人员可以根据自己的需求和应用完全自定义模型在新数据集上进行训练并进行额外的微调。这使更广泛的开发人员社区和世界能够更充分地认识到生成式 AI 的强大功能。开发人员可以完全自定义其应用程序并在任何环境中运行包括本地、云端甚至本地笔记本电脑上 - 所有这些都无需与 Meta 共享数据。
尽管许多人可能认为闭源模型更具成本效益但根据人工智能分析的测试Llama 模型的每token成本是业内最低的。正如马克·扎克伯格所说开源将确保全世界更多的人能够享受人工智能的好处和机会权力不会集中在少数人手中并且该技术可以更均匀、更安全地在整个社会中部署。这就是为什么我们继续采取措施让开放式人工智能成为行业标准。
我们看到社区利用过去的 Llama 模型构建了令人惊叹的东西包括使用 Llama 构建并部署在 WhatsApp 和 Messenger 中的AI 学习伙伴、专为医疗领域量身定制的 LLM旨在帮助指导临床决策以及巴西的一家医疗保健非营利初创公司它使医疗保健系统能够更轻松地以数据安全的方式组织和传达患者的住院信息。借助开源的力量我们迫不及待地想看看他们利用我们的最新模型构建了什么。 7、使用 Llama 3.1 405B 进行构建持续预训练、RAG、函数调用、合成数据生成等 对于普通开发者来说使用 405B 规模的模型是一项挑战。虽然这是一个非常强大的模型但我们认识到使用它需要大量的计算资源和专业知识。我们与社区进行了交流我们意识到生成式 AI 开发不仅仅是提示模型。我们希望让每个人都能充分利用 405B包括 实时和批量推理 监督微调 针对您的特定应用评估您的模型 持续预训练 检索增强生成 (RAG) 函数调用 合成数据生成
这正是 Llama 生态系统可以提供帮助的地方。在第一天开发人员就可以利用 405B 模型的所有高级功能并立即开始构建。开发人员还可以探索高级工作流程例如易于使用的合成数据生成、遵循模型提炼的交钥匙指示以及使用 AWS、NVIDIA 和 Databricks 等合作伙伴的解决方案实现无缝 RAG。此外Groq 针对云部署优化了低延迟推理而戴尔也针对本地系统实现了类似的优化。
我们与 vLLM、TensorRT 和 PyTorch 等主要社区项目合作从第一天开始提供支持以确保社区为生产部署做好准备。
我们希望 405B 的发布也能激发整个社区的创新使这种规模的模型的推理和微调变得更容易并推动模型提炼的下一波研究。 8、立即试用 Llama 3.1 系列模型
我们迫不及待地想看看社区将如何处理这项工作。使用多语言性和增加的上下文长度可以构建有用的新体验潜力巨大。借助 Llama Stack 和新的安全工具我们期待继续负责任地与开源社区共同建设。在发布模型之前我们会通过多种措施来识别、评估和减轻潜在风险包括通过红队进行部署前风险发现练习以及安全微调。
例如我们与外部和内部专家进行了广泛的红队测试以对模型进行压力测试并找到可能使用它们的意外方式。阅读此博客文章了解有关我们如何负责任地扩展我们的 Llama 3.1 模型集合的更多信息。
虽然这是我们迄今为止最大的模型但我们相信未来仍有许多新的领域值得探索包括更多设备友好的尺寸、更多模式以及在代理平台层的更多投资。与往常一样我们期待看到社区将利用这些模型构建的所有令人惊叹的产品和体验。 Llama 3.1的安装和使用方法
1、Llama 3.1的安装
Llama 3.1模型下载地址
官网下载https://llama.meta.com/
HuggingFace下载https://huggingface.co/collections/meta-llama/llama-31-669fc079a0c406a149a5738f 下载llama-agentic-system
llama-agentic-system地址https://github.com/meta-llama/llama-agentic-system/ 2、使用方法
2.1、工具使用
上传数据集并进行分析。提示模型绘制图形并获取市场数据。 2.2、多语言代理
提示将汉塞尔和格莱特的故事翻译成西班牙语。 2.3、复杂推理
提示我有 3 件衬衫、5 条短裤和 1 件太阳裙。我要旅行 10 天我的假期带够了吗 2.4、编码助手
提示创建一个程序使用递归回溯算法或深度优先搜索算法生成一个完美的迷宫其大小和复杂性可自定义。 3、Llama 3.1中支持的角色
支持 4 种不同的角色
system设置与 AI 模型交互的环境。它通常包括规则、指南或帮助模型有效响应的必要信息。user表示人与模型的交互。它包括对模型的输入、命令和问题。ipythonLlama 3.1 中引入的新角色。从语义上讲此角色表示“工具”。此角色用于在从执行器发送回模型时使用工具调用的输出标记消息。assistant表示 AI 模型根据“系统”、“ipython”和“用户”提示中提供的上下文生成的响应。 4、Llama 3.1中的指令
注意对于结合了对话和工具调用的应用程序我们建议使用 Llama 70B-instruct 或 Llama 405B-instruct。Llama 8B-Instruct 无法可靠地与工具调用定义一起保持对话。它可以用于零次工具调用但对于模型和用户之间的常规对话应删除工具指令。 指令模型提供了不同的提示自定义选项从用户和助手之间的简单交互到复杂的工具调用场景。下面我们提供了一个分为四类的提示示例用户和助手对话、Python 格式的内置工具、JSON 格式的内置自定义工具以及完整的自定义工具格式重点是工具调用。可用的工具调用选项需要特别注意因为它们可以以不同的方式实现。
这些模型经过训练可以识别可以用三种不同工具Brave Web Search、Wolfram Alpha Search 和 Code Interpreter回答的提示并生成适当的 Python 函数调用来获取答案更多详细信息请参阅内置工具调用部分。 此外系统和用户均可在提示中定义自定义格式。该模型经过训练可以识别提示中的新工具定义根据这些定义生成工具调用并仅以 JSON 格式回答以便更轻松地解析响应并执行适当的工具。
在系统中定义多个工具和/或用户提示可能会导致模型根据用户查询生成多个工具调用。开发人员必须迭代所需的提示才能获得所需的结果并相应地解析结果。
鉴于 Llama 模型用例的多样性我们建议开发人员根据自己的需求彻底测试不同的提示和格式并使用此处提供的指南作为这些测试的起点。我们在最后一节“定义您自己的格式”中提供了一个在我们自己的Llama 代理系统环境中运行良好的格式示例。 为了更好地说明下面的流程此图显示了所描述的信息流 (1)、用户与助手对话 用户与模型之间的常规多轮对话的格式在 Llama 3 和 Llama 3.1 之间没有变化。下面是其格式的一个简单示例。 |begin_of_text||start_header_id|system|end_header_id|Cutting Knowledge Date: December 2023
Today Date: 23 Jul 2024You are a helpful assistant|eot_id||start_header_id|user|end_header_id|What is the capital for France?|eot_id||start_header_id|assistant|end_header_id|/code/span/span/span/span/span (2)、内置基于 Python 的工具调用 可以使用以下提示打开三个内置工具brave_search、wolfram_alpha和code interpretersystem Brave Search用于执行网络搜索的工具调用。Wolfram Alpha执行复杂数学计算的工具调用。代码解释器使模型输出python代码。 |begin_of_text||start_header_id|system|end_header_id|Environment: ipython
Tools: brave_search, wolfram_alphaCutting Knowledge Date: December 2023
Today Date: 23 Jul 2024You are a helpful assistant|eot_id|
|start_header_id|user|end_header_id|What is the current weather in Menlo Park, California?|eot_id||start_header_id|assistant|end_header_id|/code/span/span/span/span/span 需要注意以下几点 只需包含 Environment: ipython 即可打开代码解释器因此您无需在 Tools: 行中指定代码解释。模型可以生成由执行器解释的 Python 代码并将结果返回给模型。助手响应的消息正文以特殊标签|python_tag|开头如上所述在这样的环境中模型可以生成 |eom_id| 而不仅仅是标准的 |eot_id| 。后者表示回合已完成而前者表示继续进行多步推理。也就是说模型期望在工具调用的输出中出现延续消息。 内置工具使用Python 语法调用而不是像zero-shot工具那样使用JSON 格式。模型为每个工具生成的 Python 调用格式如下 # for Search
|python_tag|
brave_search.call(query...)
|eom_id|# for Wolfram
|python_tag|
wolfram_alpha.call(query...)
|eom_id| 要使用模型的 zero-shot学习功能创建自定义工具调用您可以在系统提示中提供工具定义的说明以及您希望模型为调用生成的格式。llama-agentic-system GitHub 存储库中提供了一个工作示例。 您可以在此处查看。 下面的示例展示了用户 ⇔ 模型 ⇔ 工具之间的 端到端提示交互 。此示例系统使用wolfram_alpha内置工具。请注意模型不会执行对工具的调用您需要使用我们的llama-agentic-system或其他类似框架来利用工具调用功能。 步骤 - 1 用户提示和系统提示 |begin_of_text||start_header_id|system|end_header_id|Environment: ipython
Tools: brave_search, wolfram_alphaCutting Knowledge Date: December 2023
Today Date: 23 Jul 2024You are a helpful Assistant.|eot_id||start_header_id|user|end_header_id|Can you help me solve this equation: x^3 - 4x^2 6x - 24 0|eot_id||start_header_id|assistant|end_header_id| 步骤 - 2 模型确定调用哪个工具 |python_tag|wolfram_alpha.call(querysolve x^3 - 4x^2 6x - 24 0)|eom_id| 步骤 - 3 由工具即 Wolfram Alpha 生成响应。 {queryresult: {success: true,inputstring: solve x^3 - 4x^2 6x - 24 0,pods: [{title: Input interpretation,subpods: [{title: ,plaintext: solve x^3 - 4 x^2 6 x - 24 0}]},{title: Results,primary: true,subpods: [{title: ,plaintext: x 4},{title: ,plaintext: x ± (i sqrt(6))}]},...]}
} 步骤 - 4 使用工具响应重新提示模型 |begin_of_text||start_header_id|system|end_header_id|Environment: ipython
Tools: brave_search, wolfram_alphaCutting Knowledge Date: December 2023
Today Date: 23 Jul 2024You are a helpful Assistant.|eot_id||start_header_id|user|end_header_id|Can you help me solve this equation: x^3 - 4x^2 6x - 24 0|eot_id||start_header_id|assistant|end_header_id||python_tag|wolfram_alpha.call(querysolve x^3 - 4x^2 6x - 24 0)|eom_id||start_header_id|ipython|end_header_id|{queryresult: {success: true, inputstring: solve x^3 - 4x^2 6x - 24 0, pods: [{title: Input interpretation, subpods: [{title: , plaintext: solve x^3 - 4 x^2 6 x - 24 0}]}, {title: Results, primary: true, subpods: [{title: , plaintext: x 4}, {title: , plaintext: x \u00b1 (i sqrt(6))}]}, ... ]}}|eot_id||start_header_id|assistant|end_header_id| 步骤 - 5 代理对用户的回复 The solutions to the equation x^3 - 4x^2 6x - 24 0 are x 4 and x ±(i√6).|eot_id| (3)、基于 JSON 的工具调用 Meta Llama 模型现在可以从单个消息输出自定义工具调用以便 更轻松地调用工具 。以下提示提供了如何从模型输出调用自定义工具的示例。需要注意的是模型 本身并不执行调用 它提供结构化输出以 方便执行器调用 。可以在llama-agentic-system中找到一个示例执行器。工具格式类似于OpenAI 定义可以进行调整以更好地满足您的需求如下一节所述。 使用自定义工具调用时要使模型输出eom_id需要在系统提示符中添加以下指令Environment: ipython。否则它应该输出eot_id。需要调整系统提示以告知模型如何处理工具调用输出工具定义在用户提示中提供因为这是模型针对内置 JSON 工具调用进行训练的方式。但是也可以在系统提示中提供工具定义并获得类似的结果。开发人员必须测试哪种方式最适合他们的用例。 步骤 - 1 用户提示自定义工具详细信息 |begin_of_text||start_header_id|system|end_header_id|Environment: ipython
Tools: brave_search, wolfram_alphaCutting Knowledge Date: December 2023
Today Date: 23 Jul 2024# Tool Instructions
- Always execute python code in messages that you share.
- When looking for real time information use relevant functions if available else fallback to brave_searchYou have access to the following functions:Use the function spotify_trending_songs to: Get top trending songs on Spotify
{name: spotify_trending_songs,description: Get top trending songs on Spotify,parameters: {n: {param_type: int,description: Number of trending songs to get,required: true}}
}If a you choose to call a function ONLY reply in the following format:
{start_tag}{function_name}{parameters}{end_tag}
wherestart_tag function
parameters a JSON dict with the function argument name as key and function argument value as value.
end_tag /functionHere is an example,
functionexample_function_name{example_name: example_value}/functionReminder:
- Function calls MUST follow the specified format
- Required parameters MUST be specified
- Only call one function at a time
- Put the entire function call reply on one line
- Always add your sources when using search results to answer the user queryYou are a helpful Assistant.|eot_id||start_header_id|user|end_header_id|Can you check the top 5 trending songs on spotify?|eot_id||start_header_id|assistant|end_header_id|步骤 - 2 模型确定调用哪个工具 由于我们没有使用Environment: ipython系统提示中的指令因此模型以 token 结束生成eot_id而不是eom_idtoken {name: get_current_conditions, parameters: {location: San Francisco, CA, unit: Fahrenheit}}eot_id 步骤 - 3 调用工具的结果被传回模型 当工具调用的结果发送回模型时我们ipython在标题中使用新角色。 |begin_of_text||start_header_id|system|end_header_id|You are a helpful assistant with tool calling capabilities. When you receive a tool call response, use the output to format an answer to the orginal use question.|eot_id||start_header_id|user|end_header_id|Given the following functions, please respond with a JSON for a function call with its proper arguments that best answers the given prompt.Respond in the format {name: function name, parameters: dictionary of argument name and its value}. Do not use variables.{type: function,function: {name: get_current_conditions,description: Get the current weather conditions for a specific location,parameters: {type: object,properties: {location: {type: string,description: The city and state, e.g., San Francisco, CA},unit: {type: string,enum: [Celsius, Fahrenheit],description: The temperature unit to use. Infer this from the users location.}},required: [location, unit]}}
}Question: what is the weather like in San Fransisco?|eot_id||start_header_id|assistant|end_header_id|{name: get_current_conditions, parameters: {location: San Francisco, CA, unit: Fahrenheit}}|eot_id||start_header_id|ipython|end_header_id|Clouds giving way to sun Hi: 76° Tonight: Mainly clear early, then areas of low clouds forming Lo: 56°|eot_id||start_header_id|assistant|end_header_id| 步骤 - 4 模型生成用户的最终响应 The weather in Menlo Park is currently cloudy with a high of 76° and a low of 56°, with clear skies expected tonight.eot_id (4)、用户定义自定义工具调用 以下提示提供了一个示例说明如何在系统提示中定义自己的格式并在与模型交互时使用它。此格式将使用新的自定义 function 标记将 JSON 对象与函数参数括起来。 模型 eom_id根据Environment: ipython指令使用了 token。系统提示定义了自定义格式以及模型可用的工具。 步骤 - 1 用户提示自定义工具详细信息 |begin_of_text||start_header_id|system|end_header_id|Environment: ipython
Tools: brave_search, wolfram_alphaCutting Knowledge Date: December 2023
Today Date: 23 Jul 2024# Tool Instructions
- Always execute python code in messages that you share.
- When looking for real time information use relevant functions if available else fallback to brave_searchYou have access to the following functions:Use the function spotify_trending_songs to: Get top trending songs on Spotify
{name: spotify_trending_songs,description: Get top trending songs on Spotify,parameters: {n: {param_type: int,description: Number of trending songs to get,required: true}}
}If a you choose to call a function ONLY reply in the following format:
{start_tag}{function_name}{parameters}{end_tag}
wherestart_tag function
parameters a JSON dict with the function argument name as key and function argument value as value.
end_tag /functionHere is an example,
functionexample_function_name{example_name: example_value}/functionReminder:
- Function calls MUST follow the specified format
- Required parameters MUST be specified
- Only call one function at a time
- Put the entire function call reply on one line
- Always add your sources when using search results to answer the user queryYou are a helpful Assistant.|eot_id||start_header_id|user|end_header_id|Can you check the top 5 trending songs on spotify?|eot_id||start_header_id|assistant|end_header_id| 步骤 - 2 模型确定调用哪个工具 现在模型按照系统提示中定义的格式进行响应函数名称位于开始标记中参数作为 JSON 对象位于开始和结束标记之间。 由于我们正在使用Environment: ipython系统提示中的指令模型以令牌结束生成eom_id。 functionspotify_trending_songs{n: 5}/functioneom_id 步骤 - 3 调用工具的结果被传回模型 当工具调用的结果发送回模型时我们ipython在标题中使用新角色。 |begin_of_text||start_header_id|system|end_header_id|Environment: ipython
Tools: brave_search, wolfram_alphaCutting Knowledge Date: December 2023
Today Date: 23 Jul 2024# Tool Instructions
- Always execute python code in messages that you share.
- When looking for real time information use relevant functions if available else fallback to brave_searchYou have access to the following functions:Use the function spotify_trending_songs to: Get top trending songs on Spotify
{name: spotify_trending_songs, description: Get top trending songs on Spotify, parameters: {n: {param_type: int, description: Number of trending songs to get, required: true}}}If a you choose to call a function ONLY reply in the following format:
{start_tag}{function_name}{parameters}{end_tag}
wherestart_tag function
parameters a JSON dict with the function argument name as key and function argument value as value.
end_tag /functionHere is an example,
functionexample_function_name{example_name: example_value}/functionReminder:
- Function calls MUST follow the specified format
- Required parameters MUST be specified
- Only call one function at a time
- Put the entire function call reply on one line
- Always add your sources when using search results to answer the user queryYou are a helpful Assistant.|eot_id||start_header_id|user|end_header_id|Can you check the top 5 trending songs on spotify?|eot_id||start_header_id|assistant|end_header_id|functionspotify_trending_songs{n: 5}/function|eom_id||start_header_id|ipython|end_header_id|[1. BIRDS OF A FEATHER by Billie Eilish, 2. Espresso by Sabrina Carpenter, 3. Please Please Please by Sabrina Carpenter, 4. Not Like Us by Kendrick Lamar, 5. Gata Only by FloyyMenor, Cris Mj]|eot_id||start_header_id|assistant|end_header_id| 步骤 - 4 模型生成用户的最终响应 The top 5 trending songs on Spotify are:1. BIRDS OF A FEATHER by Billie Eilish
2. Espresso by Sabrina Carpenter
3. Please Please Please by Sabrina Carpenter
4. Not Like Us by Kendrick Lamar
5. Gata Only by FloyyMenor, Cris Mj|eot_id| Llama 3.1的案例应用
持续更新中……