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
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-seahorseSDK (Apache-2.0), which provides a LangChain-compatibleVectorStoreinterface — 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 viaSeahorseVectorStore.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 standardsearch_typevalues (similarity,similarity_score_threshold,similarity_distance_threshold,mmr).dataprep-seahorse,retriever-seahorse) wired into the existingcomps/<type>/deployment/docker_compose/compose.yaml.comps/<type>/README.mdfiles.Key Capabilities
SEAHORSE_EMBEDDING_MODE=builtin. Anexternalmode using TEI or a local HuggingFace model is also supported.SEAHORSE_SEARCH_MODEenv var. Hybrid and sparse modes requireSEAHORSE_EMBEDDING_MODE=builtin; external embedding mode is dense-only.comps/third_parties/container required. The microservices connect directly to the hosted Seahorse Cloud API Gateway using Bearer token authentication.Dependencies
langchain-seahorse>=0.4.0(Apache-2.0, PyPI) — added to bothcomps/dataprep/src/requirements.inandcomps/retrievers/src/requirements.in.Implementation Status
#2074