Skip to main content

TurboPuffer RAG integration for Vision Agents with hybrid search

Project description

TurboPuffer RAG Plugin

Hybrid search RAG (Retrieval Augmented Generation) implementation using TurboPuffer for vector + BM25 full-text search, with Gemini for embeddings.

Features

  • Hybrid Search: Combines vector (semantic) and BM25 (keyword) search for better retrieval quality
  • Reciprocal Rank Fusion: Merges results from multiple search strategies
  • Gemini Embeddings: Uses Google's Gemini embedding model for high-quality vectors
  • Low-latency Queries: Supports cache warming for fast query responses
  • Implements RAG Interface: Compatible with Vision Agents RAG base class

Installation

uv add "vision-agents[turbopuffer]"
# or directly
uv add vision-agents-plugins-turbopuffer

Usage

from vision_agents.plugins import turbopuffer

# Initialize RAG
rag = turbopuffer.TurboPufferRAG(namespace="my-knowledge")
await rag.add_directory("./knowledge")

# Hybrid search (default)
results = await rag.search("How does the chat API work?")

# Vector-only search
results = await rag.search("How does the chat API work?", mode="vector")

# BM25-only search
results = await rag.search("chat API pricing", mode="bm25")

# Or use convenience function
rag = await turbopuffer.create_rag(
    namespace="product-knowledge",
    knowledge_dir="./knowledge"
)

Configuration

Parameter Description Default
namespace TurboPuffer namespace for storing vectors Required
embedding_model Gemini embedding model models/gemini-embedding-001
chunk_size Size of text chunks for splitting documents 10000
chunk_overlap Overlap between chunks for context continuity 200
region TurboPuffer region gcp-us-central1

Environment Variables

  • TURBO_PUFFER_KEY: TurboPuffer API key
  • GOOGLE_API_KEY: Google API key (for Gemini embeddings)

Dependencies

  • turbopuffer: TurboPuffer vector database client
  • langchain-google-genai: Gemini embeddings
  • langchain-text-splitters: Text chunking utilities

References

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

vision_agents_plugins_turbopuffer-0.5.3.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

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

File details

Details for the file vision_agents_plugins_turbopuffer-0.5.3.tar.gz.

File metadata

  • Download URL: vision_agents_plugins_turbopuffer-0.5.3.tar.gz
  • Upload date:
  • Size: 6.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.10 {"installer":{"name":"uv","version":"0.10.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for vision_agents_plugins_turbopuffer-0.5.3.tar.gz
Algorithm Hash digest
SHA256 a90f31daaacb5ce6023f8842ea95c1edef4a1cbcd40dec5e5f815ec618e122eb
MD5 d3d1c29d4f4bd5e3bcb182d59783aac6
BLAKE2b-256 d8f73047aedcd61737e3e5ad94eda77beab246aeb4d7bdba4a1bd2d5be17f4a5

See more details on using hashes here.

File details

Details for the file vision_agents_plugins_turbopuffer-0.5.3-py3-none-any.whl.

File metadata

  • Download URL: vision_agents_plugins_turbopuffer-0.5.3-py3-none-any.whl
  • Upload date:
  • Size: 10.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.10 {"installer":{"name":"uv","version":"0.10.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for vision_agents_plugins_turbopuffer-0.5.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e30ae5ca9fc38f972df32f0d4389844a6c9a084f0fa3847ffe4e4b6afe9ba79e
MD5 0255f68ea381807cf0d680109775203a
BLAKE2b-256 e4e279352cf0cced93b92106697b12934f5699b5c4f50d274505f186be313dd1

See more details on using hashes here.

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