Trae + Dify 10分鐘構建 Data McpServer 與 Agent ,和 Excel 說再見! 原創
今天手把手教大家使用AI編程工具 Trae + Dify構建一個能根據大模型對話處理Excel的智能體。
當然,全程下來10分鐘是不可能的,代碼確實是Trae 幾分鐘就生成的,但是我調Bug就花了2個小時啊!
本來還想加上Pyecharts數據可視化部分,但是一口氣吃成胖子也不好,先做個簡單的吧。
話不多說,我們擼起袖子開干。
打開國內最新版的AI編程工具Trae(字節能不能給我點廣告費,這個編程工具其實也讓人頭疼),在新建Builder地方,輸入下面的提示詞,大模型選擇DeepSeek R1。提示詞為什么這么寫,當然是給大家避坑了!
DeepSeek R1 提示詞
我要使用 MCP server 搭建1個服務,接受 Excel 路徑和大模型對話中的數據處理要求,這個server服務里的 llm(使用deepseek) 將數據處理要求轉變成 真實的 pandas 代碼,然后服務執行這個代碼,將代碼運行結果返回。 請根據我的要求,一步步給出完整的解決辦法和創建完整代碼。
代碼結構可以參考下面這樣:
excel_mcp/ ├── config.py ├── llm_integration.py ├── main.py ├── safe_exec.py └── requirements.txt
數據處理庫使用Pandas
LLM使用DeepSeek,DeepSeek的請求使用參考下方代碼
from openai import OpenAI
client = OpenAI(api_key="<DeepSeek API Key>", base_url="https://api.deepseek.com")
response = client.chat.completions.create(
model="deepseek-chat",
messages=[
{"role": "system", "content": "You are a helpful assistant"},
{"role": "user", "content": "Hello"},
],
stream=False
)
print(response.choices[0].message.content)
使用Trae的Builder模式,將上面的提示詞輸入
在代碼生成的過程中,一直點擊全部接受,直到代碼執行階段。這時候終端會報錯,你根據報錯信息就會陷入修Bug的無底洞,所以要自己把代碼都讀一遍,不然哪里錯的都不知道。
比如下面這個報錯,原因很簡單,包的大小寫弄錯了!
代碼全部生成后,你需要在config.py中 添加DeepSeep API的密鑰,然后按下面步驟運行代碼。
- 替換config.py中的API密鑰
- 通過?
?uvicorn main:app --host 0.0.0.0 --port 8000?
? 啟動服務- 訪問?
?http://localhost:8000/docs?
? 測試接口- 如果使用venv管理環境,請先激活環境,再執行第2步。
- vevn環境激活命令:.\venv\Scripts\activate
這時候,訪問FastAPI的docs路徑(可能需要科學上網,因為fastapi的一個js庫被擋了),就可以看到Data McpServer的接口了。
緊接著,我們需要準備一個excel文件,我們可以直接在excel模板中找一個,下載下來。我找的是客戶反饋跟蹤表。
將這個表格放在Trae項目根文件夾,直接點擊Trae右下角的Go Live,會將項目文檔以端口5000的web服務暴露出來。
我們訪問這個地址,復制表格的URL鏈接。
接下來再回到FastAPI Docs界面,找到接口,點擊Try It!填寫參數值,然后點擊Execute按鈕 執行!
查看結果,成功了!(中途修了半小時BUG!)
下面我們就要把McpServer 作為工具放到Dify上了。
第一步 先確定你Dify能訪問到本地運行的Fastapi接口服務,所以我將地址換成了電腦的IP。
第二步 獲取Fastapi openAPI-Swagger數據,點下面這里。
第三步 把json數據復制到dify 自定義工具界面。這里面需要手動添加servers信息,fastapi上沒有帶這個參數。
點擊接口旁邊的測試,測試一下工具是否可用。
回到Dify,創建一個工作流應用,取名為Excel智能助手。
編排這個簡單的工作流如下,開始按鈕設置變量類型,一個是Excel文件URL上傳,一個是用戶提示詞。
在下一個節點,選擇我們剛剛內置的工具,講文件URL和用戶提示詞對接好。
點擊運行按鈕,查看執行效果。
發布運行這個智能體,再查看效果!
好了,今天就先到這,我們還可以把這個工作流發布為工具,在新的智能體對話時作為Function Call調用,我們下期再詳細講。
所有的代碼和Dify工作流文件,可以訪問下方鏈接獲取。
https://mbd.pub/o/bread/aJWXm5dv
本文轉載自公眾號九歌AI大模型 作者:九歌AI
