Skip to main content

Embeddings

Each ZeroDB project has a dedicated embeddings endpoint for generating vector representations of text. Embeddings power semantic search, similarity matching, and RAG pipelines.

Generate Embeddings

curl -X POST https://api.ainative.studio/api/v1/projects/{project_id}/embeddings/generate \
-H "x-api-key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"texts": [
"ZeroDB is a managed vector database",
"Semantic search powered by embeddings"
],
"model": "bge-large-en"
}'

Response:

{
"embeddings": [
[0.021, -0.043, 0.118, ...],
[0.034, -0.012, 0.091, ...]
],
"model": "bge-large-en",
"dimensions": 1024
}

Generate and Store in One Call

curl -X POST https://api.ainative.studio/api/v1/projects/{project_id}/embeddings/embed-and-store \
-H "x-api-key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"texts": ["My important document content"],
"namespace": "documents",
"metadata": [{"source": "upload", "doc_id": "doc-42"}],
"model": "bge-large-en"
}'

This generates embeddings and upserts them into the project's vector store in a single request.

List Available Models

curl https://api.ainative.studio/api/v1/projects/{project_id}/embeddings/models \
-H "x-api-key: $API_KEY"

Semantic Search with Text Query

curl -X POST https://api.ainative.studio/api/v1/projects/{project_id}/embeddings/search \
-H "x-api-key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "vector database for AI agents",
"namespace": "documents",
"top_k": 5,
"model": "bge-large-en"
}'

This embeds the query text and runs similarity search — no need to pre-compute query vectors.

Python SDK

import requests

API_KEY = "your-api-key"
PROJECT_ID = "your-project-id"
BASE = f"https://api.ainative.studio/api/v1/projects/{PROJECT_ID}/embeddings"
headers = {"x-api-key": API_KEY, "Content-Type": "application/json"}

# Generate embeddings
r = requests.post(f"{BASE}/generate", headers=headers, json={
"texts": ["Hello world", "Goodbye world"],
"model": "bge-large-en"
})
vectors = r.json()["embeddings"]
print(f"Got {len(vectors)} embeddings of dimension {len(vectors[0])}")

# Embed and store
requests.post(f"{BASE}/embed-and-store", headers=headers, json={
"texts": ["Important document about AI agents"],
"namespace": "docs",
"metadata": [{"source": "manual"}],
"model": "bge-large-en"
})

# Semantic search
results = requests.post(f"{BASE}/search", headers=headers, json={
"query": "AI agent memory",
"namespace": "docs",
"top_k": 3,
"model": "bge-large-en"
}).json()
for r in results["results"]:
print(f"Score {r['score']:.3f}: {r['metadata']}")

Available Models

ModelDimensionsBest For
bge-large-en1024English text, high accuracy
all-minilm-l6-v2384Fast, low-resource use cases

Endpoints

MethodPathDescription
POST/embeddings/generateGenerate embeddings for text array
POST/embeddings/embed-and-storeGenerate and upsert to vector store
POST/embeddings/searchSemantic search with a text query
GET/embeddings/modelsList available embedding models