关于 Ollama Pydantic Project
Ollama Pydantic Project 是一个示例聊天应用,结合本地 Ollama 模型、Pydantic Agent 和 Streamlit,面向希望探索 MCP 工具调用的开发者。
主要功能
- 01本地 Ollama 模型响应
- 02Pydantic Agent 数据校验
- 03Streamlit 聊天界面
- 04通过 MCP 服务调用工具
适用场景
- 01在本地模型上测试聊天 Agent
- 02通过网页界面与 Agent 交互
MCP 相关
Agent 连接 MCP 服务并使用其提供的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Ollama Pydantic 项目
欢迎使用 Ollama Pydantic 项目!本项目演示如何将本地 Ollama 模型与 Pydantic Agent 框架结合,创建智能 Agent。该 Agent 连接到 MCP 服务以使用工具,并通过 Streamlit 提供友好的用户界面。
本项目是博客文章的一部分:构建 TypeScript MCP 服务:集成现有服务指南。访问博客,了解本项目背后的概念和实现细节。
概述
本项目的主要目标是展示:
- 本地 Ollama 模型集成:使用本地托管的 Ollama 模型生成响应。
- Pydantic Agent 框架:使用 Pydantic 创建 Agent,以进行数据验证和交互。
- MCP 服务连接:让 Agent 能够通过 MCP 服务使用工具。
- Streamlit UI:提供基于 Web 的聊天机器人界面,供用户交互。
前置条件
设置项目之前,请确保满足以下条件:
- Python:安装 Python 3.8 或更高版本。可从 python.org 下载。
- Ollama 模型:在本地安装并运行 Ollama 服务:
- 从 Ollama 官方网站 下载 Ollama CLI。
- 按照其网站上的说明安装 CLI。
- 启动 Ollama 服务:
ollama serve - 确保服务运行在
http://localhost:11434/v1。
- MCP 服务:设置 MCP 服务以启用 Agent 工具。详情请参阅 MCP 服务示例。
设置说明
按照以下步骤设置项目:
-
克隆仓库:
git clone <repository-url> cd ollama-pydantic-project -
创建虚拟环境:
python3 -m venv venv -
激活虚拟环境:
- 在 macOS/Linux 上:
source venv/bin/activate - 在 Windows 上:
venv\Scripts\activate
- 在 macOS/Linux 上:
-
安装依赖项:
pip install -r requirements.txt -
确保 Ollama 服务正在运行: 按照前置条件中的说明启动 Ollama 服务。
-
运行应用程序: 启动 Streamlit 应用程序:
streamlit run src/streamlit_app.py
使用方法
应用程序运行后,在浏览器中打开提供的 URL(通常为 http://localhost:8501)。在输入框中输入查询,即可与聊天机器人交互。Agent 将使用 Ollama 模型以及 MCP 服务提供的工具处理查询。
交互示例
以下示例展示了与 Agent 交互时聊天机器人界面的样子:

项目结构
项目组织结构如下:
ollama-pydantic-project/
├── src/
│ ├── streamlit_app.py # Main Streamlit application
│ ├── agents/
│ │ ├── base_agent.py # Abstract base class for agents
│ │ ├── ollama_agent.py # Implementation of the Ollama agent
│ ├── utils/
│ ├── config.py # Configuration settings
│ ├── logger.py # Logger utility
├── requirements.txt # Python dependencies
├── README.md # Project documentation
├── assets/
│ ├── ollama_agent_mcp_example.png # Example interaction image
├── .gitignore # Git ignore file
功能
- Streamlit 聊天机器人:用户友好的聊天机器人界面。
- Ollama 模型集成:使用本地 Ollama 模型生成响应。
- MCP 服务工具:连接到 MCP 服务,增强 Agent 的能力。
- Pydantic 框架:确保数据验证和类型安全。
相关项目
本项目与另一个 GitHub 项目密切相关,该项目演示了如何设置 MCP 服务:Hello World MCP 服务。与该项目关联的博客文章 构建 TypeScript MCP 服务:集成现有服务指南 提供了更多背景信息和实现细节,可作为本项目的补充。
故障排除
- 如果 Ollama 服务出现问题,请确保它正在
http://localhost:11434/v1上运行。 - 如果依赖项安装失败,请确保使用的是 Python 3.8 或更高版本,并且已激活虚拟环境。
- 如果遇到与 MCP 服务相关的问题,请参阅 MCP 服务示例。
许可证
本项目采用 MIT License 许可。您可以根据许可条款自由使用、修改和分发本项目。更多详情请参阅 LICENSE 文件。
贡献
欢迎贡献!欢迎提交问题或拉取请求。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。