概要
これは何?
Monadic Chat は、インテリジェントなチャットボットを作成・利用するためのWebアプリケーションフレームワークです。GPT-4やその他のLLMにDocker上のLinux環境を与え、外部ツールを必要とする高度なタスクを実行させることができます。また、音声インタラクション、画像・動画の認識と生成、AI同士のチャットをサポートしており、AIを使うだけでなく、活用した様々なアプリケーションの開発や研究にも役立ちます。
主な特徴
基本構造
- 🤖 OpenAIのChat API(GPT-4)を使用したチャット機能
- 👩💻 Electronを用いたGUIアプリとしてMacおよびWindowsにインストール可能
- 🌐 Webアプリとしてブラウザ上で利用可能
- 👩💬 🤖💬 human↔️AI chatとAI↔️AI chatの両方をサポート
AI + Linux環境
- 🐧 AIに自由に利用できるLinux環境(Ubuntu)を提供
- 🐳 Dockerコンテナを通じてLLMから利用できるツール群
- Python (+ pip) for tool/function calls
- Ruby (+ gem) for tool/function calls
- PGVector (+ PostgreSQL) for DAG using vector representation
- Selenium (+ Chrome/Chromium) for web scraping
- 📦 各コンテナはSSH接続による管理が可能
- 📓 Pythonコンテナ上ではJupyter Notebookを起動可能
データ管理
- 💾 会話データのエクスポート/インポート
- 💬 文脈データとしてAPIに送信するメッセージ(アクティブメッセージ)数の指定
- 🔢 PDFファイル内のデータからテキスト埋め込み生成
音声インタラクション
- 🎙️ Whisper APIを使用した、マイク音声認識
- 🔈 AIアシスタントによるレスポンステキスト読み上げ
- 🗺️ テキスト読み上げのための自動言語検出
- 🗣️ テキスト読み上げのための言語とボイスの選択
- 😊 音声認識とテキスト読み上げを使用した、AIエージェントとのインタラクティブな会話
- 🎧 AIアシスタントによる読み上げ音声をMP3オーディオファイルとして保存
動画・画像の認識と生成
- 🖼️ DALL·E 3 APIを利用した画像生成
- 👀 アップロードされた画像に含まれる内容の認識および説明
- 🎥 アップロードされた動画の内容と音声の認識および説明
設定と拡張
- 💡 APIパラメータとシステムプロンプトを指定して、AIエージェントの設定や動作をカスタマイズ
- 💎 プログラミング言語Rubyを使用した機能拡張
- 🐍 プログラミング言語Pythonを使用した機能拡張
- 🌎 Seleniumを使用したWebスクレイピング
メッセージの編集
- 📝 過去のメッセージの再編集
- 🗑️ 特定のメッセージの削除
- 📜 新規メッセージのロール設定(ユーザー、アシスタント、システム)
複数のLLM APIに対応
- 👥 下記のLLMのAPIに対応
- OpenAI GPT-4
- Google Gemini
- Anthropic Claude
- Cohere Command R
- Mistral AI
-
🤖💬🤖 AI↔️AI Chatは以下の組み合わせで利用可能
AI-Assistant AI-User OpenAI GPT-4 ↔️ OpenAI GPT-4 Google Gemini ↔️ OpenAI GPT-4 Anthropic Claude ↔️ OpenAI GPT-4 Cohere Command R ↔️ OpenAI GPT-4 Mistral AI ↔️ OpenAI GPT-4
モナドとしての会話の管理
- ♻️ AIアシスタントからのメインのレスポンスに加えて、背後で追加のレスポンスを取得し、事前定義されたJSONオブジェクト内の値を更新することで会話の(見えない)状態の管理が可能