OpenAI-Redis Conversation System

by Gaya56
MIT License

Integrations

  • Uses .env files to manage environment variables and credentials for API keys and configuration settings

  • Integrates with OpenAI's chat models to process and respond to user messages, with support for function calling via MCP tools

  • Utilizes Redis for persistent conversation storage and session management with configurable time-to-live functionality

AI-сессия MCP

Система диалогового искусственного интеллекта, интегрирующая API OpenAI с Upstash Redis для хранения сеансов, использующая архитектуру протокола машинного диалога (MCP).

Функции

  • Управление сеансами : постоянное хранение разговоров с помощью Redis
  • Session TTL : настраиваемое время жизни сеансов
  • История разговоров : отслеживание и управление историей сообщений
  • Интеграция OpenAI : бесшовная интеграция с моделями чата OpenAI
  • Выполнение инструмента : поддержка вызова функций OpenAI через инструменты MCP

Архитектура

Система состоит из следующих основных компонентов:

  • SessionManager : управляет хранилищем разговоров в Redis.
  • OpenAIClient : управляет запросами API к OpenAI
  • ConversationController : обрабатывает сообщения пользователей и управляет ходом разговора.
  • MCPToolManager : управляет регистрацией и выполнением инструментов.

Менеджер сеанса

Класс SessionManager предоставляет методы для хранения, извлечения и управления сеансами разговоров в Upstash Redis.

Функции

  • Создавайте сеансы с уникальными идентификаторами
  • Список всех доступных сеансов
  • Получите сведения о сеансе и историю разговоров
  • Добавить сообщения в существующие сеансы
  • Истечение срока сеанса с TTL

Пример использования

from app.session_manager import SessionManager # Initialize session manager session_manager = SessionManager( redis_url="your_upstash_redis_url", redis_token="your_upstash_redis_token", ttl_days=30 # sessions expire after 30 days ) # Create a new session session = session_manager.create_session("My Conversation") session_id = session["id"] # Add messages session_manager.add_message(session_id, "user", "Hello, AI!") session_manager.add_message(session_id, "assistant", "Hello! How can I help you today?") # Get session details session = session_manager.get_session(session_id) print(f"Session has {len(session['messages'])} messages") # List all sessions sessions = session_manager.list_sessions() for s in sessions: print(f"- {s['name']} (created at: {s['created_at']})")

Настраивать

  1. Создайте файл .env в корне проекта с вашими учетными данными:
UPSTASH_REDIS_URL=your_upstash_redis_url UPSTASH_REDIS_TOKEN=your_upstash_redis_token OPENAI_API_KEY=your_openai_api_key OPENAI_MODEL=gpt-4o SESSION_TTL_DAYS=30
  1. Установите требования:
pip install -r requirements.txt
  1. Запустите приложение:
python main.py
-
security - not tested
A
license - permissive license
-
quality - not tested

Постоянная система разговоров на основе ИИ, которая использует API OpenAI, интегрированный с Upstash Redis для хранения сеансов, позволяя пользователям сохранять контекст в нескольких разговорах с поддержкой интеграции инструментов через архитектуру MCP.

  1. Функции
    1. Архитектура
      1. Менеджер сеанса
        1. Функции
        2. Пример использования
      2. Настраивать

        Related MCP Servers

        • A
          security
          F
          license
          A
          quality
          This server provides access to the Perplexity AI API, enabling interaction through chatting, searching, and documentation retrieval within MCP-based systems.
          Last updated -
          5
          2
          JavaScript
        • -
          security
          F
          license
          -
          quality
          Manages AI conversation context and personal knowledge bases through the Model Context Protocol (MCP), providing tools for user data, conversation content, and knowledge management.
          Last updated -
          1
          TypeScript
        • -
          security
          F
          license
          -
          quality
          A Model Context Protocol server that provides persistent task management capabilities for AI assistants, allowing them to create, update, and track tasks beyond their usual context limitations.
          Last updated -
          1
          TypeScript
        • -
          security
          A
          license
          -
          quality
          An MCP server that extends AI agents' context window by providing tools to store, retrieve, and search memories, allowing agents to maintain history and context across long interactions.
          Last updated -
          5
          TypeScript
          MIT License

        View all related MCP servers

        ID: zj6ammmwzq