当前位置: 首页 > news >正文

LLM :Function Call、MCP协议与A2A协议

LLM 的函数调用、模型上下文协议 (MCP) 和 Agent to Agent (A2A) 协议:概念、区别与实例对比

引言:LLM 不断演进的格局

大型语言模型 (LLM) 的日益精进,使其能力已超越简单的文本生成,迈向与现实世界进行复杂交互的新阶段。为了真正发挥其潜力,LLM 需要能够访问外部信息并执行操作的机制,这催生了函数调用等技术的发展。此外,人工智能代理的兴起需要标准化的通信和协作方式,从而出现了 MCP 和 A2A 等协议。本文旨在解读这三个关键概念:LLM 的函数调用、模型上下文协议 (MCP) 和 Agent to Agent (A2A) 协议,通过清晰的定义、实例以及对比分析,帮助读者全面理解这些技术及其各自的角色。

LLM 的函数调用:扩展语言模型的能力边界

定义与机制

LLM 的函数调用是指 LLM 从用户提示中识别出需要执行的正确函数(从预定义的一组函数中选择),以及调用该函数所需的正确参数的能力 1。与仅仅生成文本不同,LLM 会输出结构化的数据,通常是 JSON 格式,其中指定了要调用的函数及其参数 2。LLM 本身并不直接执行该函数,它只是以结构化的格式生成调用请求 4。然后,这个请求会被传递给一个独立的程序或系统来执行 4。LLM 的提示中包含了可用函数的详细信息,包括其用途和何时应该使用 4。这项能力弥合了自然语言理解和实际任务执行之间的鸿沟 2。

这种演进体现了 LLM 从被动的信息提供者向能够与世界交互的主动问题解决者的转变。如果没有函数调用,LLM 的能力将仅限于其训练数据。函数调用提供了一种突破这些限制的机制,使其能够利用外部资源来回答问题并执行原本不可能完成的任务。此外,对结构化 JSON 输出的依赖使得函数调用的实现需要仔细设计函数模式和 API 集成。LLM 需要清晰且定义完善的函数模式才能生成有效的 JSON 输出。类似地,外部系统需要能够解析这个 JSON 并执行相应的函数。这凸显了在使用函数调用时,强大的 API 设计和集成的重要性。

简单示例:获取天气数据

假设用户询问:“北京的天气怎么样?”配备了函数调用能力的 LLM 分析了这个请求,并判断需要调用一个获取天气信息的函数。它会生成一个 JSON 输出,例如:{"function": "get_current_weather", "arguments": {"location": "Beijing"}} 7。一个外部系统接收到这个 JSON,使用地点“Beijing”调用了一个天气 API,并检索到天气数据。然后,这个天气数据可以被反馈给 LLM,以生成自然语言的回复,例如:“北京当前天气晴朗,温度为 25 摄氏度。” 2。

这个例子清晰地展示了函数调用在信息检索方面的实际应用。LLM 能够理解用户的意图,并将其转化为对外部系统的具体指令。外部系统执行指令后,LLM 能够将返回的数据整合到自然流畅的回复中,为用户提供有用的信息。

益处与用例

函数调用提供了诸多益处,并广泛应用于各种场景:

  • 访问实时数据: 函数调用允许 LLM 从 API 和数据库等外部来源检索最新的信息 2。

  • 执行操作: LLM 可以触发外部系统中的操作,例如发送电子邮件、安排会议或进行支付 2。

  • 与工具交互: 函数调用使 LLM 能够使用外部工具来完成计算、数据分析或代码执行等任务 4。

  • 构建对话代理: 通过允许聊天机器人超越简单的文本回复并根据用户意图执行任务,从而增强其功能 7。

  • 提高准确性: 通过将回复建立在真实世界的数据基础上,函数调用有助于缓解 LLM 产生幻觉的问题 13。

函数调用在各种 LLM 平台上的日益普及表明,它作为增强 LLM 实用性的基本能力正变得越来越重要。研究资料提到,OpenAI、Google、Anthropic、Mistral 等公司的模型都支持函数调用 8。这种广泛的应用表明,函数调用正成为提高 LLM 能力的标准功能。

洞察

函数调用将 LLM 从被动的信息提供者转变为能够与世界交互的主动问题解决者。它使得 LLM 能够突破其训练数据的限制,利用外部资源来回答问题并执行原本不可能完成的任务。

模型上下文协议 (MCP):标准化 LLM 的上下文

定义与目的

模型上下文协议 (MCP) 是一种开放标准,旨在为应用程序向 LLM 提供上下文信息的方式进行标准化 15。它就像 AI 应用程序的“通用连接器”或“USB-C 端口”,简化了 LLM 与外部数据源和工具之间的集成 16。MCP 旨在通过为多个 AI 模型连接到众多工具和数据源提供单一协议,从而解决“M×N 集成问题”,消除了对自定义集成的需求 19。它使 LLM 能够安全地访问和交互外部数据源和工具,而无需进行大量的自定义编码 20。

MCP 的出现代表了构建更具互操作性和模块化 AI 生态系统的重要一步。通过标准化 LLM 访问外部资源的方式,MCP 减少了供应商锁定,并鼓励开发可重用的集成。这为 AI 开发创造了一个更加开放和协作的环境。

架构:主机、客户端与服务器

MCP 遵循客户端-服务器架构 18。

  • 主机 (Hosts): 这些是 LLM 应用程序或接口(例如,Claude Desktop,IDE),它们发起信息和任务执行的请求 18。

  • 客户端 (Clients): 这些是主机应用程序中的连接器,与服务器保持一对一的连接,转发请求和响应 18。

  • 服务器 (Servers): 这些是轻量级程序,通过标准化的 MCP 提供对外部工具和数据源(例如,文件系统、数据库、API)的访问 18。

客户端和服务器之间的通信使用 JSON-RPC 2.0 消息,通过各种传输方式进行,例如 stdio、HTTP 服务器发送事件 (SSE) 和 WebSockets 18。

MCP 对用户同意和本地优先安全性的关注,解决了 AI 应用程序中关于数据隐私和控制的关键问题。随着 LLM 越来越有能力与个人数据和外部系统交互,安全性变得至关重要。MCP 的设计强调对操作和资源访问的明确用户批准,反映了对这些安全需求的日益重视。

简单示例:读取文件

用户要求 Claude Desktop 读取其计算机上特定文件的内容。Claude Desktop(主机)使用其 MCP 客户端连接到文件系统 MCP 服务器(一个预构建的服务器 22)。Claude 中的 LLM(可能由提示或内部逻辑触发)确定需要使用文件系统服务器来访问该文件。MCP 客户端向文件系统服务器发送一个 resources/read 请求,指定文件的 URI 18。文件系统服务器在获得用户许可后(这是 MCP 的一个关键安全方面 23),读取文件内容。服务器将文件内容发送回 MCP 客户端。然后,Claude 将文件内容呈现给用户。

这个例子展示了 MCP 如何促进 LLM 应用程序与本地资源的交互。通过标准化的协议,LLM 能够安全地访问用户的文件系统,执行读取操作,并将结果返回给用户。

优势与应用

MCP 具有以下优势并广泛应用于各种场景:

  • 标准化集成: 为连接 LLM 和各种数据源及工具提供通用方法,减少开发时间和复杂性 19。

  • 灵活性和可扩展性: 允许开发人员轻松切换不同的 LLM 模型和提供商,而无需重写集成代码 18。

  • 增强的 LLM 功能: 使 LLM 能够访问实时数据并执行操作,从而提供更准确和上下文丰富的响应 19。

  • 改进的安全性和访问控制: 默认优先考虑隐私,要求用户明确批准每个工具或资源访问 23。

  • 不断增长的生态系统: 预构建服务器和客户端的快速增长的生态系统使得将 LLM 与各种服务集成变得更加容易 18。

将 MCP 比作语言服务器协议 (LSP) 表明,它有着类似的目标,即标准化 AI 开发领域内的交互,就像 LSP 标准化了 IDE 中的语言支持一样 19。LSP 通过为 IDE 和语言服务器之间的通信提供通用协议,彻底改变了语言工具的开发。这个类比表明,MCP 旨在为 LLM 集成实现类似级别的标准化和互操作性。

洞察

MCP 代表了创建更具互操作性和模块化 AI 生态系统的重要一步。它专注于用户同意和本地优先安全性,解决了 AI 应用程序中关于数据隐私和控制的关键问题。MCP 与语言服务器协议 (LSP) 的相似之处表明,它旨在标准化 AI 开发领域内的交互。

Agent2Agent (A2A) 协议:赋能 AI 代理之间的协作

定义与目标

Agent2Agent (A2A) 协议是由 Google 发起的一项开放标准,旨在实现不同 AI 代理系统之间的通信和互操作性 25。它旨在为基于不同框架或由不同供应商构建的 AI 代理提供一种通用语言,使其能够发现彼此的功能、协商交互模式并协作完成任务 25。A2A 试图解决孤立的 AI 系统无法有效通信或共享信息的问题 25。该协议补充了 MCP 等其他方法,后者侧重于为单个代理提供工具和上下文 25。

A2A 的发展表明,人们越来越认识到,即使是具有先进能力的单个 AI 代理也可能不足以应对高度复杂的现实世界问题。转向多代理系统和像 A2A 这样的协议表明,智能实体之间的协作可以释放 AI 中新的问题解决能力。

关键原则与组件

A2A 基于五个关键原则构建:支持自然的代理能力、使用现有标准(HTTP、SSE、JSON-RPC)、默认包含安全性、处理长时间运行的任务以及支持多种媒体类型 25。

  • 代理卡片 (Agent Cards): 代理发布元数据文件(JSON 格式的代理卡片),描述其功能、身份验证要求和支持的交互格式 25。

  • 任务 (Tasks): A2A 中的基本工作单元。客户端代理创建一个任务供远程代理执行。任务有多种状态(已提交、工作中、需要输入、已完成、失败、已取消)25。

  • 工件 (Artifacts): 远程代理执行任务的输出称为工件 26。

  • 该协议支持长时间运行任务的流式更新和断开连接任务的推送通知 25。

A2A 的成功取决于广泛的采用以及不同供应商接受代理通信开放标准的意愿。为了使 A2A 产生重大影响,需要有足够多的 AI 代理开发人员和平台提供商实施该协议。这需要转向开放标准,并放弃专有的通信方法。

简单示例:招聘场景

招聘经理使用一个由 AI 驱动的招聘平台,该平台有一个代理负责管理招聘流程。这个代理(客户端代理)需要寻找合适的软件工程师候选人。它使用 A2A 来发现其他专门的代理,例如一个可以搜索招聘网站的代理和一个可以筛选简历的代理。客户端代理创建一个“寻找候选人”的任务,并将其发送给招聘网站搜索代理,其中包括职位描述和所需技能。招聘网站代理处理该任务并返回一个潜在候选人列表作为工件。然后,客户端代理创建一个“筛选简历”的任务,并将其发送给简历筛选代理,提供已识别候选人的简历。简历筛选代理分析简历并返回一个合格候选人列表作为工件。然后,客户端代理可以继续安排面试,可能使用另一个专门的代理来完成该任务 28。

这个例子生动地展示了 A2A 如何促进不同专业代理之间的协作,以完成像招聘这样复杂的任务。招聘经理的代理发起流程,然后与负责候选人搜寻和背景调查的其他专业代理进行通信。这种协作简化了整个流程,使其更加高效。

潜在影响与用例

A2A 具有巨大的潜力,并适用于各种用例:

  • 打破数据孤岛: 使代理能够访问和共享不同系统和平台上的信息 25。

  • 自动化复杂工作流程: 促进创建多代理系统,其中专门的代理可以协作完成复杂的任务 25。

  • 提高效率和生产力: 通过允许 AI 代理处理原本需要人工干预或大量自定义集成才能完成的任务,从而简化流程 27。

  • 创建专业代理: 鼓励开发在特定领域具有深厚专业知识的代理,然后这些代理可以协作处理更复杂的工作流程 25。

  • 增强企业 AI 协作: 允许组织内不同的 AI 代理动态地交换见解并协调行动 27。

A2A 旨在将团队合作和协作的概念引入 AI 代理领域。正如人类通过协作解决复杂问题一样,A2A 为具有不同专业知识的 AI 代理协同工作提供了一个框架,从而可能产生更强大和更有能力的 AI 系统。

洞察

A2A 旨在将团队合作和协作的概念引入 AI 代理领域。它的成功取决于广泛的采用以及不同供应商接受代理通信开放标准的意愿。A2A 的发展表明,人们越来越认识到,即使是具有先进能力的单个 AI 代理也可能不足以应对高度复杂的现实世界问题。

主要区别与对比示例

直接对比

  • LLM 函数调用: 侧重于使单个 LLM 能够与其自身交互流程中的外部工具和数据源进行交互,以增强其自身的能力。主要目的是扩展 LLM 在文本生成之外的能力。

  • 模型上下文协议 (MCP): 为 LLM 应用程序(主机)安全地连接和交互各种外部服务(服务器)以提供上下文和启用操作提供了一个标准化的框架。其目标是实现不同 LLM 模型和各种工具之间的互操作性。

  • Agent2Agent (A2A) 协议: 侧重于实现多个独立 AI 代理之间的通信和协作,这些代理可能基于不同的框架或由不同的供应商构建。主要目标是促进需要多个智能实体协调的复杂工作流程。

关键区别总结表

特性

LLM 函数调用

模型上下文协议 (MCP)

Agent2Agent (A2A) 协议

主要关注点

扩展单个 LLM 的能力

标准化 LLM 应用程序的上下文和工具访问

实现 AI 代理之间的通信和协作

范围

单个 LLM 交互

LLM 应用程序与外部服务之间的交互

多个 AI 代理之间的交互

交互级别

LLM 在其处理流程中调用函数

LLM 应用程序使用协议与服务器交互

代理使用协议进行通信和协调任务

标准化

主要在特定的 LLM 平台内(例如,OpenAI)

面向 LLM 上下文和工具集成的开放标准

面向代理通信和互操作性的开放标准

关键实体

LLM、函数、外部系统

主机(LLM 应用程序)、客户端、服务器

客户端代理、远程代理、代理卡片、任务、工件

主要目标

访问实时数据、执行操作、使用工具

简化集成、增强 LLM 功能、确保安全性

打破孤岛、自动化复杂工作流程、促进协作

多步骤示例:集成 AI 系统

用户要求一个智能家居助手(由 LLM 提供支持)预订航班并将其添加到日历中。

  • LLM 函数调用: 助手的核心 LLM 使用函数调用来访问航班预订 API,提供从用户查询中提取的旅行偏好。API 返回航班选项。

  • 模型上下文协议 (MCP): 智能家居助手应用程序(主机)使用 MCP 连接到日历服务(MCP 服务器)。LLM 在与用户确认航班后,指示 MCP 客户端使用日历服务的“添加事件”工具,提供航班详细信息。

  • Agent2Agent (A2A): 智能家居助手还有一个“旅行计划代理”。该代理使用 A2A 与“天气预报代理”通信,以获取旅行日期前后目的地城市的天气预报,然后告知用户。

这个多步骤的示例展示了函数调用、MCP 和 A2A 如何协同工作,以创建一个更全面和用户友好的体验。函数调用用于执行特定操作(预订航班),MCP 用于标准化 LLM 应用程序与外部服务(日历)的交互,而 A2A 用于实现不同智能代理(旅行计划和天气预报)之间的通信和信息共享。

洞察

函数调用、MCP 和 A2A 代表了 LLM 和 AI 代理生态系统中不同层次的抽象和交互。它们可以结合使用,创建不仅智能而且互联且能够无缝协作的 AI 系统。

结论:LLM 交互与代理协作的未来

LLM 的函数调用、MCP 和 A2A 是推动 LLM 和 AI 代理发展的关键技术。函数调用使单个 LLM 能够与现实世界交互,极大地扩展了其效用。MCP 为上下文和工具访问提供了一个重要的标准化层,促进了互操作性并简化了开发。A2A 为能够通过协作处理复杂任务的复杂多代理系统铺平了道路。理解这些技术对于开发人员和任何对 AI 未来感兴趣的人来说至关重要,因为它们是创建更智能、更自主和更互联的 AI 系统的关键构建模块。这些协议的持续发展和采用可能会带来更具创新性的应用程序,并使 AI 更无缝地集成到我们生活和工作的各个方面。这些技术的持续发展和日益普及标志着一个更加成熟的 AI 格局,专注于实际应用和互操作性。它们的融合有可能释放以前难以实现的全新 AI 应用程序和服务类别。

Works cited
  1. www.hopsworks.ai, accessed on May 7, 2025, What is Function Calling with LLMs? - Hopsworks

  2. What is Function Calling with LLMs? - Hopsworks, accessed on May 7, 2025, What is Function Calling with LLMs? - Hopsworks

  3. LLM Agent vs Function Calling: Key Differences & Use Cases - PromptLayer, accessed on May 7, 2025, LLM Agent vs Function Calling: Key Differences & Use Cases

  4. Function calling using LLMs - Martin Fowler, accessed on May 7, 2025, Function calling using LLMs

  5. What is LLM Function Calling and How Does it Work? | Quiq Blog, accessed on May 7, 2025, https://quiq.com/blog/llm-function-calling/

  6. Understanding RAG vs Function Calling for LLMs - GetStream.io, accessed on May 7, 2025, RAG vs Function Calling for LLMs

  7. Function Calling with LLMs | Prompt Engineering Guide, accessed on May 7, 2025, Function Calling with LLMs | Prompt Engineering Guide

  8. LLM Function Calling Goes Way Beyond Text Generation - K2view, accessed on May 7, 2025, LLM Function Calling Goes Way Beyond Text Generation

  9. Top 6 LLMs that Support Function Calling for AI Agents - Analytics Vidhya, accessed on May 7, 2025, Top 6 LLMs that Support Function Calling for AI Agents

  10. Function Calling with Open-Source LLMs - BentoML, accessed on May 7, 2025, Function Calling with Open-Source LLMs

  11. Function Calling - Hugging Face, accessed on May 7, 2025, https://huggingface.co/docs/hugs/guides/function-calling

  12. Function Calling in LLMs – Real Use Cases and Value? : r/AI_Agents - Reddit, accessed on May 7, 2025, https://www.reddit.com/r/AI_Agents/comments/1iio39z/function_calling_in_llms_real_use_cases_and_value/

  13. Leveraging LLM function calling to harness real-time knowledge - Fabrity, accessed on May 7, 2025, Leveraging LLM function calling to harness real-time knowledge - Fabrity

  14. Function calling | Mistral AI Large Language Models, accessed on May 7, 2025, Function calling | Mistral AI Large Language Models

  15. Model context protocol (MCP) - OpenAI Agents SDK, accessed on May 7, 2025, Model context protocol (MCP) - OpenAI Agents SDK

  16. Model Context Protocol (MCP) - Anthropic API, accessed on May 7, 2025, Model Context Protocol (MCP) - Anthropic

  17. docs.anthropic.com, accessed on May 7, 2025, Model Context Protocol (MCP) - Anthropic

  18. Model Context Protocol: Introduction, accessed on May 7, 2025, Introduction - Model Context Protocol

  19. What Is the Model Context Protocol (MCP) and How It Works - Descope, accessed on May 7, 2025, What Is the Model Context Protocol (MCP) and How It Works

  20. Model Context Protocol (MCP): A comprehensive introduction for developers - Stytch, accessed on May 7, 2025, Model Context Protocol (MCP): A comprehensive introduction for developers

  21. Model Context Protocol (MCP): Why it matters! | AWS re:Post, accessed on May 7, 2025, https://repost.aws/articles/ARK3Jah0ZyS8GkPTsOJSnZkA/model-context-protocol-mcp-why-it-matters

  22. An Introduction to Model Context Protocol - MCP 101 - DigitalOcean, accessed on May 7, 2025, MCP 101: An Introduction to Model Context Protocol | DigitalOcean

  23. Model Context Protocol (MCP) Explained - Humanloop, accessed on May 7, 2025, Model Context Protocol (MCP) Explained

  24. Specification - Model Context Protocol, accessed on May 7, 2025, Specification - Model Context Protocol

  25. Understanding Agent2Agent (A2A): A Protocol for LLM ..., accessed on May 7, 2025, https://www.trevorlasn.com/blog/agent-2-agent-protocol-a2a

  26. A2A/llms.txt at main · google/A2A - GitHub, accessed on May 7, 2025, https://github.com/google/A2A/blob/main/llms.txt

  27. A2A Protocol & LLM Integration: A Complete Guide - BytePlus, accessed on May 7, 2025, A2A Protocol & LLM Integration: A Complete Guide

  28. Announcing the Agent2Agent Protocol (A2A) - Google Developers ..., accessed on May 7, 2025, https://developers.googleblog.com/en/a2a-a-new-era-of-agent-interoperability/

  29. Agent to Agent Protocol: Helping AI Agents Work Together - Analytics Vidhya, accessed on May 7, 2025, Agent to Agent Protocol: Helping AI Agents Work Together

  30. Community - Agent2Agent Protocol (A2A) - Google, accessed on May 7, 2025, Community - Agent2Agent Protocol (A2A)

  31. MCP and A2A Protocols Explained The Future of Agentic AI is Here - Teneo.Ai, accessed on May 7, 2025, MCP and A2A Protocols Explained The Future of Agentic AI ...

相关文章:

LLM :Function Call、MCP协议与A2A协议

LLM 的函数调用、模型上下文协议 (MCP) 和 Agent to Agent (A2A) 协议:概念、区别与实例对比 引言:LLM 不断演进的格局 大型语言模型 (LLM) 的日益精进,使其能力已超越简单的文本生成,迈向与现实世界进行复杂交互的新阶段。为了…...

当当狸智能天文望远镜 TW2 | 用科技触摸星辰,让探索触手可及

当科技邂逅星空,每个普通人都能成为宇宙的追光者 伽利略用望远镜揭开宇宙面纱的 400 年后,当当狸以颠覆传统的设计,让天文观测从专业领域走入千家万户。当当狸智能天文望远镜 TW2,重新定义「观星自由」—— 无需专业知识&#xff…...

白杨SEO:如何查看百度、抖音、微信、微博、小红书、知乎、B站、视频号、快手等7天内最热门话题及流量关键词有哪些?使用方法和免费工具推荐以及注意事项【干货】

大家好,我是白杨SEO,专注SEO十年以上,全网SEO流量实战派,AI搜索优化研究者。 (温馨提醒:本文有点长,看不完建议先收藏或星标,后面慢慢看哈) 最近,不管是在白…...

Spring AI 之 AI核心概念

模型 人工智能(AI)模型是用于处理和生成信息的算法,通常旨在模拟人类的认知功能。这些模型通过从大规模数据集中学习模式和规律,能够生成预测结果、文本、图像或其他形式的输出,从而增强各行业应用的效能。 AI 模型种类繁多,每种模型都适用于特定的应用场景。虽然以 Ch…...

微软输入法常用快捷键介绍以及调教技巧

微软输入法(Microsoft Pinyin Input Method)是 Windows 系统内置的中文输入工具,以其高效、智能化的特点广受用户喜爱。掌握其常用快捷键和特殊模式可以显著提升输入效率。本文将介绍微软输入法在 Windows 10/11 环境下的常用快捷键及 U 模式…...

基于大模型的输卵管妊娠全流程预测与治疗方案研究报告

一、引言 1.1 研究背景与意义 输卵管妊娠作为异位妊娠中最为常见的类型,严重威胁着女性的生殖健康和生命安全。受精卵在输卵管内着床发育,随着胚胎的生长,输卵管无法提供足够的空间和营养支持,极易引发输卵管破裂、大出血等严重并发症,若救治不及时,甚至会导致孕产妇死…...

16.Excel:打印技巧

一 区域打印 不用打印整个表格,比如只想打印框选出来的信息。 选中区域调整列宽。 二 整表打印 选中整个工作表, 如果调完边距后仍然打印不完全,就用缩放功能。 三 居中打印 打印部分区域的时候,预览图不在居中。 四 行号打印 五 …...

AI驱动的Kubernetes管理:kubectl-ai 如何简化你的云原生运维

AI驱动的Kubernetes管理:kubectl-ai 如何简化你的云原生运维 kubectl-ai 项目概览核心能力:AI 如何赋能 kubectl自然语言的魔力:从繁琐命令到简单对话智能的命令生成与执行不仅仅是执行:结果的可解释性广泛的 AI 模型支持&#xf…...

maven基本介绍

Maven是一个常用的项目构建工具,用于管理Java项目的构建、依赖管理和项目信息管理。它可以帮助开发人员自动化构建过程,统一项目结构和构建规范,并管理项目所需的外部依赖库。 Maven通过一个项目对象模型(Project Object Model&a…...

SPL量化 BBIC(多空指标)

BBIC 是一种将不同天数移动平均线加权平均之后的综合指标&#xff0c;属于均线型指标&#xff0c;一般选用 3 日、6 日、12 日、24 日等 4 条平均线。BBIC 越小股价越强势&#xff0c;BBIC < 1 为多头行情&#xff0c; BBIC>1 为空头行情。 计算公式&#xff1a; 1. 3 日…...

【ArcGIS Pro微课1000例】0068:Pro原来可以制作演示文稿(PPT)

文章目录 一、新建演示文稿二、插入页面1. 插入地图2. 插入空白文档3. 插入图像4. 插入视频三、播放与保存一、新建演示文稿 打开软件,新建一个地图文档,再点击【新建演示文稿】: 创建的演示文档会默认保存在目录中的演示文稿文件夹下。 然后可以对文档进行简单的设计,例如…...

【论文阅读】Reconstructive Neuron Pruning for Backdoor Defense

我们的主要贡献包括&#xff1a; 我们引入了在相同样本集上进行神经元“遗忘”和“恢复”的新技术&#xff0c;并揭示了这种简单的基于重构的学习过程可以帮助暴露DNNs中的后门神经元。我们提出了一个新的防御方法——重构神经元剪枝&#xff08;RNP&#xff09;&#xff0c;它…...

[数据处理] 3. 数据集读取

&#x1f44b; 你好&#xff01;这里有实用干货与深度分享✨✨ 若有帮助&#xff0c;欢迎&#xff1a;​ &#x1f44d; 点赞 | ⭐ 收藏 | &#x1f4ac; 评论 | ➕ 关注 &#xff0c;解锁更多精彩&#xff01;​ &#x1f4c1; 收藏专栏即可第一时间获取最新推送&#x1f514;…...

Ceph 原理与集群配置

一、Ceph 工作原理 1.1.为什么学习 Ceph&#xff1f; 在学习了 NFS 存储之后&#xff0c;我们仍然需要学习 Ceph 存储。这主要是因为不同的存储系统适用于不同的场景&#xff0c;NFS 虽然有其适用之处&#xff0c;但也存在一定的局限性。而 Ceph 能够满足现代分布式、大规模、…...

【C++】类和对象

文章目录 1. 为什么引入类&#xff1f;1.1 C类的设计目标1.2 类的核心特性1.3 类与结构体的区别 2. 类的定义2.1 类定义格式2.2 访问限定符2.3 类域 3. 实例化3.1 实例化概念3.2 对象大小 4. this指针5. 类的默认成员函数6. 构造函数7. 析构函数8. 拷贝构造函数9. 赋值运算符重…...

【计算机视觉】OpenCV项目实战:OpenCV_Position 项目深度解析:基于 OpenCV 的相机定位技术

OpenCV_Position 项目深度解析&#xff1a;基于 OpenCV 的相机定位技术 一、项目概述二、技术原理&#xff08;一&#xff09;单应性矩阵&#xff08;Homography&#xff09;&#xff08;二&#xff09;算法步骤&#xff08;三&#xff09;相机内参矩阵 三、项目实战运行&#…...

【Linux系列】如何区分 SSD 和机械硬盘

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

【AI提示词】双系统理论专家

提示说明 专注于认知心理学领域的专家&#xff0c;研究快思考&#xff08;直觉&#xff09;与慢思考&#xff08;理性&#xff09;的切换机制及其在认知科学中的应用。 提示词 # Role: 双系统理论专家## Profile - language: 中文 - description: 专注于认知心理学领域的专家…...

CI/CD与DevOps流程流程简述(给小白运维提供思路)

一 CI/CD流程详解&#xff1a;代码集成、测试与发布部署 引言 在软件开发的世界里&#xff0c;CI/CD&#xff08;持续集成/持续交付&#xff09;就像是一套精密的流水线&#xff0c;确保代码从开发到上线的整个过程高效、稳定。我作为一名资深的软件工程师&#xff0c;接下来…...

python调用国税乐企直连接口开数电票之查询税收分类编码信息

背景 通过国税官方开放乐企平台接口, 实现了在EPR系统内直接开票. 无需通过任何第三方系统.逐步更新到CSDN专栏分享大家参考. 接口说明 定时获取可用税收分类编码&#xff0c;绑定ERP内部的编码, 使开票时能根据商品匹配到对应的税收分类编码…针对不同编码维护了 18 类增值…...

国标GB28181视频平台EasyGBS打造电力行业变电站高效智能视频监控解决方案

一、方案背景​ 在数字化浪潮席卷电力行业的当下&#xff0c;变电站作为电力输送与分配的核心枢纽&#xff0c;其运行的安全性与稳定性直接关乎社会生产生活的正常运转。然而&#xff0c;传统变电站监控模式设备存在兼容性差、数据处理滞后、管理效率低下等问题&#xff0c;无…...

快速上手 Docker:从入门到安装的简易指南(Mac、Windows、Ubuntu)

PS&#xff1a;笔者在五一刚回来一直搞Docker部署AI项目&#xff0c;发现从开发环境迁移到生成环境时&#xff0c;Docker非常好用。但真的有一定上手难度&#xff0c;推荐读者多自己尝试踩踩坑。 本篇幅有限&#xff0c;使用与修改另起篇幅。 一、Docker是什么 #1. Docker是什…...

Kubernetes(k8s)学习笔记(九)--搭建多租户系统

K8s 多租户管理 多租户是指在同一集群中隔离多个用户或团队&#xff0c;以避免他们之间的资源冲突和误操作。在K8s中&#xff0c;多租户管理的核心目标是在保证安全性的同时&#xff0c;提高资源利用率和运营效率。 在K8s中&#xff0c;该操作可以通过命名空间&#xff08;Nam…...

后端项目进度汇报

项目概述 本项目致力于构建一个先进的智能任务自动化平台。其核心技术是一套由大型语言模型&#xff08;LLM&#xff09;驱动的后端系统。该系统能够模拟一个多角色协作的团队&#xff0c;通过一系列精心设计或动态生成的处理阶段&#xff0c;来高效完成各种复杂任务&#xff…...

掌握 Kubernetes 和 AKS:热门面试问题和专家解答

1. 在 AKS&#xff08;Azure Kubernetes 服务&#xff09;中&#xff0c;集群、节点、Pod 和容器之间的关系和顺序是什么&#xff1f; 在 AKS&#xff08;Azure Kubernetes 服务&#xff09;中&#xff0c;集群、节点、Pod 和容器之间的关系和顺序如下&#xff1a; 集群&#…...

C++面向对象设计类的核心知识详解总述(1)

C 中的类是面向对象编程&#xff08;OOP&#xff09;的核心&#xff0c;用于封装数据和操作这些数据的函数。 下面将系统讲解 C 中类的核心知识点&#xff08;包含语法 概念 示例&#xff09;&#xff1a; 一、类的基本结构 class MyClass { public:// 构造函数MyClass();//…...

【大模型系列篇】Qwen3思考预算及思考模式切换实现原理探索

我们之前一期有介绍过阿里发布并开源的Qwen3大语言模型&#xff0c;无缝集成思考模式、多语言和MCP智能体&#xff1a;《Qwen3开源全新一代大语言模型来了&#xff0c;深入思考&#xff0c;更快行动》&#xff0c;感兴趣的小伙伴可以跳转阅读。 而在本次开源的 Qwen3 的更新中…...

PPT 制作难题迎刃而解,影刀 RPA 开启自动化创作时代

前言 影刀cto说过这么一句话&#xff1a;不迷信AI&#xff0c;也不忽视AI&#xff0c;我们要打造以AI驱动的RPA&#xff0c;AI对当前社会的影响真的不亚于一场战争的爆发 RPA&#xff08;机器人流程自动化&#xff09;作为一种已被广泛应用的技术&#xff0c;能基于预设规则自…...

Node.js面试题

一、什么是Node.js&#xff1f; Node.js 是一个开源的跨平台 JavaScript 运行时环境&#xff0c;允许开发者在服务器端运行 JavaScript 代码。它基于 Chrome 的 V8 JavaScript 引擎构建&#xff0c;能够高效地处理 I/O 操作&#xff0c;适合构建高性能的网络应用。 异步非阻塞&…...

C# NX二次开发:投影曲线和偏置曲线UFUN函数详解

大家好&#xff0c;今天要讲的是关于投影曲线和偏置曲线相关的函数。 &#xff08;1&#xff09;UF_CURVE_create_proj_curves1&#xff1a;这个函数的定义为创建投影曲线。 Defined in: uf_curve.h Overview Creates projection curves. Objects to project may be poi…...

从明文裸奔到密钥长城:HTTPS加密全链路攻防与CA信任锚点构建

前言&#xff1a;本文将从HTTP的隐患出发&#xff0c;深入剖析HTTPS如何通过加密算法、数字证书与信任链机制重塑网络通信的安全边界。我们将探讨协议的证书颁发机构&#xff08;CA&#xff09;的信任逻辑&#xff0c;以及HTTPS在性能与安全之间的平衡艺术。将帮助您更从容地应…...

C# WPF 颜色拾取器

x:Name=Color Picker 语言:C# WPF 下载:https://download.csdn.net/download/polloo2012/90780640 主界面 颜色库 关于我们 颜色拾取器是一种能够帮助用户获取颜色信息,并进行颜色选择、识别和调整的工具,以下将从其常见类型、使用场景及部分软件工具这几个维度展开介绍…...

MySQL关于锁的面试题

目录 1.了解过 MySQL 死锁问题吗&#xff1f; 2.什么是线程死锁&#xff1f;死锁相关面试题 2.1 什么是死锁&#xff1a; 2.2 形成死锁的四个必要条件是什么&#xff1f; 2.3 如何避免线程死锁&#xff1f; 3. MySQL 怎么排查死锁问题&#xff1f; 4.Java线上死锁问题如…...

亚远景-ASPICE vs ISO 21434:汽车软件开发标准的深度对比

ASPICE&#xff08;Automotive SPICE&#xff09;和ISO 21434是汽车软件开发领域的两大核心标准&#xff0c;分别聚焦于过程质量与网络安全。以下从核心目标、覆盖范围、实施重点、协同关系及行业价值五个维度进行深度对比分析&#xff1a; 一、核心目标对比 ASPICE&#xff1…...

第5讲、Transformer 编码器(Encoder)处理过程详解

&#x1f50d; Transformer 编码器&#xff08;Encoder&#xff09;处理过程详解 Transformer Encoder 是一个由 N 层&#xff08;一般为 6 层&#xff09;堆叠而成的模块结构。每一层的本质是两个核心子模块&#xff1a; 多头自注意力&#xff08;Multi-Head Self-Attention…...

Flutter Drawer 详解

目录 一、引言 二、Drawer 的基本用法 三、主要属性 四、常见问题与解决方案 4.1 手势冲突处理 4.2 多级导航管理 4.3 响应式布局适配 五、最佳实践建议 5.1 性能优化 5.2 无障碍支持 5.3 跨平台适配 六、结论 相关推荐 一、引言 在移动应用开发中&#xff0c;侧边…...

游戏引擎学习第263天:添加调试帧滑块

运行游戏&#xff0c;开始今天的开发工作。 我们继续游戏代码基础上进行重构&#xff0c;目标是实现更多的性能分析界面功能&#xff0c;尤其是调试用的用户界面。 目前运行游戏并打开性能分析窗口后&#xff0c;发现界面功能上还有不少缺陷。现在的界面可以向下钻取查看具体…...

Hadoop客户端环境准备

hadoop集群我们配置好了&#xff0c;要与它进行交互&#xff0c;我们还需要准备hadoop的客户端。要分成两步&#xff1a;下载hadoop包、配置环境变量。 1. 找到资料包路径下的Windows依赖文件夹&#xff0c;拷贝hadoop-3.1.0到非中文路径&#xff08;比如d:\hadoop-3.1.0&#…...

当“信任”遇上“安全”:如何用Curtain Logtrace记录文件操作活动 守护团队与数据的双重底线?

你是否也有过这样的担忧&#xff1f; 团队成员在处理敏感数据时是否遵守了公司规范&#xff1f; 某份被篡改或外泄的文档&#xff0c;到底发生了什么&#xff1f; 为了数据安全而频繁加密、限制下载&#xff0c;却反过来打击了员工的工作积极性…… 如何在不伤害团队信任的…...

如何进行室内VR全景拍摄?

如何进行室内VR全景拍摄&#xff1f; 室内VR全景拍摄作为先进的视觉技术&#xff0c;能够为用户提供沉浸式的空间体验。本文介绍如何进行室内VR全景拍摄&#xff0c;并阐述众趣科技在这一领域的技术支持和服务优势。 室内VR全景拍摄基础 1. 室内VR全景拍摄概述 室内VR全景拍…...

一文走进GpuGeek | conda常用命令

conda 常用命令 查看conda版本 conda --version 查看conda信息 conda info 更新conda自身到最新版本&#xff0c;同时也会更新其它包 conda update conda conda更新指定包&#xff0c;这里更新通过conda安装的zlib包 conda update zlib 列出所有虚拟环境 conda env li…...

Consumer Group的作用是什么?Rebalance的触发条件有哪些? (实现消费者负载均衡;消费者加入/离开、订阅Topic变化等)

好的&#xff0c;我现在需要回答用户关于Kafka Consumer Group和Rebalance的问题。首先&#xff0c;用户问的是Consumer Group的作用以及Rebalance的触发条件。根据之前的对话历史&#xff0c;用户已经了解了Kafka的基本组件、消息保留策略、顺序性保证等&#xff0c;现在的问题…...

【计算机视觉】OpenCV实战项目:Long-Exposure:基于深度学习的长时间曝光合成技术

Long-Exposure&#xff1a;基于深度学习的长时间曝光合成技术 项目概述与技术背景项目核心功能技术原理 环境配置与安装硬件要求建议详细安装步骤可选组件安装 实战应用指南1. 基础使用&#xff1a;视频转长曝光2. 高级模式&#xff1a;自定义光轨合成3. 批量处理模式 技术实现…...

CentOS 7 安装OpenJDK 17 JRE

CentOS 7 自带的java 版本为&#xff1a;java version "1.8.0_311"&#xff0c; 有些软件的运行需要更高的java版本。CentOS 7 自带的默认仓库里 没有 OpenJDK 17&#xff0c;但是 Adoptium 项目&#xff08;前身 AdoptOpenJDK&#xff09;提供了稳定的 OpenJDK 17 版…...

C++从入门到实战(十三)C++函数模板与类模板初阶讲解

C从入门到实战&#xff08;十三&#xff09;C函数模板与类模板初阶讲解 前言一、为什么需要模板1. 函数重载的问题2. 泛型编程和模板的作用 二、函数模板2.1 函数模板格式2.2 函数模板的原理2.3 函数模板的实例化&#xff08;1&#xff09;隐式实例化&#xff1a;&#xff08;2…...

CentOS服务器中如何解决内存泄漏问题?

内存泄漏并不是“爆炸性内存飙升”&#xff0c;而是程序申请了内存但没有释放&#xff0c;造成系统可用内存逐渐减少&#xff0c;直到用光。 表现形式&#xff1a; 系统空闲内存越来越少;swap频繁被占用;某些服务响应变慢甚至挂掉;重启服务后内存才释放。 内存泄漏的根源在哪…...

【Java项目脚手架系列】第三篇:Spring MVC基础项目脚手架

【Java项目脚手架系列】第三篇&#xff1a;Spring MVC基础项目脚手架 前言 在前面的文章中&#xff0c;我们介绍了Maven基础项目脚手架和JavaWeb基础项目脚手架。今天&#xff0c;我们将介绍Spring MVC项目脚手架&#xff0c;这是一个用于快速搭建Web应用的框架。 什么是Spr…...

chili3d调试笔记12 deepwiki viewport svg雪碧图 camera three.ts

xiangechen/chili3d | DeepWiki viewport阅读 &#x1f9e0;deep 我要把模型投影成dxf导出有什么办法 引用lookat 截图是如何实现的 明天接着搞 ---------------------------------------------------------------- 截图没什么用 搞个工程图模块可能才行 一个文件一行 忘…...

tinyrenderer笔记(Shader)

tinyrenderer个人代码仓库&#xff1a;tinyrenderer个人练习代码 前言 现在我们将所有的渲染代码都放在了 main.cpp 中&#xff0c;然而在 OpenGL 渲染管线中&#xff0c;渲染的核心逻辑是位于 shader 中的&#xff0c;下面是 OpenGL 的渲染管线&#xff1a; 蓝色是我们可以自…...

【奔跑吧!Linux 内核(第二版)】第1章:Linux 系统基础知识

笨叔 陈悦. 奔跑吧 Linux 内核&#xff08;第2版&#xff09; [M]. 北京: 人民邮电出版社, 2020. 文章目录 Linux 系统的发展历史Linux 发行版Red Hat LinuxDebian LinuxSuSE Linux优麒麟 Linux Linux 内核介绍宏内核和微内核Linux 内核概貌 Linux 系统的发展历史 Linux 系统诞…...