
如何在 Apifox 中發(fā)布多語(yǔ)言的 API 文檔?
MCP Hosts: 例如 Claude Desktop、集成開(kāi)發(fā)環(huán)境(IDE)或希望通過(guò) MCP 訪問(wèn)數(shù)據(jù)的 AI 工具等程序
MCP Clients: 協(xié)議客戶端,負(fù)責(zé)和大模型進(jìn)行輸入輸出交互
MCP Server: 協(xié)議服務(wù)端,負(fù)責(zé)和外部服務(wù)進(jìn)行交互,暴露外部服務(wù)的接口,并且和客戶端進(jìn)行通信
Local Data Resource: 本地的文件,數(shù)據(jù)等
Remote Resource: 遠(yuǎn)程的服務(wù),可以通過(guò)Server連接
做過(guò)數(shù)據(jù)開(kāi)發(fā)或者數(shù)據(jù)應(yīng)用的同學(xué)都肯定被一堆問(wèn)題困擾過(guò),特別的是數(shù)據(jù)和模型的部署問(wèn)題,數(shù)據(jù)在本地,模型在哪里?應(yīng)用在哪里?很多時(shí)候我們的數(shù)據(jù)因?yàn)榘踩珕?wèn)題無(wú)法上云,只能在本地或者私有環(huán)境中,但模型很多時(shí)候在云上,而且我們還需要準(zhǔn)備環(huán)境部署應(yīng)用層代碼。
而現(xiàn)在,MCP可以幫助你解決這個(gè)困擾。通過(guò)幾個(gè)問(wèn)題,我們來(lái)對(duì)比一下使用或者不使用MCP的情況下數(shù)據(jù)助手的開(kāi)發(fā)和部署方案。
問(wèn)題 | 不用MCP | 用MCP |
接入模型去做text-to-sql | 自己去接入大模型平臺(tái) | 不用管,server封裝了 |
接入數(shù)據(jù)schema幫助模型理解 | 在應(yīng)用層手動(dòng)開(kāi)發(fā)一個(gè)適配器,從數(shù)據(jù)庫(kù)拉schema | 不用管,server封裝了 |
前端與展示 | 開(kāi)發(fā)一個(gè)前端頁(yè)面,或者用gradio簡(jiǎn)單做一個(gè) | 不用管,有用開(kāi)源的應(yīng)用 |
后端的開(kāi)發(fā) | 需要開(kāi)發(fā)一個(gè)web服務(wù),連接大模型,連接數(shù)據(jù)庫(kù) | 不用管,不需要后端服務(wù) |
支持私有化? | 需要完全開(kāi)發(fā)一套,并且在本地使用ollama或者vllm接入模型 | 不用管,server封裝了 |
支持agent和跟其他模型功能集成? | 非常難搞,無(wú)法支持 | 非常簡(jiǎn)單,直接接入其他MCP server就好 |
我們?cè)诒镜貦C(jī)器上構(gòu)建數(shù)據(jù)助手,調(diào)用云上的模型,處理本地機(jī)器的數(shù)據(jù)。
本地開(kāi)發(fā)環(huán)境:
-Macbook M3 Pro
-MySQL 5.8 (需要在本地有個(gè)數(shù)據(jù)庫(kù),如果沒(méi)有的話可以提前裝上mysql并構(gòu)建一個(gè)虛擬的數(shù)據(jù)庫(kù))
我們需要一個(gè)MCP服務(wù)把數(shù)據(jù)庫(kù)接入進(jìn)來(lái),現(xiàn)在有非常多的MCP server都可以幫我連接數(shù)據(jù)庫(kù),比如社區(qū)在維護(hù)的MCP server[1]、MCP server的平臺(tái)(Smithery.AI[2]、MCP.run[3]),但基本上都只是提供了一個(gè)SQL執(zhí)行接口。
為了更好的工具調(diào)用效果,選擇支持自然語(yǔ)言接口的析言MCP服務(wù)(Xiyan-mcp-server[4]),可以用自然語(yǔ)言訪問(wèn)數(shù)據(jù)庫(kù),并從數(shù)據(jù)庫(kù)獲得答案,是當(dāng)前Test-to-SQL公開(kāi)基準(zhǔn)上的SOTA。
在終端上運(yùn)行以下命令
pip install xiyan-mcp-server
需要將兩類(lèi)配置信息寫(xiě)入配置文件config.yml,模型配置(LLM )和數(shù)據(jù)庫(kù)配置(Database)。
模型配置:魔搭上部署了XiYanSQL-QwenCoder-32B——xiyan_mcp_server官方提供的專(zhuān)屬模型——的推理服務(wù),在該模型頁(yè)面[5](右側(cè)的推理API- Inference部分),可找到配置信息(name、key、url)。
數(shù)據(jù)庫(kù)配置:默認(rèn)本地有mysql數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)的配置信息包括:本地?cái)?shù)據(jù)庫(kù)host、port、username、password和database名字。
整體的配置如下:
model:
name: "XGenerationLab/XiYanSQL-QwenCoder-32B-2412"
key: "xxxx" # key可從https://www.modelscope.cn/my/myaccesstoken 頁(yè)面獲取
url: "https://api-inference.modelscope.cn/v1/"
database:
host: "localhost"
port: 3306
user: "root"
password: "123456"
database: "mydb"
將這個(gè)配置文件放在本地(假設(shè)為/path/to/config.yml)
選擇mcp inspector[6]作為調(diào)試器
brew install node
npx @modelcontextprotocol/inspector -e YML= /path/to/config.yml python -m xiyan_mcp_server
這個(gè)inspector會(huì)直接在本地拉起一個(gè)web服務(wù)供調(diào)試用,地址在http://localhost:5173
輸入問(wèn)題“查詢年齡16歲以上的郵箱”,點(diǎn)擊“run tool”
輸出是個(gè)markdown格式的數(shù)據(jù)
email |
| --- |
| alice@example.com |
| bob@example.com |
| charlie@example.com
為了更方便交互,我們找一個(gè)客戶端來(lái)調(diào)用后臺(tái)的數(shù)據(jù)服務(wù)。目前有非常多支持MCP的客戶端,比如開(kāi)源的MCP的client[7]、閉源的claude desktop等等。這里我們選用的是goose,這是一個(gè)開(kāi)源的支持MCP的client,原生支持MacOS。
下載地址:
https://block.github.io/goose/docs/quickstart/
下載后根據(jù)提示一步步安裝即可。
為了能用起來(lái)chat,需要找一個(gè)大語(yǔ)言模型API。我們選擇用通義千問(wèn)2.5-72B-Instruct[9],魔搭社區(qū)上提供了兼容OpenAI接口的推理API,只需要在后臺(tái)配置endpoint就好。
這里我們選用通義千問(wèn)2.5-72B的模型[9],模型名字填Qwen/Qwen2.5-72B-Instruct即可。
第一欄:Key從https://www.modelscope.cn/my/myaccesstoken 頁(yè)面獲取。
第二欄:通義千問(wèn)2.5-72B的模型直接填“https://api-inference.modelscope.cn/” 。
第三欄:用默認(rèn)的即可。
step3: 添加xiyan_mcp_server拓展
回到goose主頁(yè)面,新開(kāi)一個(gè)會(huì)話測(cè)試,比如在會(huì)話欄輸入“查詢年齡16歲以上的郵箱”
我從云端拷貝了一份真正的數(shù)據(jù)庫(kù)到本地,測(cè)試了更多問(wèn)題,具體請(qǐng)看圖。
依靠MCP的強(qiáng)大框架和各種開(kāi)源工具,我們實(shí)現(xiàn)了沒(méi)寫(xiě)一行代碼就輕松搭建了一個(gè)完善的數(shù)據(jù)助手 ,可以用自然語(yǔ)言從數(shù)據(jù)庫(kù)取數(shù)。未來(lái)甚至可以接入更多MCP,做更多更全面更有深度的數(shù)據(jù)分析,簡(jiǎn)直太棒啦!
文章轉(zhuǎn)載自:不寫(xiě)一行代碼,用MCP+魔搭A(yù)PI-Inference 搭建一個(gè)本地?cái)?shù)據(jù)助手! 附所有工具和清單
如何在 Apifox 中發(fā)布多語(yǔ)言的 API 文檔?
在 Golang 中實(shí)現(xiàn) JWT 令牌認(rèn)證
國(guó)產(chǎn)頂流AI大模型:比喻文案生成能力API測(cè)試效果對(duì)比
Claude API 能使用 OpenAI 接口協(xié)議嗎?
天貓商品數(shù)據(jù)爬取方案:官方API與非官方接口實(shí)戰(zhàn)
地圖開(kāi)發(fā)者平臺(tái)對(duì)比:高德、百度、騰訊、必應(yīng)、天地圖等API
讓大模型“聯(lián)網(wǎng)”的第一步?手把手教你調(diào)用搜索API!
API接口安全—webservice、Swagger、WEBpack
從零開(kāi)始認(rèn)識(shí) API,讓網(wǎng)頁(yè)信息成為你的「知識(shí)庫(kù)」
對(duì)比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力
一鍵對(duì)比試用API 限時(shí)免費(fèi)