Skip to content

New Integration: Upstash Vector DocumentStore #3684

Description

@avish006

Haystack currently has no DocumentStore integration for Upstash Vector, a serverless HTTP-based vector database. Users building RAG systems who want a vector store with zero infrastructure to provision (no Docker container, no server, no cluster) currently have to choose between self-hosted options like Chroma/Qdrant or other managed options. Upstash fills a specific niche - pay-as-you-go serverless with a generous free tier - that LangChain already supports but Haystack doesn't.

Add an upstash-haystack integration under integrations/upstash/, including:

  • UpstashDocumentStore - implements the full DocumentStore protocol (write_documents, filter_documents, delete_documents, count_documents, to_dict/from_dict), with credentials handled via Haystack's Secret type
  • UpstashEmbeddingRetriever - standard dense vector retrieval
  • UpstashHybridRetriever - dense + sparse retrieval combined via Upstash's native Reciprocal Rank Fusion, a differentiator versus stores that require hand-rolled hybrid fusion

Built on the official upstash-vector Python SDK.

Existing Document Stores (Chroma, Qdrant, pgvector) cover self-hosted/Docker use cases well already, so this targets a different need: zero-ops serverless, closer to how Pinecone is managed cloud but without Upstash's HTTP-only, container-free model.

I've built and tested a working implementation, including:

  • Full unit test coverage (mocked) for all protocol methods, duplicate-policy branches, and both retrievers
  • A DocumentStoreBaseTests-compliant integration test suite (haystack.testing.document_store), run against a live free-tier Upstash index, so this isn't just passing my own assumptions about correctness — it passes Haystack's own ecosystem-wide compliance contract
  • CI workflow following the existing scaffold conventions

I'm opening the PR alongside this issue since the implementation is already complete and tested. Happy to take on ongoing maintenance/triage for this integration going forward.

Metadata

Metadata

Assignees

Labels

new integrationDiscuss the creation of a new integration in Core

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions