智能代理框架

一个结合本地Ollama模型与Pydantic代理框架的智能代理系统,通过MCP服务器提供工具支持,并配备Streamlit用户界面。

  • by jageenshukla
  • Python
  • 本地部署
  • 7 星标
  • 更新于
在 GitHub 查看 jageenshukla/ollama-pydantic-project

使用说明

Ollama Pydantic项目

欢迎来到 Ollama Pydantic项目!这个项目演示了如何使用本地Ollama模型和Pydantic代理框架来创建智能代理。该代理连接到MCP服务器以使用工具,并使用Streamlit提供用户友好的界面。

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

概述

该项目的主要目标是展示:

  • 本地Ollama模型集成:使用本地托管的Olama模型生成响应。
  • Pydantic代理框架:使用Pydantic创建一个代理,用于数据验证和交互。
  • MCP服务器连接:使代理能够通过MCP服务器使用工具。
  • 流线型UI:为用户交互提供基于网络的聊天机器人界面。

先决条件

在设置项目之前,请确保以下事项:

  1. python:安装Python 3.8或更高版本。您可以从以下网址下载 python.org.
  2. Ollama模型:在本地安装并运行Ollama服务器:
    • 从以下网址下载Ollama CLI Ollama官方网站.
    • 按照其网站上提供的说明安装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).您可以通过在输入框中键入查询来与聊天机器人交互。代理将使用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框架:确保数据验证和类型安全。

相关项目

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

故障排除

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

许可证

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

贡献

欢迎投稿!请随时打开问题或提交pull请求。