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

マシン会話プロトコル (MCP) アーキテクチャを利用して、セッション ストレージ用に OpenAI の API と Upstash Redis を統合した会話型 AI システム。

特徴

  • セッション管理: 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

セッション ストレージ用に Upstash Redis と統合された OpenAI の API を使用する永続的な AI 会話システム。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