AI中的一些概念

疑似有点

AI新技术新概念更新神速,几乎每天都有新玩意出来,一周不看直接成为原始人。

可恶,节奏这么快,让我怎么好好享受生活!

内容也摘自AI回答🤣

Function Call (函数调用)

Function Call是指大模型直接调用预定义函数的能力,允许模型生成请求参数并整合结果。它就像一把瑞士军刀,虽然小巧但功能多样,可以直接嵌入模型中完成轻量级任务。Function Call通常与模型绑定部署,适合处理简单、低延迟的任务,例如实时翻译、情感分析、查询天气或执行简单的数学计算等

MCP (Model Context Protocol 模型上下文协议)

MCP是Model Context Protocol的缩写,它是一种客户端-服务端模型,用于客户端请求服务端提供的工具、资源、提示词等。MCP Server就像一个被动的工具箱,专注于提供数据和工具接口,例如抓取网页、读取文件或调用API等。它的优势在于模块化设计,便于独立开发和扩展,但局限性是只能被动响应,无法主动解决问题。

ReAct

ReAct是一种结合了语言模型的推理能力和工具调用的框架。它通过特定的提示模板,让模型在回答问题时能够显式地展示思考(Thought)、行动(Action,即调用工具)和观察(Observation,即工具返回的结果)的过程。例如,在Qwen中,可以使用ReAct Prompting实现带有额外规划元素的函数调用,使中间文本更具结构化。ReAct框架有助于提高模型在处理复杂任务时的透明度和可解释性。

这样看来,function call 和 mcp 好像作用很像,都是让大模型可以调用外部接口工具。但是function call貌似直接是嵌入模型内部的,是作为某些大模型自身的能力。mcp则是定义的统一协议,或者说规则,无关大模型能力。

MCP实现

MCP(Model Context Protocol,模型上下文协议)并不是通过给大模型特殊提示词来实现的。

MCP是一种开放协议,由Anthropic在2024年底推出,旨在通过标准化的接口实现大语言模型(LLM)与外部数据源之间的无缝集成。它通过定义统一的通信协议和架构,使得AI系统能够更高效地访问和利用多源数据,从而扩展AI的应用范围和提高其效率。

MCP基于客户端-服务器模型,允许客户端请求使用服务端提供的工具、资源和提示词。其中,提示词是预先定义好的模板,用于指导大模型完成特定任务。但MCP的核心在于其标准化的接口和通信机制,而不仅仅是提示词本身。

ReAct实现细节

ReAct是一种结合了语言模型推理能力和工具调用的框架,它通过特定的提示模板,让模型在回答问题时能够显式地展示思考(Thought)、行动(Action,即调用工具)和观察(Observation,即工具返回的结果)的过程。ReAct调用工具的过程如下:

  1. 工具的定义与描述
    在ReAct框架中,工具(Tool)是预先定义好的,每个工具都有一个名称(name)和描述(description)。这些工具可以是任何可以执行特定任务的函数或接口,例如搜索工具、计算器工具等。
  2. 将工具集成到模型中
    将定义好的工具添加到模型的工具列表中,这样模型在运行时就可以访问和使用这些工具。
  3. 模型的推理与规划
    当用户提出一个问题时,模型会根据问题和上下文,结合已有的工具,进行推理和规划。模型会思考如何解决问题,并决定使用哪个工具以及工具的输入参数。
  4. 执行工具调用并获取结果
    模型生成一个Action,指定要使用的工具及其输入参数。然后执行这个工具调用,并将工具返回的结果作为Observation保存。
  5. 重复迭代直至任务完成
    模型会根据Observation进行思考,规划下一步的Action,直到任务完成或者达到最大迭代次数。
    在整个过程中,ReAct框架通过不断地思考、行动和观察,帮助模型更有效地利用外部工具来完成复杂任务,提高了模型的透明度和可解释性。

ReAct是基于提示词的。ReAct框架通过特定的提示模板,让模型在回答问题时能够显式地展示思考(Thought)、行动(Action,即调用工具)和观察(Observation,即工具返回的结果)的过程。提示词在ReAct中起到了引导模型行为的关键作用,帮助模型理解如何在解决问题的过程中结合推理和工具调用。

提示词真是一门大学问。