本项目演示了如何使用以下组件让本地AI代理能够理解用户查询并自动调用Python函数:
sequenceDiagram
participant 用户
participant MCP客户端
participant OllamaLLM
participant MCPServer
用户->>MCP客户端: 1) 用户输入: "5 + 8是多少?"
MCP客户端->>OllamaLLM: 2) 发送可用工具 + 用户查询
OllamaLLM->>OllamaLLM: 3) 理解查询及工具描述
OllamaLLM->>OllamaLLM: 4) 选择工具:add(a=5, b=8)
OllamaLLM->>MCP客户端: 5) 返回工具调用
MCP客户端->>MCPServer: 6) 执行add(a=5, b=8)
MCPServer-->>MCP客户端: 7) 返回结果:13
MCP客户端-->>用户: 8) 显示最终答案:13
.
├── math_server.py # MCP服务器暴露add()和multiply()工具
├── ollama_client.py # MCP客户端与Ollama交互
├── README.md # 项目文档
pip install "mcp[cli] @ git+https://github.com/awslabs/mcp.git" openai==0.28 httpx
确保已安装并运行Ollama。
ollama run llama3
(确保运行的模型支持工具调用。)
python math_server.py
该服务器暴露两个简单的工具:
add(a: int, b: int) -> intmultiply(a: int, b: int) -> intpython ollama_client.py math_server.py
示例查询:
查询:5 + 8是多少?
响应:13
查询:7乘以9
响应:63
MCP客户端将查询和可用工具发送给Ollama。LLM根据工具描述和用户意图内部决定使用哪个工具。
tool_call。✅ 不需要手动硬编码! ✅ 一切都在本地运行! ✅ 完全自主!
这种模式使构建智能本地AI代理成为可能,这些代理能够:
它开启了:
#MCP #ModelContextProtocol #Ollama #LocalLLM #FunctionCalling #Python #AI #DeveloperTools #AIEngineering #AutonomousAgents
"更聪明的AI代理从理解它们的思维方式开始!"
下一步行动: 添加Streamlit界面或Docker化此项目 🚀