{"id":15176751,"url":"https://github.com/astrabert/everything-ai","last_synced_at":"2025-12-16T02:38:43.949Z","repository":{"id":231404254,"uuid":"781709496","full_name":"AstraBert/everything-ai","owner":"AstraBert","description":"Your fully proficient, AI-powered and local chatbot assistant🤖","archived":false,"fork":false,"pushed_at":"2024-06-18T11:28:17.000Z","size":2606,"stargazers_count":233,"open_issues_count":0,"forks_count":22,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-04-09T20:10:05.903Z","etag":null,"topics":["ai","ai-studio","chatgpt","cheshire-cat","docker-image","free-to-use","generative-ai","image-classification","jan-ai","langchain","learning","local-llm","open-source","qdrant","stable-diffusion","text-summarization"],"latest_commit_sha":null,"homepage":"https://astrabert.github.io/everything-ai/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AstraBert.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["AstraBert"]}},"created_at":"2024-04-03T22:20:59.000Z","updated_at":"2025-03-17T11:37:29.000Z","dependencies_parsed_at":"2024-04-07T18:28:04.235Z","dependency_job_id":"46e620a7-f4c6-4121-95f6-6542c943ff77","html_url":"https://github.com/AstraBert/everything-ai","commit_stats":null,"previous_names":["astrabert/everything-rag","astrabert/everything-ai"],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AstraBert%2Feverything-ai","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AstraBert%2Feverything-ai/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AstraBert%2Feverything-ai/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AstraBert%2Feverything-ai/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AstraBert","download_url":"https://codeload.github.com/AstraBert/everything-ai/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248103871,"owners_count":21048245,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","ai-studio","chatgpt","cheshire-cat","docker-image","free-to-use","generative-ai","image-classification","jan-ai","langchain","learning","local-llm","open-source","qdrant","stable-diffusion","text-summarization"],"created_at":"2024-09-27T13:41:35.229Z","updated_at":"2025-12-16T02:38:43.876Z","avatar_url":"https://github.com/AstraBert.png","language":"Python","funding_links":["https://github.com/sponsors/AstraBert"],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eeverything-ai\u003c/h1\u003e\r\n\u003ch2 align=\"center\"\u003eYour fully proficient, AI-powered and local chatbot assistant🤖\u003c/h2\u003e\r\n\r\n\r\n\u003cdiv align=\"center\"\u003e\r\n    \u003cimg src=\"https://img.shields.io/github/languages/top/AstraBert/everything-ai\" alt=\"GitHub top language\"\u003e\r\n   \u003cimg src=\"https://img.shields.io/github/commit-activity/t/AstraBert/everything-ai\" alt=\"GitHub commit activity\"\u003e\r\n   \u003cimg src=\"https://img.shields.io/badge/everything_ai-stable-green\" alt=\"Static Badge\"\u003e\r\n   \u003cimg src=\"https://img.shields.io/badge/Release-v4.2.0-purple\" alt=\"Static Badge\"\u003e\r\n   \u003cimg src=\"https://img.shields.io/docker/image-size/astrabert/everything-ai\r\n   \" alt=\"Docker image size\"\u003e\r\n   \u003cimg src=\"https://img.shields.io/badge/Supported_platforms-Windows/macOS-brown\" alt=\"Static Badge\"\u003e\r\n   \u003cdiv\u003e\r\n        \u003ca href=\"https://huggingface.co/spaces/as-cle-bert/everything-rag\"\u003e\u003cimg src=\"./imgs/everything-ai.drawio.png\" alt=\"Flowchart\" align=\"center\"\u003e\u003c/a\u003e\r\n        \u003cp\u003e\u003ci\u003eFlowchart for everything-ai\u003c/i\u003e\u003c/p\u003e\r\n   \u003c/div\u003e\r\n\u003c/div\u003e\r\n\r\n## Quickstart\r\n### 1. Clone this repository\r\n```bash\r\ngit clone https://github.com/AstraBert/everything-ai.git\r\ncd everything-ai\r\n```\r\n### 2. Set your `.env` file\r\nModify:\r\n- `VOLUME` variable in the .env file so that you can mount your local file system into Docker container.\r\n- `MODELS_PATH` variable in the .env file so that you can tell llama.cpp where you stored the GGUF models you downloaded.\r\n- `MODEL` variable in the .env file so that you can tell llama.cpp what model to use (use the actual name of the gguf file, and do not forget the .gguf extension!)\r\n- `MAX_TOKENS` variable in the .env file so that you can tell llama.cpp how many new tokens it can generate as output.\r\n\r\nAn example of a `.env` file could be:\r\n```bash\r\nVOLUME=\"c:/Users/User/:/User/\"\r\nMODELS_PATH=\"c:/Users/User/.cache/llama.cpp/\"\r\nMODEL=\"stories260K.gguf\"\r\nMAX_TOKENS=\"512\"\r\n```\r\nThis means that now everything that is under \"c:/Users/User/\" on your local machine is under \"/User/\" in your Docker container, that llama.cpp knows where to look for models and what model to look for, along with the maximum new tokens for its output.\r\n\r\n### 3. Pull the necessary images\r\n```bash\r\ndocker pull astrabert/everything-ai:latest\r\ndocker pull qdrant/qdrant:latest\r\ndocker pull ghcr.io/ggerganov/llama.cpp:server\r\n```\r\n### 4. Run the multi-container app\r\n```bash\r\ndocker compose up\r\n```\r\n### 5. Go to `localhost:8670` and choose your assistant\r\n\r\nYou will see something like this:\r\n\r\n\u003cdiv align=\"center\"\u003e\r\n    \u003cimg src=\"./imgs/select_and_run.png\" alt=\"Task choice interface\"\u003e\r\n\u003c/div\u003e\r\n\r\nChoose the task among:\r\n\r\n- *retrieval-text-generation*: use `qdrant` backend to build a retrieval-friendly knowledge base, which you can query and tune the response of your model on. You have to pass either a pdf/a bunch of pdfs specified as comma-separated paths or a directory where all the pdfs of interest are stored (**DO NOT** provide both); you can also specify the language in which the PDF is written, using [ISO nomenclature](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes) - **MULTILINGUAL**\r\n- *agnostic-text-generation*: ChatGPT-like text generation (no retrieval architecture), but supports every text-generation model on HF Hub (as long as your hardware supports it!) - **MULTILINGUAL**\r\n- *text-summarization*: summarize text and pdfs, supports every text-summarization model on HF Hub - **ENGLISH ONLY**\r\n- *image-generation*: stable diffusion, supports every text-to-image model on HF Hub - **MULTILINGUAL**\r\n- *image-generation-pollinations*: stable diffusion, use Pollinations AI API; if you choose 'image-generation-pollinations', you do not need to specify anything else apart from the task - **MULTILINGUAL**\r\n- *image-classification*: classify an image, supports every image-classification model on HF Hub - **ENGLISH ONLY**\r\n- *image-to-text*:  describe an image, supports every image-to-text model on HF Hub - **ENGLISH ONLY**\r\n- *audio-classification*: classify audio files or microphone recordings, supports audio-classification models on HF hub\r\n- *speech-recognition*: transcribe audio files or microphone recordings, supports automatic-speech-recognition models on HF hub.\r\n- *video-generation*: generate video upon text prompt, supports text-to-video models on HF hub - **ENGLISH ONLY**\r\n- *protein-folding*: get the 3D structure of a protein from its amino-acid sequence, using ESM-2 backbone model - **GPU ONLY**\r\n- *autotrain*: fine-tune a model on a specific downstream task with autotrain-advanced, just by specifying you HF username, HF writing token and the path to a yaml config file for the training\r\n- *spaces-api-supabase*: use HF Spaces API in combination with Supabase PostgreSQL databases in order to unleash more powerful LLMs and larger RAG-oriented vector databases - **MULTILINGUAL**\r\n- *llama.cpp-and-qdrant*: same as *retrieval-text-generation*, but uses **llama.cpp** as inference engine, so you MUST NOT specify a model - **MULTILINGUAL**\r\n- *build-your-llm*: Build a customizable chat LLM combining a Qdrant database with your PDFs and the power of Anthropic, OpenAI, Cohere or Groq models: you just need an API key! To build the Qdrant database, have to pass either a pdf/a bunch of pdfs specified as comma-separated paths or a directory where all the pdfs of interest are stored (**DO NOT** provide both); you can also specify the language in which the PDF is written, using [ISO nomenclature](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes) - **MULTILINGUAL**, **LANGFUSE INTEGRATION**\r\n- *simply-chatting*: Build a customizable chat LLM with the power of Anthropic, OpenAI, Cohere or Groq models (no RAG pipeline): you just need an API key! - **MULTILINGUAL**, **LANGFUSE INTEGRATION**\r\n- *fal-img2img*: Use [fal.ai](https://fal.ai) ComfyUI API to generate images starting from yur PNG and JPEG images: you just need an API key! You can aklso customize the generation working with prompts and seeds - **ENGLISH ONLY**\r\n- *image-retrieval-search*: search an image database uploading a folder as database input. The folder should have the following structure:\r\n\r\n```\r\n./\r\n├── test/\r\n|   ├── label1/\r\n|   └── label2/\r\n└── train/\r\n    ├── label1/\r\n    └── label2/\r\n```\r\n\r\n\r\nYou can query the database starting from your own pictures.\r\n\r\n### 6. Go to `localhost:7860` and start using your assistant\r\n\r\nOnce everything is ready, you can head over to `localhost:7860` and start using your assistant:\r\n\r\n\u003cdiv align=\"center\"\u003e\r\n    \u003cimg src=\"./imgs/chatbot.png\" alt=\"Chat interface\"\u003e\r\n\u003c/div\u003e\r\n\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fastrabert%2Feverything-ai","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fastrabert%2Feverything-ai","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fastrabert%2Feverything-ai/lists"}