Skip to main content

LOOP Chat

Project description

LOOP Chat ๐Ÿ‘‹

GitHub stars GitHub forks GitHub watchers GitHub repo size GitHub language count GitHub top language GitHub last commit Discord

LOOP Chat is an extensible, feature-rich, and user-friendly self-hosted AI platform designed to operate entirely offline. It supports various LLM runners like Ollama and OpenAI-compatible APIs, with built-in inference engine for RAG, making it a powerful AI deployment solution.

LOOP Chat Demo

[!TIP]
Looking for an Enterprise Plan? โ€“ Speak with Our Sales Team Today!

Get enhanced capabilities, including custom theming and branding, Service Level Agreement (SLA) support, Long-Term Support (LTS) versions, and more!

For more information, be sure to check out our LOOP Chat Documentation.

Key Features of LOOP Chat โญ

  • ๐Ÿš€ Effortless Setup: Install seamlessly using Docker or Kubernetes (kubectl, kustomize or helm) for a hassle-free experience with support for both :ollama and :cuda tagged images.

  • ๐Ÿค Ollama/OpenAI API Integration: Effortlessly integrate OpenAI-compatible APIs for versatile conversations alongside Ollama models. Customize the OpenAI API URL to link with LMStudio, GroqCloud, Mistral, OpenRouter, and more.

  • ๐Ÿ›ก๏ธ Granular Permissions and User Groups: By allowing administrators to create detailed user roles and permissions, we ensure a secure user environment. This granularity not only enhances security but also allows for customized user experiences, fostering a sense of ownership and responsibility amongst users.

  • ๐Ÿ“ฑ Responsive Design: Enjoy a seamless experience across Desktop PC, Laptop, and Mobile devices.

  • ๐Ÿ“ฑ Progressive Web App (PWA) for Mobile: Enjoy a native app-like experience on your mobile device with our PWA, providing offline access on localhost and a seamless user interface.

  • โœ’๏ธ๐Ÿ”ข Full Markdown and LaTeX Support: Elevate your LLM experience with comprehensive Markdown and LaTeX capabilities for enriched interaction.

  • ๐ŸŽค๐Ÿ“น Hands-Free Voice/Video Call: Experience seamless communication with integrated hands-free voice and video call features, allowing for a more dynamic and interactive chat environment.

  • ๐Ÿ› ๏ธ Model Builder: Easily create Ollama models via the Web UI. Create and add custom characters/agents, customize chat elements, and import models effortlessly through LOOP Chat Community integration.

  • ๐Ÿ Native Python Function Calling Tool: Enhance your LLMs with built-in code editor support in the tools workspace. Bring Your Own Function (BYOF) by simply adding your pure Python functions, enabling seamless integration with LLMs.

  • ๐Ÿ“š Local RAG Integration: Dive into the future of chat interactions with groundbreaking Retrieval Augmented Generation (RAG) support. This feature seamlessly integrates document interactions into your chat experience. You can load documents directly into the chat or add files to your document library, effortlessly accessing them using the # command before a query.

  • ๐Ÿ” Web Search for RAG: Perform web searches using providers like SearXNG, Google PSE, Brave Search, serpstack, serper, Serply, DuckDuckGo, TavilySearch, SearchApi and Bing and inject the results directly into your chat experience.

  • ๐ŸŒ Web Browsing Capability: Seamlessly integrate websites into your chat experience using the # command followed by a URL. This feature allows you to incorporate web content directly into your conversations, enhancing the richness and depth of your interactions.

  • ๐ŸŽจ Image Generation Integration: Seamlessly incorporate image generation capabilities using options such as AUTOMATIC1111 API or ComfyUI (local), and OpenAI's DALL-E (external), enriching your chat experience with dynamic visual content.

  • โš™๏ธ Many Models Conversations: Effortlessly engage with various models simultaneously, harnessing their unique strengths for optimal responses. Enhance your experience by leveraging a diverse set of models in parallel.

  • ๐Ÿ” Role-Based Access Control (RBAC): Ensure secure access with restricted permissions; only authorized individuals can access your Ollama, and exclusive model creation/pulling rights are reserved for administrators.

  • ๐ŸŒ๐ŸŒ Multilingual Support: Experience LOOP Chat in your preferred language with our internationalization (i18n) support. Join us in expanding our supported languages! We're actively seeking contributors!

  • ๐Ÿงฉ Pipelines, LOOP Chat Plugin Support: Seamlessly integrate custom logic and Python libraries into LOOP Chat using Pipelines Plugin Framework. Launch your Pipelines instance, set the OpenAI URL to the Pipelines URL, and explore endless possibilities. Examples include Function Calling, User Rate Limiting to control access, Usage Monitoring with tools like Langfuse, Live Translation with LibreTranslate for multilingual support, Toxic Message Filtering and much more.

  • ๐ŸŒŸ Continuous Updates: We are committed to improving LOOP Chat with regular updates, fixes, and new features.

Want to learn more about LOOP Chat's features? Check out our LOOP Chat documentation for a comprehensive overview!

Sponsors ๐Ÿ™Œ

Emerald

n8n Does your interface have a backend yet?
Try n8n

We are incredibly grateful for the generous support of our sponsors. Their contributions help us to maintain and improve our project, ensuring we can continue to deliver quality work to our community. Thank you!

How to Install ๐Ÿš€

Installation via Python pip ๐Ÿ

LOOP Chat can be installed using pip, the Python package installer. Before proceeding, ensure you're using Python 3.11 to avoid compatibility issues.

  1. Install LOOP Chat: Open your terminal and run the following command to install LOOP Chat:

    pip install loop-chat
    
  2. Running LOOP Chat: After installation, you can start LOOP Chat by executing:

    loop-chat serve
    

This will start the LOOP Chat server, which you can access at http://localhost:8080

Quick Start with Docker ๐Ÿณ

[!NOTE]
Please note that for certain Docker environments, additional configurations might be needed. If you encounter any connection issues, our detailed guide on LOOP Chat Documentation is ready to assist you.

[!WARNING] When using Docker to install LOOP Chat, make sure to include the -v loop-chat:/app/backend/data in your Docker command. This step is crucial as it ensures your database is properly mounted and prevents any loss of data.

[!TIP]
If you wish to utilize LOOP Chat with Ollama included or CUDA acceleration, we recommend utilizing our official images tagged with either :cuda or :ollama. To enable CUDA, you must install the Nvidia CUDA container toolkit on your Linux/WSL system.

Installation with Default Configuration

  • If Ollama is on your computer, use this command:

    docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v loop-chat:/app/backend/data --name loop-chat --restart always ghcr.io/DFveloper/loop-chat:main
    
  • If Ollama is on a Different Server, use this command:

    To connect to Ollama on another server, change the OLLAMA_BASE_URL to the server's URL:

    docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=https://example.com -v loop-chat:/app/backend/data --name loop-chat --restart always ghcr.io/DFveloper/loop-chat:main
    
  • To run LOOP Chat with Nvidia GPU support, use this command:

    docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v loop-chat:/app/backend/data --name loop-chat --restart always ghcr.io/DFveloper/loop-chat:cuda
    

Installation for OpenAI API Usage Only

  • If you're only using OpenAI API, use this command:

    docker run -d -p 3000:8080 -e OPENAI_API_KEY=your_secret_key -v loop-chat:/app/backend/data --name loop-chat --restart always ghcr.io/DFveloper/loop-chat:main
    

Installing LOOP Chat with Bundled Ollama Support

This installation method uses a single container image that bundles LOOP Chat with Ollama, allowing for a streamlined setup via a single command. Choose the appropriate command based on your hardware setup:

  • With GPU Support: Utilize GPU resources by running the following command:

    docker run -d -p 3000:8080 --gpus=all -v ollama:/root/.ollama -v loop-chat:/app/backend/data --name loop-chat --restart always ghcr.io/DFveloper/loop-chat:ollama
    
  • For CPU Only: If you're not using a GPU, use this command instead:

    docker run -d -p 3000:8080 -v ollama:/root/.ollama -v loop-chat:/app/backend/data --name loop-chat --restart always ghcr.io/DFveloper/loop-chat:ollama
    

Both commands facilitate a built-in, hassle-free installation of both LOOP Chat and Ollama, ensuring that you can get everything up and running swiftly.

After installation, you can access LOOP Chat at http://localhost:3000. Enjoy! ๐Ÿ˜„

Other Installation Methods

We offer various installation alternatives, including non-Docker native installation methods, Docker Compose, Kustomize, and Helm. Visit our LOOP Chat Documentation or join our Discord community for comprehensive guidance.

Troubleshooting

Encountering connection issues? Our LOOP Chat Documentation has got you covered. For further assistance and to join our vibrant community, visit the LOOP Chat Discord.

LOOP Chat: Server Connection Error

If you're experiencing connection issues, itโ€™s often due to the WebUI docker container not being able to reach the Ollama server at 127.0.0.1:11434 (host.docker.internal:11434) inside the container . Use the --network=host flag in your docker command to resolve this. Note that the port changes from 3000 to 8080, resulting in the link: http://localhost:8080.

Example Docker Command:

docker run -d --network=host -v loop-chat:/app/backend/data -e OLLAMA_BASE_URL=http://127.0.0.1:11434 --name loop-chat --restart always ghcr.io/DFveloper/loop-chat:main

Keeping Your Docker Installation Up-to-Date

In case you want to update your local Docker installation to the latest version, you can do it with Watchtower:

docker run --rm --volume /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --run-once loop-chat

In the last part of the command, replace loop-chat with your container name if it is different.

Check our Updating Guide available in our LOOP Chat Documentation.

Using the Dev Branch ๐ŸŒ™

[!WARNING] The :dev branch contains the latest unstable features and changes. Use it at your own risk as it may have bugs or incomplete features.

If you want to try out the latest bleeding-edge features and are okay with occasional instability, you can use the :dev tag like this:

docker run -d -p 3000:8080 -v loop-chat:/app/backend/data --name loop-chat --add-host=host.docker.internal:host-gateway --restart always ghcr.io/DFveloper/loop-chat:dev

Offline Mode

If you are running LOOP Chat in an offline environment, you can set the HF_HUB_OFFLINE environment variable to 1 to prevent attempts to download models from the internet.

export HF_HUB_OFFLINE=1

What's Next? ๐ŸŒŸ

Discover upcoming features on our roadmap in the LOOP Chat Documentation.

License ๐Ÿ“œ

This project is licensed under the LOOP Chat License, a revised BSD-3-Clause license. You receive all the same rights as the classic BSD-3 license: you can use, modify, and distribute the software, including in proprietary and commercial products, with minimal restrictions. The only additional requirement is to preserve the "LOOP Chat" branding, as detailed in the LICENSE file. For full terms, see the LICENSE document. ๐Ÿ“„

Support ๐Ÿ’ฌ

If you have any questions, suggestions, or need assistance, please open an issue or join our LOOP Chat Discord community to connect with us! ๐Ÿค

Star History

Star History Chart

Created by Timothy Jaeryang Baek - Let's make LOOP Chat even more amazing together! ๐Ÿ’ช

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

loop_chat-0.6.9.tar.gz (53.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

loop_chat-0.6.9-py3-none-any.whl (94.0 MB view details)

Uploaded Python 3

File details

Details for the file loop_chat-0.6.9.tar.gz.

File metadata

  • Download URL: loop_chat-0.6.9.tar.gz
  • Upload date:
  • Size: 53.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for loop_chat-0.6.9.tar.gz
Algorithm Hash digest
SHA256 9ca88877d71801e4229f634c6e7f2f5ee431374071bb9d91e630343ea85a1a39
MD5 74ac06b4b1dbd513c94f7f0ae61b9558
BLAKE2b-256 93e28e92a560b2cf9aa048718dc7c9d57b39b62daf946ad20199c37c4fbbccb6

See more details on using hashes here.

Provenance

The following attestation bundles were made for loop_chat-0.6.9.tar.gz:

Publisher: release-pypi.yml on DFveloper/loop-chat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file loop_chat-0.6.9-py3-none-any.whl.

File metadata

  • Download URL: loop_chat-0.6.9-py3-none-any.whl
  • Upload date:
  • Size: 94.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for loop_chat-0.6.9-py3-none-any.whl
Algorithm Hash digest
SHA256 86f03142f8df262862e86796f00929c4b2536bcb052da40f5841b03862453924
MD5 0d3e81714893f9ddd9dcfc4e5c440d0b
BLAKE2b-256 512a8f836de2f8dc7c3f9039d4183eae00111ab51171064364bee2de08d00520

See more details on using hashes here.

Provenance

The following attestation bundles were made for loop_chat-0.6.9-py3-none-any.whl:

Publisher: release-pypi.yml on DFveloper/loop-chat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page