GitHub

LlamaGPT

What is the project about?

LlamaGPT is a self-hosted, offline, ChatGPT-like chatbot powered by Llama 2 and Code Llama models. It's designed to be 100% private, with no data leaving the user's device.

What problem does it solve?

It provides a private and secure alternative to cloud-based chatbot services like ChatGPT, addressing privacy concerns by keeping all data local. It also offers offline functionality.

What are the features of the project?

  • Self-hosted: Runs on the user's own hardware (umbrelOS home server, M1/M2 Mac, any system with Docker, or Kubernetes).
  • Offline: Works without an internet connection after the initial model download.
  • Private: No data leaves the user's device.
  • Multiple Models: Supports various Llama 2 and Code Llama models (7B, 13B, 34B, 70B) with different sizes and memory requirements.
  • Chatbot UI: Uses a user-friendly interface based on Chatbot UI.
  • OpenAI-compatible API: Offers an API that mimics OpenAI's, making it easy to integrate with other applications.
  • Nvidia GPU support: Can utilize Nvidia GPUs for accelerated performance.
  • Metal Support: Support for running on Apple silicon (M1/M2 Macs).

What are the technologies used in the project?

  • Llama 2 and Code Llama: The underlying language models.
  • llama.cpp: A C++ implementation for running Llama models.
  • llama-cpp-python: Python bindings for llama.cpp.
  • Docker: For containerization and deployment.
  • Kubernetes: For container orchestration (optional deployment method).
  • Chatbot UI: The frontend user interface.
  • GGML/GGUF: Model file formats.

What are the benefits of the project?

  • Privacy: Complete control over data, as it never leaves the user's device.
  • Security: Reduced risk of data breaches compared to cloud services.
  • Offline Access: Usable even without an internet connection.
  • Cost-effective: Potentially cheaper than subscription-based AI services, especially for heavy usage.
  • Customization: The roadmap includes plans for supporting custom models.
  • Open Source: Transparent and community-driven.

What are the use cases of the project?

  • Private Chatbot: For personal use where privacy is paramount.
  • Local Development: Testing and developing applications that use language models without relying on external APIs.
  • Offline Applications: Building applications that require chatbot functionality in environments with limited or no internet connectivity.
  • Secure Environments: Deploying chatbots in sensitive environments where data security is critical.
  • Code Generation/Assistance: Utilizing Code Llama models for coding tasks.
  • Integration with other applications: Using the OpenAI-compatible API.
llama-gpt screenshot