// ============================================================================ // 10.README.md-文档 // ============================================================================ /\*
带Ollama的MCP服务器DVD库
描述
MCP(模型上下文协议)服务器,公开会话API 使用Spring AI+Ollama(本地LLM)管理电影收藏。
先决条件
- Java 17+
- Maven 3.8+
- Ollama已安装并正在运行
- Ollama型号(推荐:LLAMA3.2、Mistral或LLAMA2)
奥尔马装置
macOS/Linux
curl -fsSL https://ollama.com/install.sh | sh视窗
从下载https://ollama.com/download
下载模型
# Modèle recommandé (performant et léger)
ollama pull llama3.2
# Alternatives
ollama pull mistral
ollama pull llama2
ollama pull codellama检查Ollama是否工作
ollama list
curl http://localhost:11434/api/tags配置
1.修改器应用.yml
如有必要,更改模型:
spring:
ai:
ollama:
base-url: http://localhost:11434
chat:
options:
model: llama3.2 # ou mistral, llama2, etc.2.配置端点DVD库
dvdtheque:
api:
base-url: http://localhost:3000/api安装和启动
# Compiler
mvn clean install
# Lancer
mvn spring-boot:run端点
MCP与Ollama聊天
POST http://localhost:8080/mcp/chat
Content-Type: application/json
{
"message": "Montre-moi tous les films de science-fiction",
"conversationId": "user123"
}删除对话
DELETE http://localhost:8080/mcp/conversation/user123健康检查
GET http://localhost:8080/mcp/healthAPI REST类
GET /api/dvds - Tous les DVDs
GET /api/dvds/{id} - DVD par ID
POST /api/dvds - Créer un DVD
PUT /api/dvds/{id} - Mettre à jour un DVD
DELETE /api/dvds/{id} - Supprimer un DVD
GET /api/dvds/search?q= - Rechercher des DVDs使用聊天的示例
1.列出所有DVD
curl -X POST http://localhost:8080/mcp/chat \
-H "Content-Type: application/json" \
-d '{"message": "Montre-moi tous mes films"}'2.寻找电影
curl -X POST http://localhost:8080/mcp/chat \
-H "Content-Type: application/json" \
-d '{"message": "Cherche les films de Christopher Nolan"}'3.添加电影
curl -X POST http://localhost:8080/mcp/chat \
-H "Content-Type: application/json" \
-d '{"message": "Ajoute le film Inception réalisé par Christopher Nolan en 2010, genre science-fiction, note 4.8"}'4.薄膜改性剂
curl -X POST http://localhost:8080/mcp/chat \
-H "Content-Type: application/json" \
-d '{"message": "Change la note du film numéro 5 à 4.5"}'5.删除电影
curl -X POST http://localhost:8080/mcp/chat \
-H "Content-Type: application/json" \
-d '{"message": "Supprime le DVD avec l'ID 3"}'6.问题复杂
curl -X POST http://localhost:8080/mcp/chat \
-H "Content-Type: application/json" \
-d '{"message": "Quels sont mes films les mieux notés ?"}'建筑
- 弹簧靴3.2
- 使用Ollama的Spring AI(本地LLM,无需API密钥!)
- 用于REST API调用的WebClient
- MCP负责接口对话
- 集成对话记忆
Ollama的好处
✅ 免费和开源 ✅ 本地执行(数据隐私) ✅ 无请求限制 ✅ 不需要API密钥 ✅ 离线工作 ✅ 有几种型号可供选择
推荐型号
calla3.2(建议)
- 快速高效
- 法语很好
- 大小:~2GB
密史脱拉风
- 优秀的法语
- 非常有效
- 大小:~4GB
骆驼2
- 版本稳定
- 良好的性能/速度平衡
- 大小:~3.8GB
演出
响应可能需要几秒钟,具体取决于:
- 使用的模型
- 你机器的力量
- 请求的复杂性
为了提高性能:
- 使用较小的模型(LLAMA3.2)
- 增加分配给Java的RAM:
java -Xmx4g - 如果可用,请使用GPU
故障排除
奥拉玛没有回答
# Vérifier qu'Ollama tourne
curl http://localhost:11434/api/tags
# Redémarrer Ollama
ollama serve模型很慢
# Essayer un modèle plus léger
ollama pull llama3.2连接错误
检查application.yml中的基本URL是否正确:
spring.ai.ollama.base-url: http://localhost:11434许可证
麻省理工学院 \*/
