Skip to content

An experimental Simple RAG configurable to use any LLM model and any Embeddings model, using Langchain, Flask-SocketIO, and Llamacpp, ChromaDB, transformers

License

Notifications You must be signed in to change notification settings

erickfmm/llm-simple-rag

Repository files navigation

llm-simple-rag

An experiment to build a simple RAG Application, capable of run any llamacpp-compatible LLM and any HuggingFace-compatible BERT Embedding/Sentence Transformer model. Using ChromaDB as VectorStore and Flask-SocketIO as Webserver.

How to run

  1. Download an LLM model according to README.md in models/ folder.
  2. Change config.py according to the chosen model.
  3. Install Docker
  4. Run:
  • In Windows run build_docker.bat and run_docker.bat
  • In Linux/Other run sh build_docker.sh and sh run_docker.sh

Screen shot

Screehshot Screenshot

Diagrams

Sequence diagram of the App: Sequence diagram

Class Diagram (without dependencies): Sequence diagram

Class Diagram (with dependencies): Sequence diagram

TODO

  • Pydoc documentation
  • Config HTML View
  • Split Config and make a Class with Singleton
  • Download LLM models automatically

About

An experimental Simple RAG configurable to use any LLM model and any Embeddings model, using Langchain, Flask-SocketIO, and Llamacpp, ChromaDB, transformers

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published