Frequently Asked Questions

Dabarqus is a comprehensive, all-in-one RAG (Retrieval-Augmented Generation) solution designed for on-premise deployment. It provides a state-of-the-art RAG system at a fraction of the cost of building from scratch.

RAG stands for Retrieval-Augmented Generation. It’s a technique in artificial intelligence that combines two key processes:

  1. Retrieval: This involves searching through a large database of information to find relevant content based on a given query or prompt.
  2. Generation: This uses a language model to generate human-like text responses.

In a RAG system, when a query is received, the system first retrieves relevant information from its database. This retrieved information is then used to augment or inform the language model’s response, allowing it to generate more accurate, contextual, and informed answers.

RAG is particularly useful because it allows AI systems to access and utilize large amounts of specific, up-to-date information without needing to constantly retrain the underlying language model. This results in more accurate and relevant responses, especially for domain-specific or rapidly changing information.

Dabarqus is a comprehensive RAG solution, handling both the retrieval and the integration with language models for generation.

Key features include:

  • Comprehensive RAG solution with vector database, embedding model, and ingestion/retrieval utilities
  • Modern REST API for easy integration
  • Cross-platform compatibility (Windows, Linux, macOS)
  • Built-in chatbot accessible via browser
  • Local and private deployment for data security

Download the Dabarqus standalone C++ application from the official website. We have an easy-to-use installer that works on Windows, Linux and macOS.

Dabarqus supports Windows, Linux, and macOS.

No, Dabarqus is a standalone C++ application with everything built-in. It has zero external dependencies.

Dabarqus operates as a comprehensive RAG (Retrieval-Augmented Generation) system:

  1. Data Ingestion: Using the CLI tool ‘barq’ or the REST API, you can store documents in a memory bank. For example: barq store –input-path <path to folder> –memory-bank “<memory bank name>”
  2. Embedding: Dabarqus uses a built-in embedding model to convert the stored text into vector representations.
  3. Vector Storage: These embeddings are stored in Dabarqus’s custom vector database, optimized for fast retrieval.
  4. Querying: When you send a query (via CLI, API, or the built-in chatbot), Dabarqus converts it into an embedding and searches the vector database for the most relevant information.
  5. Retrieval: Dabarqus returns the most relevant documents or chunks of text based on your query. For instance: barq retrieve –memory-bank “<memory bank name>” –query “Your question here” –query-limit 3
  6. Integration: The retrieved information can be used directly or fed into an LLM (Large Language Model) to generate more informed responses.

Yes, Dabarqus runs entirely on your own hardware – be it a PC, laptop, server, or owned-cloud infrastructure. Your data never leaves your control.

Yes, Dabarqus is designed for on-premise deployment, giving you full control over your data and infrastructure.

Dabarqus provides a modern REST API that facilitates smooth integration with existing systems and LLMs. You can use this API to interact with Dabarqus from any programming language or framework.

Yes, Dabarqus can run in the cloud, specifically on owned-cloud infrastructure. While it’s designed for on-premise deployment to ensure maximum data privacy and control, you can install and run Dabarqus on cloud servers that you own and manage. This gives you the flexibility to deploy Dabarqus in a way that best fits your organization’s infrastructure needs, whether that’s on local hardware or in a private cloud environment.

Dabarqus is designed to be LLM-agnostic, meaning it can work with any LLM of your choice. This includes popular models: GPT-4o, Llama3, and others. Dabarqus handles the retrieval part of the RAG process, providing relevant information that can then be fed into any LLM for generation. This flexibility allows you to use the LLM that best suits your specific needs, whether for general-purpose language understanding or specialized domain tasks.