Skip to main content

LanceDB

LanceDB is an open-source vector database built for AI applications and similarity search. By integrating LanceDB with HoneyHive, you can:
  • Trace vector database operations
  • Monitor latency, embedding quality, and context relevance
  • Evaluate retrieval performance in your RAG pipelines
  • Optimize paramaters such as chunk_size or chunk_overlap

Prerequisites

  • A HoneyHive account and API key
  • Python 3.8+
  • Basic understanding of vector databases and RAG pipelines

Installation

Install the required packages:

Basic Integration Example

The following example demonstrates a complete RAG pipeline with HoneyHive tracing for LanceDB operations. We’ll break down each component step by step.

Step 1: Initialize Clients and Setup

First, set up the necessary clients and configuration for HoneyHive, OpenAI, and LanceDB:

Step 2: Define Document Class

Create a simple document class to hold text chunks:

Step 3: Load and Process Documents with Tracing

Create functions to load and chunk documents with HoneyHive tracing:
The @trace decorator logs these operations to HoneyHive, capturing metadata about document loading and chunking processes.

Step 4: Create LanceDB Table with Tracing

Set up a LanceDB table with embeddings:
This function creates a LanceDB table and adds document chunks with embeddings. The @trace decorator logs information about the embedding model used and table creation process.

Step 5: Retrieve Documents with Tracing

Create a function to retrieve relevant documents from LanceDB:
The @trace decorator logs information about the retrieval process, including the query and number of results.

Step 6: Generate Response with Tracing

Create a function to generate a response using OpenAI with tracing:
This function generates a response using OpenAI based on the retrieved documents. The @trace decorator logs information about the generation process.

Step 7: Complete RAG Pipeline with Tracing

Create a function that combines all the previous steps into a complete RAG pipeline:
The @trace decorator logs the entire RAG pipeline process, creating a parent span that contains all the child spans from the individual functions.

Step 8: Run the Example

Finally, create a main function to run the example:

Additional Resources