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

Sesión de IA MCP

Un sistema de inteligencia artificial conversacional que integra la API de OpenAI con Upstash Redis para el almacenamiento de sesiones, utilizando una arquitectura de Protocolo de conversación de máquina (MCP).

Características

  • Gestión de sesiones : almacenamiento persistente de conversaciones con Redis
  • TTL de sesión : tiempo de vida configurable para las sesiones
  • Historial de conversaciones : rastrea y administra el historial de mensajes
  • Integración con OpenAI : Integración perfecta con los modelos de chat de OpenAI
  • Ejecución de herramientas : Compatibilidad con llamadas a funciones OpenAI a través de herramientas MCP

Arquitectura

El sistema consta de estos componentes principales:

  • SessionManager : gestiona el almacenamiento de conversaciones en Redis
  • OpenAIClient : gestiona las solicitudes de API a OpenAI
  • ConversationController : procesa los mensajes del usuario y administra el flujo de la conversación.
  • MCPToolManager : gestiona el registro y la ejecución de herramientas

Administrador de sesiones

La clase SessionManager proporciona métodos para almacenar, recuperar y administrar sesiones de conversación en Upstash Redis.

Características

  • Crear sesiones con identificaciones únicas
  • Listar todas las sesiones disponibles
  • Obtener detalles de la sesión y el historial de conversaciones
  • Agregar mensajes a sesiones existentes
  • Expiración de sesión con TTL

Ejemplo de uso

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

Configuración

  1. Crea un archivo .env en la raíz del proyecto con tus credenciales:
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. Instalar los requisitos:
pip install -r requirements.txt
  1. Ejecute la aplicación:
python main.py
-
security - not tested
A
license - permissive license
-
quality - not tested

Un sistema de conversación de IA persistente que utiliza la API de OpenAI integrada con Upstash Redis para el almacenamiento de sesiones, lo que permite a los usuarios mantener el contexto en múltiples conversaciones con soporte para la integración de herramientas a través de la arquitectura MCP.

  1. Características
    1. Arquitectura
      1. Administrador de sesiones
        1. Características
        2. Ejemplo de uso
      2. Configuración

        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