Skip to main content

Embeddings

Embeddings are numerical representations of data (text, images, etc.) as vectors. VectorAmp uses embeddings to enable similarity search across your data.

How Embeddings Work​

  1. Input data (text, images) is passed through an embedding model
  2. The model outputs a fixed-size vector (e.g., 1536 dimensions)
  3. Similar inputs produce similar vectors (close in vector space)
  4. VectorAmp indexes these vectors for fast similarity search

Supported Embedding Models​

Built-in Models​

VectorAmp provides hosted embedding models — no API keys or external services needed:

ModelDimensionsBest For
vectoramp-small768General purpose, fast
vectoramp-large2560High accuracy, multilingual

External Providers​

Bring your own embedding model:

ProviderModelsDimensions
OpenAItext-embedding-3-small1536
OpenAItext-embedding-3-large3072
Cohereembed-english-v3.01024
CustomAny model via APIVariable

Organization embedding secrets​

For external providers such as OpenAI, store the provider credential as an organization secret. VectorAmp stores the secret server-side and returns only the secret reference; plaintext API keys are never returned.

The default OpenAI secret reference is:

emb:openai:api_key

Create or update it through the API gateway:

curl -X POST https://api.vectoramp.com/org-secrets/emb%3Aopenai%3Aapi_key \
-H "X-API-Key: <vectoramp_api_key>" \
-H "Content-Type: application/json" \
-d '{
"value": "sk-..."
}'

Then create a dataset that references the stored secret:

curl -X POST https://api.vectoramp.com/datasets \
-H "X-API-Key: <vectoramp_api_key>" \
-H "Content-Type: application/json" \
-d '{
"name": "openai-docs",
"dim": 1536,
"embedding": {
"provider": "openai",
"model": "text-embedding-3-small",
"secret_ref": "emb:openai:api_key"
}
}'

SDKs also expose a convenience path that can save the secret and create the dataset in one call.

Testing an Embedding Provider​

Before creating a pipeline, verify your embedding configuration:

result = client.embeddings.test(
provider="openai",
model="text-embedding-3-small",
api_key="sk-...",
text="Hello, world!"
)
print(f"Dimensions: {result.dimensions}")
print(f"Vector sample: {result.vector[:5]}")

Choosing the Right Model​

  • Speed-sensitive? → Use a smaller model (768 dims)
  • Accuracy-critical? → Use a larger model (1536+ dims)
  • Multilingual data? → Use vectoramp-large or text-embedding-3-large
  • Cost-sensitive? → Use built-in VectorAmp models (included in your plan)
tip

The embedding model dimensions must match the dataset dimensions. A dataset created with 1536 dimensions only accepts 1536-dimensional vectors.