Skip to content

[Feature] Add Seahorse Cloud as vector database backend for dataprep and retriever #2073

Description

@jadekwon-oss

Priority

Undecided

OS type

N/A

Hardware type

N/A

Running nodes

N/A

Description

Motivation

Seahorse Cloud is a managed vector database service built by Dnotitia. It connects via the langchain-seahorse SDK (Apache-2.0), which provides a LangChain-compatible VectorStore interface — making it a natural fit for OPEA's existing dataprep and retriever architecture.

We would like to add Seahorse Cloud as a new vector database backend, following the same integration pattern used by openGauss (#1949) and MariaDB Vector (#1645).

Proposed Changes

Add Seahorse Cloud integrations to the dataprep and retriever microservices:

  • comps/dataprep/src/integrations/seahorse.py — document ingestion via SeahorseVectorStore.add_texts() and per-file deletion via metadata filter.
  • comps/retrievers/src/integrations/seahorse.py — query-time search with three retrieval modes (dense / sparse / hybrid) and the four standard search_type values (similarity, similarity_score_threshold, similarity_distance_threshold, mmr).
  • Docker Compose entries (dataprep-seahorse, retriever-seahorse) wired into the existing comps/<type>/deployment/docker_compose/compose.yaml.
  • Per-integration READMEs and index entries in the parent comps/<type>/README.md files.
  • Unit tests and end-to-end test scripts.

Key Capabilities

  • Built-in server-side embeddings. Seahorse Cloud can generate embeddings server-side, so the integration does not require a separate TEI container when SEAHORSE_EMBEDDING_MODE=builtin. An external mode using TEI or a local HuggingFace model is also supported.
  • Dense, sparse, and hybrid retrieval. Supports three retrieval modes via the SEAHORSE_SEARCH_MODE env var. Hybrid and sparse modes require SEAHORSE_EMBEDDING_MODE=builtin; external embedding mode is dense-only.
  • SaaS — no comps/third_parties/ container required. The microservices connect directly to the hosted Seahorse Cloud API Gateway using Bearer token authentication.

Dependencies

  • New: langchain-seahorse>=0.4.0 (Apache-2.0, PyPI) — added to both comps/dataprep/src/requirements.in and comps/retrievers/src/requirements.in.

Implementation Status

#2074

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions