这是一个自托管的AI堆栈,结合了用于运行语言模型的Ollama、提供友好聊天交互的Open WebUI,以及用于集中式模型管理的MCP。它让你无需依赖云端,就能完全掌控、保障隐私并拥有灵活的使用体验。
本示例项目提供了一个基于MCP的工具服务器,用于管理员工的休假余额、申请和历史记录。它通过OpenAPI使用mcpo进行暴露,便于与Open WebUI或其他兼容OpenAPI的客户端集成。
leave-manager/
├── main.py # 用于休假管理的MCP服务器逻辑
├── requirements.txt # MCP服务器的Python依赖项
├── Dockerfile # 休假管理工具的Docker镜像配置
├── docker-compose.yml # 运行休假管理工具和Open WebUI的Docker Compose文件
└── README.md # 项目文档(即本文档)
deepseek-r1模型docker-compose.yml文件以启动服务OllamaSetup.exe。OllamaSetup.exe并按照安装提示操作。Ollama is running
3. 启动Ollama服务器(若尚未运行):
ollama serve
检查已安装的Ollama版本:
ollama --version
预期输出:
ollama version 0.7.1
deepseek-r1模型ollama pull deepseek-r1
拉取特定版本:
ollama run deepseek-r1:1.5b
ollama run deepseek-r1:671b
ollama list
预期输出:
NAME ID SIZE
deepseek-r1:latest xxxxxxxxxxxx X.X GB
curl http://localhost:11434/api/tags
预期输出:
一个JSON响应,列出已安装的模型,包括deepseek-r1:latest。
Invoke-RestMethod -Uri http://localhost:11434/api/generate -Method Post -Body '{"model": "deepseek-r1", "prompt": "Hello, world!", "stream": false}' -ContentType "application/json"
预期响应: 一个JSON对象,包含模型对“Hello, world!”提示的响应。
ollama run deepseek-r1
deepseek-r1模型的交互式聊天会话。/bye并按Enter键退出聊天会话。
git clone https://github.com/ahmad-act/Local-AI-with-Ollama-Open-WebUI-MCP-on-Windows.git
cd Local-AI-with-Ollama-Open-WebUI-MCP-on-Windows
docker-compose up --build
这将:
8000上启动休假管理工具(MCP服务器)MCP工具通过OpenAPI规范在http://localhost:8000/openapi.json进行暴露。
在Open WebUI中使用以下提示与休假管理工具进行交互:
Check how many leave days are left for employee E001
Apply
What's the leave history of E001?
Greet me as Alice
ollama serve),并检查http://localhost:11434。ollama list确认deepseek-r1模型已列出。11434、3000和8000可用。