Skip to content

Vector Retrieval

Embeddings, vector stores, and hybrid graph+vector retrieval.

Auto-generated docs

When trails is installed, run ENABLE_MKDOCSTRINGS=true ./scripts/docs-build for full docstring-extracted reference.

Retrieval

Symbol Signature Description
retrieve retrieve(query: str, *, ctx=None, mode: "graph" \| "vector" \| "hybrid" = "hybrid", k: int = 10, sparql_filter: str \| None = None, vector_store=None, embedder=None) -> list[RetrievalHit] Top-level entry point for graph, vector, or hybrid retrieval
RetrievalHit RetrievalHit(iri: str, score: float, snippet: str \| None, metadata: dict) One retrieval result

Vector stores

Symbol Signature Description
SqliteVecStore SqliteVecStore(dim: int, path: str = ":memory:") Zero-ops default store using sqlite-vec. Supports add, search, delete, count
QdrantStore QdrantStore(dim: int, collection: str, ...) Scale adapter over qdrant-client. Same surface as SqliteVecStore
VectorStore Protocol Minimal contract: .dim, .add(), .search(), .delete(), .count()

Embedders

Symbol Signature Description
SentenceTransformerEmbedder SentenceTransformerEmbedder(model: str = ...) Local CPU-friendly embedder (default). Lazy-imports sentence-transformers
OpenAIEmbedder OpenAIEmbedder(model: str = "text-embedding-3-small", api_key: str \| None = None) Remote embedder for OpenAI text-embedding-3-* family
MockEmbedder MockEmbedder(dim: int = 384, seed: int = 42) Deterministic pseudo-random embedder for tests
EmbeddingProvider Protocol Minimal contract: .dim, .embed(text), .embed_batch(texts)