Giter VIP home page Giter VIP logo

kerrickchan / anything-llm Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mintplex-labs/anything-llm

0.0 1.0 0.0 35.44 MB

A multi-user ChatGPT for any LLMs and vector database. Unlimited documents, messages, and storage in one privacy-focused app. Now available as a desktop application with a built-in LLM!

Home Page: https://useanything.com

License: MIT License

Shell 0.09% JavaScript 95.17% CSS 4.06% HTML 0.13% HCL 0.08% Dockerfile 0.47%

anything-llm's Introduction

AnythingLLM logo

AnythingLLM: A private ChatGPT to chat with anything!.
An efficient, customizable, and open-source enterprise-ready document chatbot solution.

Discord | License | Docs | Hosted Instance

๐Ÿ‘‰ AnythingLLM for desktop is in public beta! Download Now

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 as well as supporting multi-user management and permissions.

Chatting

Watch the demo!

Watch the video

Product Overview

AnythingLLM is a full-stack application where you can use commercial off-the-shelf LLMs or popular open source LLMs and vectorDB solutions to build a private ChatGPT with no compromises 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 permissioning
  • New Custom Embeddable Chat widget for your website
  • Multiple document type support (PDF, TXT, DOCX, etc)
  • 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
  • In-chat citations
  • 100% Cloud deployment ready.
  • "Bring your own LLM" model.
  • 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.
  • Full Developer API for custom integrations!

Supported LLMs, Embedders, and Vector Databases

Supported LLMs:

Supported Embedding models:

Supported Vector Databases:

Technical Overview

This monorepo consists of three main sections:

  • 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.
  • docker: Docker instructions and build process + information for building from source.
  • collector: NodeJS express server that process and parses documents from the UI.

๐Ÿ›ณ Self Hosting

Mintplex Labs & the community maintain a number of deployment methods, scripts, and templates that you can use to run AnythingLLM locally. Refer to the table below to read how to deploy on your preferred environment or to automatically deploy.

Docker AWS GCP Digital Ocean Render.com
Deploy on Docker Deploy on AWS Deploy on GCP Deploy on DigitalOcean Deploy on Render.com
Railway
Deploy on Railway

or set up a production AnythingLLM instance without Docker โ†’

How to setup for development

  • yarn setup To fill in the required .env files you'll need in each of the application sections (from root of repo).
    • Go fill those out before proceeding. Ensure server/.env.development is filled or else things won't work right.
  • yarn dev:server To boot the server locally (from root of repo).
  • yarn dev:frontend To boot the frontend locally (from root of repo).
  • yarn dev:collector To then run the document collector (from root of repo).

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

Telemetry & Privacy

AnythingLLM by Mintplex Labs Inc contains a telemetry feature that collects anonymous usage information.

More about Telemetry & Privacy for AnythingLLM

Why?

We use this information to help us understand how AnythingLLM is used, to help us prioritize work on new features and bug fixes, and to help us improve AnythingLLM's performance and stability.

Opting out

Set DISABLE_TELEMETRY in your server or docker .env settings to "true" to opt out of telemetry. You can also do this in-app by going to the sidebar > Privacy and disabling telemetry.

What do you explicitly track?

We will only track usage details that help us make product and roadmap decisions, specifically:

  • Typ of your installation (Docker or Desktop)
  • When a document is added or removed. No information about the document. Just that the event occurred. This gives us an idea of use.
  • Type of vector database in use. Let's us know which vector database provider is the most used to prioritize changes when updates arrive for that provider.
  • Type of LLM in use. Let's us know the most popular choice and prioritize changes when updates arrive for that provider.
  • Chat is sent. This is the most regular "event" and gives us an idea of the daily-activity of this project across all installations. Again, only the event is sent - we have no information on the nature or content of the chat itself.

You can verify these claims by finding all locations Telemetry.sendTelemetry is called. Additionally these events are written to the output log so you can also see the specific data which was sent - if enabled. No IP or other identifying information is collected. The Telemetry provider is PostHog - an open-source telemetry collection service.

View all telemetry events in source code

๐Ÿ”— More Products

  • VectorAdmin: An all-in-one GUI & tool-suite for managing vector databases.
  • OpenAI Assistant Swarm: Turn your entire library of OpenAI assistants into one single army commanded from a single agent.


Copyright ยฉ 2023 Mintplex Labs.
This project is MIT licensed.

anything-llm's People

Contributors

timothycarambat avatar shatfield4 avatar antoniociolino avatar franzbischoff avatar frasergr avatar lunamidori5 avatar santini-cyber avatar pritchey avatar tlandenberger avatar timothyasp avatar skidvis avatar preeteshjain avatar ajosegun avatar eltociear avatar efocht avatar sherifbutt avatar mplawner avatar zhanshuyou avatar isayandev avatar imjaglan avatar melroy89 avatar m14t avatar jwaltz avatar jflaflamme avatar ivanskodje avatar hakeemsyd avatar gabrielkoo avatar itfranck avatar hipnologo avatar cloud-ray avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.