Overview
tl;dr
Monadic Chat is a framework designed to create and use intelligent chatbots. By providing a full-fledged Linux environment on Docker to GPT-4 and other LLMs, it allows the chatbots to perform advanced tasks that require external tools. It also supports voice interaction, image and video recognition and generation, and AI-to-AI chat, suitable not only for using AI but also for developing and researching various applications.
Key Features
Basic Structure
- ๐ค Chat functionality powered by GPT-4 via OpenAIโs Chat API
- ๐ฉโ๐ป Installable as a GUI application on Mac and Windows using Electron
- ๐ Usable as a web application in browsers
- ๐ฉ๐ฌ ๐ค๐ฌ Both humanโ๏ธAI chat and AIโ๏ธAI chat are supported
AI + Linux Environment
- ๐ง Provides a Linux environment (Ubuntu) freely accessible by AI
- ๐ณ Tools for LLMs via Docker containers
- 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
- ๐ฆ Each container can be managed via SSH
- ๐ Python container can launch Jupyter Notebook
Data Management
- ๐พ Export/import conversation data
- ๐ฌ Specify the number of recent messages (active messages) to send to the API
- ๐ข Generate text embeddings from data in PDF files
- ๐ Local data folders are synchronized with Docker containers for seamless interaction
Voice Interaction
- ๐๏ธ Automatic transcription of microphone input using OpenAIโs Whisper API
- ๐ Text-to-speech functionality for AI assistant responses
- ๐บ๏ธ Automatic language detection for appropriate text-to-speech playback
- ๐ฃ๏ธ Choose the language and voice for text-to-speech
- ๐ Enable interactive conversations with the AI agent using speech recognition and text-to-speech
- ๐ง Text data can be spoken by the AI agent and saved as an MP3 audio file
Image and Video Recognition and Generation
- ๐ผ๏ธ Generate images from text prompts using OpenAIโs DALLยทE 3 API
- ๐ Analyze and describe the content of uploaded images
- ๐ฅ Recognize and describe the content and audio of uploaded videos
Configuration and Extension
- ๐ก Customize the AI agentโs behavior by specifying API parameters and the system prompt
- ๐ Extend functionality using the Ruby programming language
- ๐ Extend functionality using the Python programming language
- ๐ Perform web scraping using Selenium
Message Editing
- ๐ Edit previous messages
- ๐๏ธ Delete specific messages
- ๐ Set roles (user, assistant, system) for new messages
Support for Multiple LLM APIs
- ๐ฅ Multiple LLM APIs are supported:
- OpenAI GPT-4
- Google Gemini
- Anthropic Claude
- Cohere Command R
- Mistral AI
-
๐ค๐ฌ๐ค AIโ๏ธAI Chat is available:
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
Managing Conversations as Monads
- โป๏ธ Manage (invisible) conversation state by obtaining additional responses from LLM and updating values in a predefined JSON object