返回市场
奥拉玛-派丹蒂克项目

奥拉玛-派丹蒂克项目

作者:jageenshukla4 星标更新:2025-04-17

项目介绍

Ollama Pydantic 项目

欢迎来到 Ollama Pydantic 项目!该项目展示了如何使用本地 Ollama 模型与 Pydantic 代理框架相结合来创建一个智能代理。该代理通过连接到 MCP 服务器来利用工具,并使用 Streamlit 提供用户友好的界面。

此项目是博客文章的一部分:构建 TypeScript MCP 服务器:集成现有服务指南。访问博客以了解更多关于此项目的概念和实现细节。

概述

该项目的主要目标是展示以下内容:

  • 本地 Ollama 模型集成:使用本地托管的 Ollama 模型生成响应。
  • Pydantic 代理框架:使用 Pydantic 创建代理进行数据验证和交互。
  • MCP 服务器连接:使代理能够通过 MCP 服务器使用工具。
  • Streamlit 用户界面:提供基于 Web 的聊天机器人界面供用户交互。

预备条件

在设置项目之前,请确保满足以下条件:

  1. Python:安装 Python 3.8 或更高版本。可以从 python.org 下载。
  2. Ollama 模型:本地安装并运行 Ollama 服务器:
    • Ollama 官方网站 下载 Ollama CLI。
    • 根据其网站上的说明安装 CLI。
    • 启动 Ollama 服务器:
      ollama serve
      
    • 确保服务器正在 http://localhost:11434/v1 上运行。
  3. MCP 服务器:设置 MCP 服务器以启用代理工具。更多详情,请参阅 MCP 服务器示例

设置说明

按照以下步骤设置项目:

  1. 克隆仓库

    git clone <repository-url>
    cd ollama-pydantic-project
    
  2. 创建虚拟环境

    python3 -m venv venv
    
  3. 激活虚拟环境

    • 在 macOS/Linux 上:
      source venv/bin/activate
      
    • 在 Windows 上:
      venv\Scripts\activate
      
  4. 安装依赖项

    pip install -r requirements.txt
    
  5. 确保 Ollama 服务器正在运行: 按照预备条件中的说明启动 Ollama 服务器。

  6. 运行应用程序: 启动 Streamlit 应用程序:

    streamlit run src/streamlit_app.py
    

使用方法

一旦应用程序运行起来,在浏览器中打开提供的 URL(通常是 http://localhost:8501)。您可以通过在输入框中键入查询与聊天机器人互动。代理将使用 Ollama 模型和 MCP 服务器提供的工具处理您的查询。

示例交互

以下是与代理交互时聊天机器人界面的示例:

聊天机器人示例

项目结构

项目组织如下:

ollama-pydantic-project/
├── src/
│   ├── streamlit_app.py        # 主 Streamlit 应用程序
│   ├── agents/
│   │   ├── base_agent.py       # 代理的抽象基类
│   │   ├── ollama_agent.py     # Ollama 代理的实现
│   ├── utils/
│       ├── config.py           # 配置设置
│       ├── logger.py           # 日志实用工具
├── requirements.txt            # Python 依赖项
├── README.md                   # 项目文档
├── assets/
│   ├── ollama_agent_mcp_example.png  # 示例交互图像
├── .gitignore                  # Git 忽略文件

特性

  • Streamlit 聊天机器人:用户友好的聊天机器人界面。
  • Ollama 模型集成:使用本地 Ollama 模型生成响应。
  • MCP 服务器工具:连接到 MCP 服务器以增强代理功能。
  • Pydantic 框架:确保数据验证和类型安全。

相关项目

此项目与另一个 GitHub 项目密切相关,该项目演示了如何设置 MCP 服务器:Hello World MCP 服务器。与该项目相关的博客文章,构建 TypeScript MCP 服务器:集成现有服务指南,提供了补充此项目的额外背景和实现细节。

故障排除

  • 如果遇到 Ollama 服务器问题,请确保它正在 http://localhost:11434/v1 上运行。
  • 如果依赖项安装失败,请确保您使用的是 Python 3.8 或更高版本,并且已激活虚拟环境。
  • 对于 MCP 服务器相关的问题,请参阅 MCP 服务器示例

许可证

本项目根据 MIT 许可证发布。您可以根据许可证条款自由使用、修改和分发此项目。请参阅 LICENSE 文件获取更多详细信息。

贡献

欢迎贡献!请随意打开问题或提交拉取请求。