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

网站建设外包费用创卫网站 建设 方案

网站建设外包费用,创卫网站 建设 方案,上海网站开发孵化,学生个人网页设计作品代码前言我之所以记录这一块的内容,是因为在开始学习MCP的时候,网络上的各路教程我感觉都不太成熟。在之前有过学习SpringAI的实战经验,对FunctionCalling有过研究和使用经验,在接触MCP之后,发现两者的功能和使用场景上有很…

前言

我之所以记录这一块的内容,是因为在开始学习MCP的时候,网络上的各路教程我感觉都不太成熟。

在之前有过学习SpringAI的实战经验,对FunctionCalling有过研究和使用经验,在接触MCP之后,发现两者的功能和使用场景上有很多相似之处

同时,之前的笔记,我记录过对两者的理解

而现在正式开始学习MCP的时候,又有了新的理解,由此记录一下

开头直接给总结

FC是功能,MCP是协议

FC是指大模型拥有可以调用函数Tools去解决用户问题的功能

而Tools分为本地的和外部的,我之前SpringAI项目的FC就是调用本地的Tool

MCP呢就是把Tools的设计做了规定

打包到MCP Server当中,也就是抽取出来,单独的进行分布式的部署的一个外部工具的服务

用于解决,大模型应用开发,设计Tools的工作量,以及单个大模型应用的信息孤岛问题

Function Calling(后写作FC)

在通过网络上资料的具体学习之后,我对FC的整体流程有了新的理解

来看看我之前笔记对FC的理解

而在我具体项目的实现过程中,对FC的使用,可以把链路总结为以下步骤(如果对之前项目感兴趣的朋友可以看我之前的笔记)

这里简单介绍一下,我的FC主要是实现了一个可以提供用户选修课推荐,并且帮助用户挑选合适选修课,以及帮助预约的AI助手

主要工作链路如下:

  1. 用户客户端输入对话内容,传给服务器

  2. 服务器拿到对话内容,结合SystemPrompt的设置,组织好发送给大模型

  3. 大模型会先判断,对话内容需要做的任务,自己的知识库能不能完成,很明显不能完成

  4. 在不能完成的时候,大模型会通过组织好的prompt去判断调用哪个Function函数,然后去调用服务器的函数

  5. 服务器调用函数之后,获取返回值,再次发送给大模型

  6. 大模型通过函数返回值组织语言回复给用户

这里的几个关键点在于,大模型如何知道自己有哪些函数可以调用,以及什么时候去调用函数,又以什么方式入参?

这里就需要涉及到Prompt的设计以及description的设计了

Prompt设计

我们可以在Prompt当中,设计好整个服务流程,引导大模型去服务,同时,也需要处理好各种特殊情况,在Prompt当中就设计好,各种情况下,让大模型去调用具体哪个函数

@Tool、@ToolParam注解

ElectiveCourseQuery具体入参详情

Tool注解可以把每个函数,打包在提问时,组装到Prompt里面传给大模型,为后续大模型提供选择,里面的description参数可以告诉大模型,当前函数的作用

结合Prompt的设计,可以让大模型知道,具体什么情况下可以调用这个函数

ToolParam注解,可以设置description,告诉大模型,从Prompt当中通过哪些关键字去获取参数,然后设计入参

这就是FC的一个实现链路过程,但是这个过程当中,具体哪一块是属于FC的呢?

它和MCP的区别还有各自的运用场景在哪呢?不急我会继续讲

MCP(Model Context Protocol)

全称叫做模型上下文协议

看着很高大上,其实你看完就知道,他本质上不能称之为一项技术,而是一个规定

首先,我们要知道,MCP这个协议里面,规定的几个特殊名词

  • MCP服务器:MCP Server

    • 首先,请各位把传统网络协议那一块的联想打住,这个Server我觉得取名其实是有一点误导性的,它其实和传统意义上的联网的服务器不是一个东西,如果要让我自己找个相似的东西,它可能叫做MCP Project更合适一点,也就是一个项目,然后这个项目符合MCP的协议

    • 举个例子,我上面FC写的是一个可以提供查询、推荐、预约选修课的项目,这个整体,如果能让它符合MCP协议,那它就是一个MCP Server了,我们可以取名叫做 ElectiveCourseServer

    • 也就是说,MCP Server本质上是一个独立的项目/程序/应用,相信老练的同学已经闻到了,微服务、RPC相关的气味了

  • Tool:MCP Server里的模块

    • 这个Tool是什么呢?和FC里面的Tool什么关系呢?你没有想错,这俩其实是一个东西,就是函数

    • 一个项目里面,肯定有多个函数,每个函数对应各自的功能模块,还是拿我上面的FC举例子,一个Tool是根据条件查课程、另一个Tool是根据条件查校区、还有一个Tool是帮用户预约课程,信息落库.....

    • 一个Server里面有这个领域相关的多个Tool,例如一个天气相关的Server,可能包含根据经纬度查询天气、根据省市查询天气 等等Tool,总而言之,使用这个Server,本质上是去调用Server里面的某个Tool,设置好入参,然后获取出参,你看,是不是和FC一模一样

综上所述,我们就知道MCP是干什么的了

本质上来说,就是一个符合MCP协议的项目,之所以符合MCP协议,其实就是为了让不同的大模型,或者不同的业务模块,都可以去调用这个服务,或者说调用这个服务当中的某个Tool

FC和MCP的对比

上面简单讲了FC和MCP的理解

可能还是不太清楚两者的区别是什么

我用一张视频的截图来解释

首先我们要知道,FC去调用大模型,本质上是调用大模型提供的API

这里的OpenAI服务器,和我自己写的项目的后端服务器,本质是一个东西

  1. 用户开始会话,会话内容会和Prompt、Tool组装好,交给大模型

  2. 大模型自身知识库无法解决,提取会话内容里面的信息,按照Tool设置的description组装参数,返回给服务器,让服务器调用某个Tool

  3. Tool返回信息后,重新交给大模型

所谓的Function Calling,本质上是一种功能

指的是,某个大模型支持接受由Prompt和Tool等信息组装好的内容

然后分析Prompt的内容,Tool里面的要求,组装参数进行返回的这个功能

也就是图中蓝色框的区域

但是,各种大模型,以及每个人的编码习惯不统一,写项目以及项目里各个模块的章法不同,开发和复用率就很低

MCP就是一个规范的协议

还是拿上面我自己写的选修课这个服务来说,是按照SpringAI的规则来写的,也只支持本地调用,本质上是一个本地的Service

如果我其他项目,想要这个服务,需要把代码copy过去,包括各种配置啥的,复用性差

而如果我的这个选修课服务,满足MCP的规范,那么其他项目就可以通过调用MCP的方式,去调用我这个写好的服务

也就是说,其实我自己写的选修课服务,本质上也是个Server,只不过不是MCP Server

一个MCP Server,满足MCP协议,可以让其他项目复用

现在网上也有各种各样的开源MCP Server,学习了如何使用就可以复用了

还有一个好消息,SpringAI的FC开发,其实很多东西和MCP的协议是一模一样的,所以说,只需要稍微学一下,MCP就可以掌握了

http://www.dtcms.com/a/498090.html

相关文章:

  • 网站修改域名哪里有网站建站公司
  • 网站托管服务商网站建设时图片和文字
  • 共享经济网站建设策划书设计官网和推广的公司
  • 枣庄做网站建设找哪家wordpress有什么用
  • 网站的类型是什么意思wordpress双语网站
  • 家里面的服务器可以做网站吗美工怎么做网站效果图
  • 网站301跳转怎么做的西安网站建设和推广
  • 深圳专业网站设计制作余杭专业的网页制作官网
  • 大丰网站开发女装网站设计方案
  • 松原做公司网站广州微信开发
  • 写网站教程中国建设工程交易网
  • 网站企业备案和个人备案的区别吗论文关键词
  • 西安网站推广公司文山 网站建设 滇icp
  • 网页制作与网站建设答案外包网站制作
  • 网站服务器慢网站建设用细节取胜
  • 网站信息建设总结wordpress新版编辑
  • 深圳网站建设专家上海百度关键词推广
  • 网站会员系统功能filetype ppt 网站建设
  • 自己做的网站 网站备案流程范文网站学校技防 物防建设
  • 小米网站 用什么做的域名申请免费注册
  • 网站关键词如何优化wordpress后台界面
  • 企业网站建设 信息安全网站怎么做301定向
  • 申请免费建站做网站软件war
  • 怎么创建免费网站吗百度公司怎么样
  • 网络技术培训总结深圳知名网络优化公司
  • 兰州网站推招聘预算网站怎么做
  • 做网站赚钱什么类型模版网站搭建
  • 馆陶网站建设电话做一个网站先做前段 还是后端
  • 旅游网站建设建议无锡建设市场网站
  • 玩家世界网站建设一般什么行业做网站的多