allchat  by msveshnikov

Multimodal AI chat client connecting diverse models and tools

Created 1 year ago
253 stars

Top 99.4% on SourcePulse

GitHubView on GitHub
Project Summary

An AI chat client designed to unify interactions across major large language models (LLMs) and integrate diverse functionalities. It targets users seeking a single interface for complex AI-assisted tasks, offering benefits like multi-model access, integrated web tools, code execution, and robust file handling, thereby streamlining workflows for developers and power users.

How It Works

The application employs a microservices-like architecture with distinct frontend and backend components, orchestrated alongside a Python execution environment. It leverages a backend extender to interface with various AI models (OpenAI, Anthropic, Google Vertex AI, Together AI) and external services. A key design choice is the integration of "Web Tools" and a Python execution sandbox, enabling the AI to interact with real-time data, automate tasks via email/Telegram, and run arbitrary Python code, extending model capabilities beyond text generation.

Quick Start & Requirements

  • Installation: Requires npm for frontend and backend setup. Navigate to the server directory, run npm i and npm run api. Then, in the root directory, run npm i and npm run start. A local MongoDB instance (or Docker container) is necessary.
  • Prerequisites: Node.js, npm, MongoDB. Numerous API keys are mandatory for functionality, including GOOGLE_KEY, CLAUDE_KEY, TOGETHER_KEY, OPENWEATHER_API_KEY, YAHOO_FINANCE_API_KEY, TELEGRAM_KEY, EMAIL, and EMAIL_PASSWORD. Python 3.12 is used for code execution.
  • Resources: Setup involves installing Node.js packages and potentially configuring a database. API key acquisition time varies.
  • Links: Frontend and backend repositories are mentioned (extender777/allchat-frontend, extender777/allchat-backend).

Highlighted Details

  • Supports multiple leading AI models including GPT-4o, Claude 3.5, Gemini Pro 1.5, and various open-source models via Together AI.
  • Features integrated "Web Tools" for real-time data fetching (weather, stocks) and automation (email, Telegram).
  • Includes a Python execution environment allowing AI-generated code to be run for tasks like data analysis, graphing, and file manipulation.
  • Supports uploading and processing various file types (PDF, Word, Excel) within chat conversations.
  • Offers PWA capabilities for mobile-friendly access and includes features like image generation, audio/video input, and chat history management.

Maintenance & Community

The project is actively under development, indicated by a "TODO" list covering features like custom GPT avatars, shared chat management, and artifact handling. Community interaction is encouraged via "Discussions" for feature requests. No specific maintainer details, sponsorship, or dedicated community channels (like Discord/Slack) are provided in the README.

Licensing & Compatibility

The license type is not specified in the provided README. This lack of clarity requires further investigation before considering commercial use or integration into closed-source projects.

Limitations & Caveats

Running locally requires significant setup, including obtaining and configuring multiple third-party API keys. A paid subscription ($4.99) is required for "PROD" usage, implying the free local version may have limitations or is intended for development/testing only. The project is feature-rich but still lists numerous items in its TODO section, suggesting ongoing development and potential for breaking changes or incomplete features.

Health Check
Last Commit

11 months ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
4 stars in the last 30 days

Explore Similar Projects

Starred by Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems") and Yaowei Zheng Yaowei Zheng(Author of LLaMA-Factory).

AstrBot by AstrBotDevs

1.1%
15k
LLM chatbot/framework for multiple platforms
Created 3 years ago
Updated 10 hours ago
Feedback? Help us improve.