Skip to content

πŸ€– + 🐳 + 🐧 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 for searching, coding, testing, analysis, visualization, and more.

License

Notifications You must be signed in to change notification settings

yohasebe/monadic-chat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Β 

Grounding AI Chatbots with Full Linux Environment on Docker

Β 

⚠️ This application is currently under active development

Β 

Overview

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 for searching, coding, testing, analysis, visualization, and more.

Β 

Β 

Β 

Β 

There are two versions of Monadic Chat. One is a web browser-based app framework developed in this repository. The other is a command line app provided as a RubyGem.

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

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

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

  • πŸ‘₯ In addition to OpenAI GPT-4 (default), basic functionality (chat + tool/function call) is also available for:
    • Google Gemini
    • Anthropic Claude
    • Cohere Command R

Managing Conversations as Monads

  • ♻️ Manage (invisible) conversation state by obtaining additional responses from LLM and updating values in a predefined JSON object

Author

Yoichiro HASEBE
yohasebe@gmail.com

License

The gem is available as open source under the terms of the MIT License.

About

πŸ€– + 🐳 + 🐧 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 for searching, coding, testing, analysis, visualization, and more.

Topics

Resources

License

Stars

Watchers

Forks