探索“八重神子腿法”:灵动身姿下的极致艺术

核心内容摘要

18K的璀璨光芒:1.88克拉的永恒承诺,11.7的纯粹绽放,V18的匠心之选
擼擼社免费看黄_视频网址

深度解析:当“大狼狗”遇上“子宫”,一场意想不到的“卡关”之谜

文章详细解析了大型语言模型(LLM)中的Function Calling、MCP和A2A三大核心技术。

Function Calling通过监督微调实现教会模型识别意图和参数提取MCP是标准化工具交互的协议框架A2A则使AI智能体之间能够协作。

文章还提供了系统学习LLM的方法包括学习路线、资源获取等帮助小白和程序员快速掌握大模型技术。

这些是关于大型语言模型LLM的 Function Calling、MCP、A2A 比较常见的问题。

Function call怎么训练的怎么微调的将 Function Calling 能力赋予 LLM 主要通过监督微调 (Supervised Fine-tuning, SFT)实现而不是在预训练阶段从零开始专门训练。

基础模型需要先具备良好的指令遵循和代码/结构化数据生成能力。

训练/微调的核心思想:教会模型两件事识别意图 (Intent Recognition):理解用户的请求是否需要借助外部工具/函数来完成而不是直接生成文本回答。

参数提取与格式化 (Argument Extraction Formatting):如果需要调用函数正确地从用户请求中抽取出所需的参数并按照预先定义的格式通常是 JSON生成函数调用的指令。

训练/微调过程:准备数据集:这是最关键的一步。

需要构建一个包含 Function Calling 场景的指令微调数据集。

每条数据样本通常包含用户输入 (Input/Query):一个可能需要或不需要调用函数的用户请求。

例如“查询北京今天的天气怎么样” 或 “给我写一首关于春天的诗”。

可用函数/工具描述 (Available Functions/Tools Description):一个结构化的描述告知模型当前有哪些函数可用每个函数的用途、所需参数及其类型和描述。

这个描述本身通常就是文本需要设计一种清晰的格式见下一个问题。

期望的输出 (Desired Output):如果需要调用函数:一个特定格式的字符串通常是包含函数名和提取出的参数的 JSON 对象。

例如:{ name: get_weather, arguments: { city: 北京, date: 今天 } }如果不需要调用函数:模型应该生成的直接文本回答。

例如“好的这是一首关于春天的诗…”选择基础模型:选择一个具备强大指令遵循能力的预训练 LLM (例如 Llama, GPT, ChatGLM 等)。

格式化训练数据:将每条数据样本组合成模型可以理解的格式。

通常是将“用户输入”和“可用函数描述”拼接起来作为模型的输入 (Prompt)将“期望的输出”无论是 JSON 函数调用还是文本回答作为目标输出 (Completion/Target)。

需要使用特定的分隔符或模板来区分不同部分。

进行微调:使用标准的 SFT 方法全参数微调或 PEFT 如 LoRA在准备好的数据集上训练模型。

模型的优化目标是最小化预测输出和期望输出之间的差异例如使用交叉熵损失。

模型通过学习这些样本学会根据用户输入和可用函数描述决定是直接回答还是生成特定格式的函数调用 JSON。

关键挑战:数据集质量:需要足够多、覆盖各种场景需要/不需要调用、不同函数、参数变化、模糊表达的高质量数据。

函数描述的清晰度:函数描述的质量直接影响模型能否正确理解和使用函数。

负样本:需要包含足够多明确不需要调用函数的样本防止模型“过度触发”函数调用。

Function call怎么组织文本的格式喂给模型这个其实看一下HuggingFace上常见的Function-Call数据集就知道了。

https://huggingface.co/datasets?searchfunction-calling例如https://huggingface.co/datasets/NousResearch/hermes-function-calling-v1在训练和推理时将信息喂给模型的格式至关重要。

虽然没有绝对统一的标准但通常遵循以下结构通过特殊的提示词Prompting或模板来实现基本结构:[系统提示/全局指令] (可选设定角色、能力边界等) [可用函数/工具描述区] (这里详细列出每个可用函数的结构化描述) [对话历史] (可选对于多轮对话很重要) User: ... Assistant: ... User: ... (当前用户请求) [触发指令/分隔符] (提示模型开始思考或生成) Assistant:可用函数/工具描述区的格式:这是核心部分需要清晰地传达每个函数的信息。

常见做法是使用 JSON 列表或类似的结构化文本Functions available: [ { name: get_weather, description: 查询指定城市和日期的天气信息。

, parameters: { type: object, properties: { city: { type: string, description: 需要查询天气的城市名称例如北京 }, date: { type: string, description: 需要查询的日期例如今天、明天、

} }, required: [city, date] // 指明哪些参数是必须的 } }, { name: send_email, description: 发送邮件给指定的收件人。

, parameters: { type: object, properties: { recipient: { type: string, description: 收件人的邮箱地址 }, subject: { type: string, description: 邮件主题 }, body: { type: string, description: 邮件正文内容 } }, required: [recipient, subject, body] } } // ... 可以有更多函数描述 ]关键要素:name: 函数的唯一标识符。

description: 用自然语言清晰描述函数的功能和适用场景这是模型理解何时调用该函数的关键。

parameters: 定义函数接受的参数。

type: 通常是 “object”。

properties: 一个对象列出每个参数的名称、类型 (string, integer, boolean, enum 等) 和描述 (解释参数的含义和格式)。

required: 一个列表包含必须提供的参数名称。

对话流程中的格式:1 用户请求:用户发出请求例如 “帮我查一下明天上海的天气然后给张三发邮件告诉他结果”。

2 模型首次响应 (Function Call):模型识别到需要调用 get_weather生成 JSON:{ name: get_weather, arguments: { city: 上海, date: 明天 } }3 外部执行:应用程序捕获这个 JSON调用实际的天气 API。

4 将结果喂回模型:将 API 返回的天气结果格式化后作为新的输入信息提供给模型。

例如Function Result for get_weather: { temperature: 25°C, condition: 晴朗 }5 模型再次响应 (可能再次 Function Call 或最终回答):模型看到天气结果现在需要执行邮件发送任务生成 JSON{ name: send_email, arguments: { recipient: 张三, // 可能需要澄清张三的邮箱 subject: 明天上海天气, body: 明天上海的天气是 25°C天气晴朗。

} }6 外部执行:应用程序调用邮件发送服务。

7 将结果喂回模型:告知邮件发送成功。

8 模型最终回答:模型生成最终的自然语言回复给用户“我已经查询到明天上海天气是25°C晴朗并且已经发邮件告诉张三了。

Function call怎么把下游的一些工具插件变成模型可以理解的方式这个过程的核心是标准化描述 (Standardized Description)和执行对接 (Execution Bridging)。

标准化描述:定义 Schema:为每个工具、插件或 API 设计一个符合上述 Function Call 格式的结构化描述JSON Schema 是常用方式。

这个 Schema 必须清晰地包含唯一名称 (Name):用于模型识别调用哪个工具。

功能描述 (Description):清晰说明工具的作用、输入、输出以及何时应该使用它。

这是 LLM 理解的关键。

参数定义 (Parameters):详细列出工具需要的每个参数的名称、数据类型、是否必需以及描述。

编写高质量描述:描述语言要自然、准确、无歧义。

LLM 依赖这些描述来判断用户的意图是否与工具功能匹配。

例如避免使用过于技术化或模糊的术语。

执行对接:提供描述给模型:在每次与模型交互时将所有当前可用的工具的标准化描述作为上下文信息传递给模型通常放在 Prompt 的特定区域。

解析模型输出:应用程序需要监听模型的输出。

如果输出是符合预定义格式的 Function Call JSON则解析它。

调用实际工具:根据解析出的 name 找到对应的下游工具/插件/API。

参数映射与校验:从 arguments 中提取参数值进行必要的类型转换和校验然后调用实际的工具接口。

结果处理:获取工具执行的结果成功响应或错误信息。

结果反馈给模型:将执行结果格式化成文本再次输入给模型让模型基于这个结果继续生成回复或执行下一步操作。

简单来说就是为每个工具制作一个清晰的“说明书”Schema/描述让模型能看懂。

然后建立一个“翻译和执行”层负责把模型根据说明书写的“指令”JSON Call转换成对实际工具的操作并把工具的“回执”结果再翻译给模型听。

注MCP其实就是做这个的。

MCP与Function Call的区别与关系现在面试估计肯定会问道MCP与Function Call这是一个解释的图示函数调用是一种机制它允许 LLM 根据用户的输入识别它需要什么工具以及何时调用它。

以下是它通常的工作原理LLM 收到来自用户的提示。

LLM 决定它需要的工具。

程序员实现过程以接受来自 LLM 的工具调用请求并准备函数调用。

函数调用带参数将传递给将处理实际执行的后端服务。

MCP即模型上下文协议,Model Context Protocol试图标准化此过程。

MCP (Model Context Protocol):是一个开放协议和标准旨在标准化AI 应用MCP 客户端如何发现、连接和与外部工具/数据源实现为 MCP 服务器进行交互。

它关注的是系统间的通信和集成解决 Function Calling 指令生成后如何高效、安全、可扩展地执行这些调用。

Function Call侧重于模型想要做什么而 MCP 侧重于如何使工具可被发现和可消费尤其是在多个Agent、模型或平台之间。

MCP 不是在每个应用程序或代理中硬连接工具而是标准化了工具的定义、托管和向 LLM 公开的方式。

使 LLM 能够轻松发现可用工具、了解其架构并使用它们。

在调用工具之前提供审批和审计工作流程。

将工具实施的关注与消费分开。

关系:Function Calling 是 LLM 产生调用请求的能力MCP 是标准化执行这些请求的协议框架。

FC 生成指令MCP 负责让这些指令能在各种工具间通用、可靠地传递和执行。

它们是互补的FC 是 MCP 架构中模型表达意图的方式之一。

5 MCP与A2A的关系Agentic 应用需要同时使用 A2A 和 MCP。

MCP 为智能体提供对工具的访问能力。

而 A2A 则让智能体之间能够连接和协作组队。

简而言之Agent2AgentA2A协议允许 AI 智能体连接其他智能体。

**Model Context ProtocolMCP**让 AI 智能体连接工具/API。

因此使用 A2A 时两个智能体可能正在互相对话……而他们本身也可能正在与 MCP 服务器通信。

从这个意义上讲它们并不互相冲突。

如下图所示Agent2AgentA2A协议使多个 AI 智能体可以协同完成任务而无需直接共享它们的内部记忆、思考或工具。

它们通过交换上下文、任务更新、指令和数据进行通信。

从本质上说AI 应用可以将 A2A 智能体建模为 MCP 资源这些资源由它们的AgentCard智能体卡片表示。

通过这种方式连接到 MCP 服务器的 AI 智能体可以发现新的合作智能体并通过 A2A 协议建立连接。

支持 A2A 的远程智能体必须发布一个 “JSON 智能体卡片”详细说明其能力和认证信息。

客户端使用此卡片来查找和与最适合某项任务的智能体进行通信。

A2A 的几个强大特性包括安全协作任务与状态管理能力发现来自不同框架的智能体协同工作如 LlamaIndex、CrewAI 等此外它还可以与 MCP 集成使用。

虽然它目前还比较新但对智能体之间的协作进行标准化是非常有价值的就像 MCP 为智能体与工具的交互所做的一样。

AI大模型从0到精通全套学习大礼包我在一线互联网企业工作十余年里指导过不少同行后辈。

帮助很多人得到了学习和成长。

只要你是真心想学AI大模型我这份资料就可以无偿共享给你学习。

大模型行业确实也需要更多的有志之士加入进来我也真心希望帮助大家学好这门技术如果日后有什么学习上的问题欢迎找我交流有技术上面的问题我是很愿意去帮助大家的如果你也想通过学大模型技术去帮助就业和转行可以扫描下方链接大模型重磅福利入门进阶全套104G学习资源包免费分享

从入门到精通的全套视频教程包含提示词工程、RAG、Agent等技术点​

AI大模型学习路线图还有视频解说全过程AI大模型学习路线​

学习电子书籍和技术文档市面上的大模型书籍确实太多了这些是我精选出来的

大模型面试题目详解

这些资料真的有用吗?这份资料由我和鲁为民博士共同整理鲁为民博士先后获得了北京清华大学学士和美国加州理工学院博士学位在包括IEEE Transactions等学术期刊和诸多国际会议上发表了超过50篇学术论文、取得了多项美国和中国发明专利同时还斩获了吴文俊人工智能科学技术奖。

目前我正在和鲁博士共同进行人工智能的研究。

所有的视频由智泊AI老师录制且资料与智泊AI共享相互补充。

这份学习大礼包应该算是现在最全面的大模型学习资料了。

资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。

智泊AI始终秉持着“让每个人平等享受到优质教育资源”的育人理念‌通过动态追踪大模型开发、数据标注伦理等前沿技术趋势‌构建起前沿课程智能实训精准就业的高效培养体系。

课堂上不光教理论还带着学员做了十多个真实项目。

学员要亲自上手搞数据清洗、模型调优这些硬核操作把课本知识变成真本事‌如果说你是以下人群中的其中一类都可以来智泊AI学习人工智能找到高薪工作一次小小的“投资”换来的是终身受益应届毕业生‌无工作经验但想要系统学习AI大模型技术期待通过实战项目掌握核心技术。

零基础转型‌非技术背景但关注AI应用场景计划通过低代码工具实现“AI行业”跨界‌。

业务赋能 ‌突破瓶颈传统开发者Java/前端等学习Transformer架构与LangChain框架向AI全栈工程师转型‌。

获取方式有需要的小伙伴可以保存图片到wx扫描二v码免费领取【保证100%免费】

www.草莓-www.草莓应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123