一、MCP (Model Context Protocol) 

1. 核心概念

  • 是什么:MCP是一个开放协议,用于在应用(如IDE、Agent) 和工具/数据源(如服务器、数据库) 之间建立标准化的通信。

  • 目标:解决AI工具生态的碎片化问题,让任何应用都能通过统一接口动态发现和调用任何外部资源。

  • 核心角色

    • MCP Client:AI应用(如你的LangGraph智能体)。发起请求。

    • MCP Server:提供工具和资源的服务。处理请求并返回结果。

    • Transport:通信方式(SSE / STDIO)。

2. 核心接口/方法

  • initialize:握手,交换客户端和服务器的能力信息。

  • tools/list:客户端发现服务器提供了哪些可调用的工具(函数)。

  • tools/call:客户端调用指定的工具并传入参数。

  • resources/read:客户端读取服务器管理的资源(如文件内容)。

  • resources/list:客户端发现服务器提供了哪些可用的资源。

  • notifications:服务器主动向客户端发送通知(需SSE传输)。

3. SSE vs. STDIO

  • SSE (Server-Sent Events)

    • 基于HTTP,适合远程服务化部署

    • 一个Server可服务多个Client。

    • 支持服务器主动推送(notifications)。

  • STDIO (Standard Input/Output)

    • 基于进程管道,适合本地集成

    • Server作为Client的子进程启动,生命周期绑定。

    • 更简单、高效,但不支持远程和多客户端。

4. 核心优势(面试时要强调的点)

  • 解耦与复用:智能体(Client)与工具(Server)解耦,一个工具服务器可被多个智能体复用。

  • 动态性:智能体无需预知工具信息,运行时动态发现和调用。

  • 安全性:工具访问权限集中在Server端控制,更安全。

  • 标准化:提供了统一的工具集成规范,避免重复造轮子。


二、Function Calling 

1. 核心概念

  • 是什么:大语言模型的一种能力,允许模型识别出用户请求中需要调用外部工具/函数的意图,并结构化地输出调用所需的参数。

  • 工作流程 (ReAct模式):

    1. 规划:LLM根据用户请求,决定是否需要调用函数,以及调用哪个函数。

    2. 执行:系统在外部执行该函数(代码)。

    3. 观察:将函数执行的结果返回给LLM。

    4. 反思:LLM基于结果生成最终回答或决定下一步行动。

2. 如何定义函数 (Function Signature)

  • 通常以一个JSON Schema数组的形式在请求时提供给LLM。

  • 包含三大要素:

    • name:函数名。

    • description:功能的详细自然语言描述,这是LLM是否调用该函数的关键。

    • parameters:参数的JSON Schema定义(类型、描述、是否必需等)。

3. LLM的输出

  • 当LLM决定调用函数时,它会停止生成普通文本,转而输出一个结构化的JSON对象(如OpenAI的 tool_calls 数组)。

  • 包含:要调用的函数ID (id)、函数名 (name)、参数 (arguments)。

4. 核心优势与价值

  • 突破局限:让LLM能够获取实时信息、执行操作、访问私有数据,克服了其知识截止、可能产生幻觉等局限。

  • 赋能智能体:是构建AI智能体(Agent)的基石,使LLM从“问答机”升级为“行动中枢”。

5. Function Calling vs. MCP

  • Function Calling:是LLM的能力,定义了LLM如何请求调用一个函数。

  • MCP:是通信协议,定义了函数调用请求如何在不同进程间传输

  • 关系:MCP可以看作是Function Calling的“传输层”和“基础设施”。你的智能体通过Function Calling决定调用 get_weather,然后通过MCP协议将这个消息发送给远端的天气工具服务器。


 三、其他重要AI应用概念

1. RAG (Retrieval-Augmented Generation) 检索增强生成

  • 是什么:通过从外部知识库检索相关信息,并将其作为上下文提供给LLM,从而生成更准确、更可靠的答案的技术。

  • 核心流程

    1. 索引:将文档切块、嵌入(Embedding),存入向量数据库。

    2. 检索:将用户问题嵌入,在向量库中检索最相关的K个文本片段。

    3. 增强:将检索到的片段(Context)和用户问题(Question)组合成一个新的提示(Prompt)。

    4. 生成:将增强后的提示发送给LLM生成答案。

  • 优势:降低成本(无需微调)、可溯源、可及时更新知识(只需更新向量库)。

2. Agent (智能体)

  • 是什么:能理解用户指令、规划任务、调用工具并自主完成复杂目标的AI系统。

  • 核心组件

    • 规划:分解任务、反思修正(ReAct, CoT)。

    • 记忆:短期记忆(对话上下文)、长期记忆(向量库/数据库)。

    • 工具使用:Function Calling的核心价值体现。

  • 经典框架:LangGraph, AutoGPT, BabyAGI。

3. LangChain / LlamaIndex 核心概念

  • LangChain

    • 核心价值:提供了一套组件和链(Chain)来简化LLM应用的开发。

    • 必知概念Model I/O (LLM, PromptTemplate, OutputParser), RetrievalChains (LCEL), Agents (AgentExecutor, Tools), Memory

  • LlamaIndex

    • 核心价值:专注于构建RAG应用,是“LLM和外部数据之间的桥梁”。

    • 必知概念Index (向量索引、摘要索引), Query EngineRetrieverNodeIngestion Pipeline

4. 提示工程 (Prompt Engineering)

  • 核心原则:清晰、具体,提供充足上下文。

  • 必知技巧

    • Few-Shot:提供几个示例,让LLM模仿。

    • Chain-of-Thought (CoT):“让我们一步步思考”,引导模型推理。

    • Role-Playing:“你是一个专业的...”,为模型设定角色。

    • 模板化:使用{variable}占位符构建可复用的提示模板。

5. 评估与优化

  • 评估指标

    • 忠实度 (Faithfulness):答案是否基于提供的上下文?(防幻觉)

    • 答案相关性 (Answer Relevance):答案是否回答了问题?

    • 上下文相关性 (Context Relevance):检索的上下文是否都与问题相关?

  • 优化方向

    • 检索优化:调整切块大小/重叠、尝试不同嵌入模型、优化检索策略(混合搜索、重排序)。

    • 提示优化:迭代提示词,加入指令和格式要求。

    • 迭代评估:构建评估数据集,持续迭代优化整个Pipeline。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/96000.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/96000.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/96000.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第2节-过滤表中的行-WHERE

摘要:在本教程中,您将学习如何使用 PostgreSQL 的 WHERE 子句来筛选表中的行。 PostgreSQL WHERE 子句 SELECT FROM 语句从表中所有行的一个或多个列中查询数据。实际上,你经常需要选择满足某个条件的行。 要根据条件从表中筛选行&#xf…

IACheck赋能AI环评报告审核,推动环保设备制造行业发展

在“双碳目标”和绿色制造的背景下,环保设备制造行业正在迎来快速发展。然而,环评报告作为项目合规的“通行证”,却一直是企业最头疼的环节之一:编写复杂、审核周期长、错误率高。传统的审核模式不仅耗时耗力,还容易出…

常见的多态

一、核心概念多态(Polymorphism) 的字面意思是“多种形态”。在Java中,它指的是:同一个行为(方法)具有多个不同表现形式或形态的能力。更具体地说,它允许你:父类的引用指向子类的对象…

20250909_排查10.1.1.190档案库房综合管理系统20250908备份缺失问题+优化scp脚本(把失败原因记录进日志)并测试脚本执行情况

目录 一、现象(图中现象) 二、可能原因 1、本地源文件没生成(最可能原因) 2、清理逻辑误删 三、时间同步检查 1、运行命令查看当前时间源:w32tm /query /source 2、修改为内网 NTP 服务器 10.1.10.251: 四、脚本优化 1、scp.bat vs roboscp.bat 对比表 2、robo…

OpenHarmony之有源NFC-connected_nfc_tag模块详解

1. 模块概述 Connected NFC Tag模块是OpenHarmony NFC子系统的一部分,专门用于处理有源NFC标签的读写操作。与基础NFC模块不同,该模块专注于与已连接的有源NFC标签进行交互,提供更高层次的API供应用层使用。 设备必须具备有源NFC标签芯片,才能使用有源NFC标签的读和写服务…

MySql案例详解之事务

下面我会从“事务是什么”→“为什么需要事务”→“事务的四大特性(ACID)”→“MySQL中怎么用事务”→“常见坑与调试技巧”→“完整实战案例(含代码、输出、讲解)”六个层次,给你一个“看完就能上手”的MySQL事务速查…

Linux之环境变量(内容由浅入深,层层递进)

一、概念介绍(来源:比特就业课)环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数环境变量通常具有某些特殊用途,并且在系统中通常具有全局特性二、现象引入与解答 1.为什么像ls这样的系统指令可以直接执行&#x…

监控 Linux 服务器资源

使用 Bash 脚本监控 Linux 服务器资源并发送告警邮件前言一、🛠️ 脚本功能概览二、 📜 脚本核心逻辑分解2.1. 变量初始化2.2. CPU 使用率监控2.3. 内存使用率监控2.4. 磁盘使用率监控2.5. 磁盘 IO 延迟监控(await)2.6. 网络流量监…

随机获取数组内任意元素

Math.random() * arr.length 是 JavaScript 中常用的表达式,用于生成一个范围在 [0, arr.length) 之间的随机浮点数(包含 0,但不包含数组长度本身)。 作用说明: Math.random() 生成一个 [0, 1) 区间的随机浮点数&#…

android studio gradle 访问不了

1.通过国内镜像站 2.通过本地部署 参考这个搞定 https://blog.csdn.net/2401_82819685/article/details/144542784

科普:企业微信的第三方应用涉及的“配置应用权限”

企业微信的第三方应用涉及“配置应用权限”,它在不同阶段含义不同:开发阶段意指应用自身所需的功能权限,安装阶段意指企业管理员对应用使用范围的控制,产生此歧义的问题,归根到低还是语言的缩写问题,设想一…

YOLOv11改进大全:从卷积层到检测头,全方位提升目标检测性能

## 1 引言YOLO(You Only Look Once)系列作为目标检测领域的重要算法,以其**高效推理**和**良好精度**赢得了广泛认可。2024年9月,Ultralytics团队正式发布了YOLOv11,在先前版本基础上引入了**多项架构改进**和**训练优…

JWT全面理解

目录 一、JWT是什么 1、身份认证(最核心用途) 2、信息交换 3、授权控制 二、JWT的核心价值 三、如何理解JWT的结构和工作原理 1、三部分结构解析 2、核心工作流程 四、JWT的使用步骤 1、添加依赖 2、添加配置文件 3、创建实体类 4、创建JWT…

量子文件传输系统:简单高效的文件分享解决方案

🌐 在线体验地址:https://share-file.narutogis.com/ 📤 项目概述 量子文件传输系统是一款基于Python Flask开发的高效文件管理与分享工具,致力于提供简单、安全、可靠的文件传输解决方案。系统支持用户管理、文件上传下载、自动…

基于 GitHub Actions 的零成本自动化部署:把 Vite/Vue3 项目一键发布到 GitHub Pages 的完整实战

1. 实现自动化部署1.1. 创建 vue 项目# 1. 安装/确认 Node.js(>14) node -v # 推荐 20.x# 2. 创建项目(交互式,选 Vue3 Router 等) npm init vuelatest github-actions-demo # 创建vite项目 # 或:v…

minio 文件批量下载

MinIO 批量下载功能说明 1. 功能描述 前端勾选多个对象文件后,一次性将这些对象从 MinIO 拉取并打包成 ZIP,通过浏览器直接下载。整体特性: 支持跨桶批量下载(不同 bucket 的对象可同时下载)。服务端采用流式压缩边…

机器学习11——特征选择与稀疏学习

上一章:机器学习10——降维与度量学习 下一章:【从 0 到 1 落地】机器学习实操项目目录:覆盖入门到进阶,大学生就业 / 竞赛必备[TOC] 机器学习实战项目:【从 0 到 1 落地】机器学习实操项目目录:覆盖入门到…

整理python快速构建数据可视化前端的Dash库

一.Dash框架# 导入 Dash 相关库 import dash from dash import dcc, html # dcc 是 Dash 核心组件库,html 是 HTML 组件库 from typing import Generic# 创建一个 Dash 应用实例 app dash.Dash(__name__)# 定义应用的布局 app.layout html.Div(children[# 添加一…

RNN循环神经网络(一):基础RNN结构、双向RNN

RNN循环神经网络 什么是循环神经网络? 循环神经网络(Recurrent Neural Network, RNN)是一类专门用于处理序列数据的神经网络架构。与传统的前馈神经网络不同,RNN具有"记忆"能力,能够捕捉数据中的时间依赖关系…

#C语言——刷题攻略:牛客编程入门训练(十):攻克 循环控制(二),轻松拿捏!

🌟菜鸟主页:晨非辰的主页 👀学习专栏:《C语言刷题合集》 💪学习阶段:C语言方向初学者 ⏳名言欣赏:"代码行数决定你的下限,算法思维决定你的上限。" 目录 1. BC82 乘法表…