Ollama Pydantic项目
欢迎来到 Ollama Pydantic项目!这个项目演示了如何使用本地Ollama模型和Pydantic代理框架来创建智能代理。该代理连接到MCP服务器以使用工具,并使用Streamlit提供用户友好的界面。
这个项目是博客文章的一部分: 构建TypeScript MCP服务器:集成现有服务指南。访问博客,了解更多关于此项目背后的概念和实施细节。
概述
该项目的主要目标是展示:
- 本地Ollama模型集成:使用本地托管的Olama模型生成响应。
- Pydantic代理框架:使用Pydantic创建一个代理,用于数据验证和交互。
- MCP服务器连接:使代理能够通过MCP服务器使用工具。
- 流线型UI:为用户交互提供基于网络的聊天机器人界面。
先决条件
在设置项目之前,请确保以下事项:
- python:安装Python 3.8或更高版本。您可以从以下网址下载 python.org.
- Ollama模型:在本地安装并运行Ollama服务器:
- 从以下网址下载Ollama CLI Ollama官方网站. - 按照其网站上提供的说明安装CLI。 - 启动Ollama服务器:
ollama serve- 确保服务器正在上运行 http://localhost:11434/v1.
- MCP服务器:设置MCP服务器以启用代理工具。有关更多详细信息,请参阅 MCP服务器示例.
安装说明
按照以下步骤设置项目:
- 克隆存储库:
git clone
cd ollama-pydantic-project- 创建虚拟环境:
python3 -m venv venv- 激活虚拟环境:
- 在macOS/Linux上:
source venv/bin/activate- 在Windows上:
venv\Scripts\activate- 再进行:
pip install -r requirements.txt- 确保Ollama服务器正在运行:
按照先决条件中的说明启动Ollama服务器。
- 运行应用程序:
启动Streamlit应用程序:
streamlit run src/streamlit_app.py用法
应用程序运行后,在浏览器中打开提供的URL(通常 http://localhost:8501).您可以通过在输入框中键入查询来与聊天机器人交互。代理将使用MCP服务器提供的Ollama模型和工具处理您的查询。
交互示例
下面是一个与代理交互时聊天机器人界面的示例:
项目结构
该项目组织如下:
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聊天机器人:用户友好的聊天机器人界面。
- Olama模型集成:使用本地Ollama模型生成响应。
- MCP服务器工具:连接到MCP服务器以增强代理功能。
- Pydantic框架:确保数据验证和类型安全。
相关项目
故障排除
- 如果遇到Ollama服务器的问题,请确保它在
http://localhost:11434/v1. - 如果依赖项安装失败,请确保您使用的是Python 3.8或更高版本,并且您的虚拟环境已激活。
- 有关MCP服务器相关问题,请参阅 MCP服务器示例.
许可证
该项目根据MIT许可证获得许可。您可以根据许可条款自由使用、修改和分发此项目。有关更多详细信息,请参阅LICENSE文件。
贡献
欢迎投稿!请随时打开问题或提交pull请求。
