Open-source multi-user ChatGPT for all LLMs, embedders, and vector databases. Unlimited documents, messages, and users in one privacy-focused app.
Go to file
Timothy Carambat 91f5f94200
[FEATURE] Enable the ability to have multi user instances (#158)
* multi user wip

* WIP MUM features

* invitation mgmt

* suspend or unsuspend users

* workspace mangement

* manage chats

* manage chats

* add Support for admin system settings for users to delete workspaces and limit chats per user

* fix issue ith system var
update app to lazy load invite page

* cleanup and bug fixes

* wrong method

* update readme

* update readme

* update readme

* bump version to 0.1.0
2023-07-25 10:37:04 -07:00
cloud-deployments typo fix 2023-07-20 21:30:17 -07:00
collector Twitter Feature (#134) 2023-07-06 14:05:50 -07:00
docker Enable debug mode of ENV at runtime (#111) 2023-06-26 11:38:38 -07:00
frontend [FEATURE] Enable the ability to have multi user instances (#158) 2023-07-25 10:37:04 -07:00
images Easy AWS cloud deployment for private instances via CloudFormation template (#52) 2023-06-14 10:34:22 -07:00
server [FEATURE] Enable the ability to have multi user instances (#158) 2023-07-25 10:37:04 -07:00
.dockerignore dont ignore frontend prod envs during docker build 2023-06-13 16:57:26 -07:00
.gitattributes dockerfile cleanup; enforce text LF line endings (#81) 2023-06-17 20:18:01 -07:00
.gitignore Updated Link scraper to avoid NoneType error. (#90) 2023-06-19 12:07:26 -07:00
.nvmrc add .nvmrc in root 2023-06-08 10:35:36 -07:00
clean.sh resolves #14 (#15) 2023-06-09 12:59:22 -07:00
LICENSE inital commit 2023-06-03 19:28:07 -07:00
package.json [FEATURE] Enable the ability to have multi user instances (#158) 2023-07-25 10:37:04 -07:00
README.md [FEATURE] Enable the ability to have multi user instances (#158) 2023-07-25 10:37:04 -07:00

🤖 AnythingLLM: A full-stack personalized AI assistant.
A hyper-efficient and open-source document chatbot solution for all.

Twitter | Discord | License | Docs

A full-stack application that enables you to turn any document, resource, or piece of content into context that any LLM can use as references during chatting. This application allows you to pick and choose which LLM or Vector Database you want to use. Currently this project supports Pinecone, ChromaDB & more for vector storage and OpenAI for LLM/chatting.

Chatting view more screenshots

Watch the demo!

Watch the video

Product Overview

AnythingLLM aims to be a full-stack application where you can use commercial off-the-shelf LLMs or popular open source LLMs and vectorDB solutions.

Anything LLM is a full-stack product that you can run locally as well as host remotely and be able to chat intelligently with any documents you provide it.

AnythingLLM divides your documents into objects called workspaces. A Workspace functions a lot like a thread, but with the addition of containerization of your documents. Workspaces can share documents, but they do not talk to each other so you can keep your context for each workspace clean.

Some cool features of AnythingLLM

  • Multi-user instance support and oversight
  • Atomically manage documents in your vector database from a simple UI
  • Two chat modes conversation and query. Conversation retains previous questions and amendments. Query is simple QA against your documents
  • Each chat response contains a citation that is linked to the original content
  • Simple technology stack for fast iteration
  • 100% Cloud deployment ready.
  • "Bring your own LLM" model. still in progress - openai support only currently
  • Extremely efficient cost-saving measures for managing very large documents. You'll never pay to embed a massive document or transcript more than once. 90% more cost effective than other document chatbot solutions.

Technical Overview

This monorepo consists of three main sections:

  • collector: Python tools that enable you to quickly convert online resources or local documents into LLM useable format.
  • frontend: A viteJS + React frontend that you can run to easily create and manage all your content the LLM can use.
  • server: A nodeJS + express server to handle all the interactions and do all the vectorDB management and LLM interactions.

Requirements

  • yarn and node on your machine
  • python 3.9+ for running scripts in collector/.
  • access to an LLM like GPT-3.5, GPT-4.
  • a Pinecone.io free account*. *you can use drop in replacements for these. This is just the easiest to get up and running fast. We support multiple vector database providers.

How to get started (Docker - simple setup)

Get up and running in minutes with Docker

How to get started (Development environment)

  • yarn setup from the project root directory.
    • This will fill in the required .env files you'll need in each of the application sections. Go fill those out before proceeding or else things won't work right.
  • cd frontend && yarn install && cd ../server && yarn install from the project root directory.

Next, you will need some content to embed. This could be a Youtube Channel, Medium articles, local text files, word documents, and the list goes on. This is where you will use the collector/ part of the repo.

Go set up and run collector scripts

Learn about documents

Learn about vector caching

Contributing

  • create issue
  • create PR with branch name format of <issue number>-<short name>
  • yee haw let's merge