文章目录
前言
MCP:Model Context Protocol(模型上下文协议) 是一个开放协议,它规范了应用程序如何为LLMs提供上下文。可以将MCP想象为AI应用的USB-C端口。就像USB-C提供了一种标准方式,让你的设备连接到各种外设和配件,MCP也提供了一种标准方式,让你的AI模型连接到不同的数据源和工具。
Model Context Protocol(模型上下文协议)是 Anthropic 在推出的用于 LLM 应用和外部数据源(Resources)或工具(Tools)通信的标准协议,遵循 JSON-RPC 2.0 (https://www.jsonrpc.org/specification)的基础消息格式。
可以把 MCP 想象成 AI 应用程序的 USB-C 接口,规范了应用程序如何为 LLMs 提供上下文。
上图来自微信公众号:字节跳动开源
一、平台环境准备
镜像选择:pytorch:v24.10-torch2.4.0-torchmlu1.23.1-ubuntu22.04-py310
功能选择
在创建云端容器应用后,点击添加容器,镜像选择我们刚才的镜像,容器端口22ssh开放出来,然后在开放一些业务端口,下一步就选择直接映射端口即可。
【启动命令可以写一个while循环】
这一步容器的作用,是为了让我们的服务更好的暴露到公网,接入dify中调用
启动成功之后就是以下效果,可以直接ssh22映射的端口连接到机器上
二、测试数据准备
在这里我们让大模型模拟一组数据,该数据来扮演我们的数据库【一周金融的报表】
以下是模拟后的数据
三、容器环境准备和服务启动
1.vllm服务启动
这里我们用qwen2.5-72B模型进行基底模型
#vllm测试
source /torch/venv3/pytorch_infer/bin/activate #激活vllm环境
export LD_LIBRARY_PATH=/usr/local/neuware/lib64
vllm serve /srv/Qwen2.5-7B-Instruct --dtype="bfloat16" --trust-remote-code --served-model-name 72b --gpu-memory-utilization 0.98 --tensor-parallel-size 8 --port 23001 --max_model_len 2048 --block_size 32#
2.fastmcp环境准备
pip install fastmcp
四、代码准备
from pathlib import Path
from fastmcp import Context
from fastmcp import FastMCP,Client
import asyncio
import pandas as pd
import requests
from fastmcp.resources import *
from datetime import datetime
mcp = FastMCP("testmcp",host="0.0.0.0",port=23005)
导入库并配置mcp,port用刚才容器的端口
from pathlib import Path
from fastmcp import Context
from fastmcp import FastMCP,Client
import asyncio
import pandas as pd
import requests
from fastmcp.resources import *
from datetime import datetime
mcp = FastMCP("testmcp",host="0.0.0.0",port=23005)
@mcp.tool()
def jinrong(beginTime: str = "", endTime: str = "") ->str|None:
"""返回近一个月的金融情况(返回Markdown)
输入:无
输出:md_table(包含日期,开盘价,最高价,最低价,收盘价,成交量(万手),成交额(亿元),涨跌幅(%))
"""
df = pd.read_csv("/workspace/volume/guojunceshi2/mcpserve/sa/jinrong.csv")
md_table = df # 不保留行索引
return md_table
def main():
mcp.run()
if __name__ == "__main__":
mcp.run(transport='streamable-http')
直接python运行该文件即可
五、dify配置
1 .工具选择
2.完整工作流
3.详细细节配置
model 用我们刚才配置的vllm大模型可以直接接入,接口通用
mcp config的url改成平台映射出来的端口
六、效果展示
上述只是简单描述下能力和效果,数据都是虚构的,有更深层次的使用和用法,欢迎私信交流