This open-source project seeks to simplify the user experience for Retrieval-Augmented Generation (RAG) applications. By utilizing Verba, users can effortlessly delve into their datasets, fostering meaningful interactions.

What is Verba?

Verba is an exciting new open-source AI application that makes querying and interacting with data a breeze. Developed by Weaviate, Verba leverages the power of large language models (LLMs) like GPT-3 along with Weaviate's cutting-edge generative search capabilities. The result is an intelligent assistant that can understand your documents and answer questions in a natural, conversational way.

GitHub - weaviate/Verba: Retrieval Augmented Generation (RAG) chatbot powered by Weaviate
Retrieval Augmented Generation (RAG) chatbot powered by Weaviate - GitHub - weaviate/Verba: Retrieval Augmented Generation (RAG) chatbot powered by Weaviate

Key Capabilities

So what can Verba do? At its core, it serves as a personal data assistant - just ask it a question about your documents, and it will dive in to find the most relevant information before formulating a comprehensive, contextual answer. Verba currently supports importing a wide variety of file types like .txt, .md, and .mdx.

Under the hood, Verba uses Weaviate's vector search engine to quickly index and embed your data for optimal retrieval. When you ask a question, it checks a semantic cache to see if something similar was asked before, greatly accelerating the process. It then leverages the computational strength of LLMs to generate thoughtful, high-quality responses.

Key Features of Verba

  1. Personalized Data Interaction: Verba isn't just a tool. It's akin to having a personal assistant for data queries. Whether you're looking to cross-reference data or gain insights from existing documents, Verba, powered by Weaviate and Large Language Models (LLMs), has got you covered.
  2. Advanced Search Mechanisms: At its core, Verba employs Weaviate's Generative Search technology. This ensures that the software fetches the most pertinent context from documents to answer user queries. LLMs further enhance the results, offering answers that are both comprehensive and contextually apt.
  3. Data Import Simplified: Verba supports a myriad of file types, including .txt and .md. The platform takes the onus of chunking and vectorizing data before it's ingested into Weaviate. A data cleaning pipeline is also under development to further refine this process.
  4. Enhanced Query Resolution: By harnessing Weaviate's generate module and hybrid search capabilities, Verba can pinpoint contextually significant fragments within documents. These fragments then serve as a foundation for LLMs to craft detailed answers.
  5. Efficient Query Processing with Semantic Cache: Verba taps into Weaviate's Semantic Cache, embedding both the generated responses and queries. This ensures that repeated queries are addressed swiftly by checking the cache for previously processed, semantically identical queries.

Setting Up Verba

For those eager to implement Verba, various deployment methods are available. Users can either deploy with pip, build directly from the source, or opt for Docker deployment. It's worth noting that an OpenAI API key is essential for enabling data ingestion and querying functionalities.

Weaviate Deployment Options for Verba

Verba's adaptability is evident in its ability to connect with different Weaviate instances. While the default is Weaviate Embedded, users can also opt for cloud-based solutions like Weaviate Cloud Service (WCS) or local deployments using Docker.

Data Import and Management

With Verba, importing data is straightforward. However, it's important to note that there are associated costs depending on the OpenAI access key configuration. Verba's command set, like verba start and verba import, facilitates easy data management.

Cost Implications with LLMs

While Verba exclusively uses OpenAI models, users should be aware of the costs tied to these models. Charges are primarily linked to data embedding and answer generation processes, with the default vectorization engine being Ada v2.

Project Structure

Breaking down Verba's architecture, it's evident that it rests on three pillars:

  • The Weaviate Database can be hosted on the cloud or locally.
  • The FastAPI Endpoint, serves as the intermediary between LLMs and the database.
  • And the React Frontend, providing an interactive user interface.

Community Participation

Being an open-source initiative, Verba thrives on community involvement. Contributions, whether in the form of ideas, feedback, or bug reports, are always appreciated. For those seeking assistance, the Weaviate Community Forum is always open.

Verba promises a user-centric approach to data management, ensuring that every interaction is meaningful. With constant developments and an active community backing it, Verba is set to redefine the standards for Retrieval-Augmented Generation applications.

I'm thrilled to see projects like Verba emerging that showcase the potential of large language models in an accessible way. Verba impresses me with its simplicity - with just a few commands, anyone can start querying a knowledge base through natural language. The interactive web UI also makes the experience smooth and intuitive.

Share this post