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

KI-Sitzung MCP

Ein Konversations-KI-System, das die API von OpenAI mit Upstash Redis zur Sitzungsspeicherung integriert und dabei eine Machine Conversation Protocol (MCP)-Architektur verwendet.

Merkmale

  • Sitzungsverwaltung : Dauerhafte Konversationsspeicherung mit Redis
  • Sitzungs-TTL : Konfigurierbare Lebensdauer für Sitzungen
  • Konversationsverlauf : Verfolgen und verwalten Sie den Nachrichtenverlauf
  • OpenAI-Integration : Nahtlose Integration mit den Chat-Modellen von OpenAI
  • Tool-Ausführung : Unterstützung für OpenAI-Funktionsaufrufe über MCP-Tools

Architektur

Das System besteht aus diesen Hauptkomponenten:

  • SessionManager : Verwaltet die Konversationsspeicherung in Redis
  • OpenAIClient : Verwaltet API-Anfragen an OpenAI
  • ConversationController : Verarbeitet Benutzernachrichten und verwaltet den Konversationsfluss
  • MCPToolManager : Verarbeitet die Werkzeugregistrierung und -ausführung

Sitzungsmanager

Die SessionManager -Klasse bietet Methoden zum Speichern, Abrufen und Verwalten von Konversationssitzungen in Upstash Redis.

Merkmale

  • Erstellen Sie Sitzungen mit eindeutigen IDs
  • Alle verfügbaren Sitzungen auflisten
  • Abrufen von Sitzungsdetails und Gesprächsverlauf
  • Nachrichten zu bestehenden Sitzungen hinzufügen
  • Sitzungsablauf mit TTL

Anwendungsbeispiel

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']})")

Aufstellen

  1. Erstellen Sie im Projektstammverzeichnis eine .env Datei mit Ihren Anmeldeinformationen:
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. Installieren Sie die Anforderungen:
pip install -r requirements.txt
  1. Führen Sie die Anwendung aus:
python main.py
-
security - not tested
A
license - permissive license
-
quality - not tested

Ein persistentes KI-Konversationssystem, das die in Upstash Redis integrierte API von OpenAI zur Sitzungsspeicherung verwendet und es Benutzern ermöglicht, den Kontext über mehrere Konversationen hinweg aufrechtzuerhalten, mit Unterstützung für die Tool-Integration über die MCP-Architektur.

  1. Merkmale
    1. Architektur
      1. Sitzungsmanager
        1. Merkmale
        2. Anwendungsbeispiel
      2. Aufstellen

        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