ObjectStackObjectStack

Embedding

Embedding protocol schemas

Embedding & Vector Store Primitives

Platform contract for configuring embedding models and vector stores.

Scope (intentionally minimal):

  • How to reference an embedding model (provider + model name + secret).

  • How to reference a vector store (provider + connection).

NOT in scope (these belong to application code, not the platform):

  • Chunking strategies (fixed/semantic/recursive/markdown).

  • Retrieval pipelines (rerankers, multi-stage retrieval, filters).

  • Document loaders / ingestion DSLs.

  • End-to-end RAG pipeline orchestration.

These were removed in v1 because they describe one specific way to

build a RAG application; the platform's job is to expose the embed +

vector primitives so any RAG strategy can be built on top.

Source: packages/spec/src/ai/embedding.zod.ts

TypeScript Usage

import { EmbeddingModel, VectorStore, VectorStoreProvider } from '@objectstack/spec/ai';
import type { EmbeddingModel, VectorStore, VectorStoreProvider } from '@objectstack/spec/ai';

// Validate data
const result = EmbeddingModel.parse(data);

EmbeddingModel

Properties

PropertyTypeRequiredDescription
providerEnum<'openai' | 'cohere' | 'azure_openai' | 'huggingface' | 'local' | 'custom'>
modelstringProvider-specific model identifier
dimensionsintegerEmbedding vector dimensions
endpointstringoptionalCustom endpoint URL
secretRefstringoptionalReference to stored API key secret

VectorStore

Properties

PropertyTypeRequiredDescription
providerEnum<'pgvector' | 'chroma' | 'qdrant' | 'pinecone' | 'weaviate' | 'milvus' | 'redis' | 'opensearch' | 'elasticsearch' | 'custom'>
collectionstringCollection / index / namespace name
endpointstringoptionalConnection string or endpoint URL
secretRefstringoptionalReference to stored credential secret
dimensionsintegeroptional

VectorStoreProvider

Allowed Values

  • pgvector
  • chroma
  • qdrant
  • pinecone
  • weaviate
  • milvus
  • redis
  • opensearch
  • elasticsearch
  • custom

On this page