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

一种对话式 AI 系统,将 OpenAI 的 API 与 Upstash Redis 相集成以进行会话存储,利用机器对话协议 (MCP) 架构。

特征

  • 会话管理:使用 Redis 持久存储对话
  • 会话 TTL :可配置会话的生存时间
  • 对话历史记录:跟踪和管理消息历史记录
  • OpenAI 集成:与 OpenAI 聊天模型无缝集成
  • 工具执行:支持通过 MCP 工具调用 OpenAI 函数

建筑学

该系统由以下主要组件组成:

  • SessionManager :处理 Redis 中的对话存储
  • OpenAIClient :管理对 OpenAI 的 API 请求
  • ConversationController :处理用户消息并管理对话流程
  • MCPToolManager :处理工具注册和执行

会话管理器

SessionManager类提供了在 Upstash Redis 中存储、检索和管理对话会话的方法。

特征

  • 创建具有唯一 ID 的会话
  • 列出所有可用的会话
  • 获取会话详细信息和对话历史记录
  • 向现有会话添加消息
  • 会话过期时间与 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

一个持久的 AI 对话系统,使用 OpenAI 的 API 与 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