Skip to main content
POST /v1/embeddings converts text into a vector of floating-point numbers. These vectors capture semantic meaning, so similar texts produce similar vectors regardless of exact wording. Common uses:
  • Semantic search — find the most relevant documents for a query
  • RAG (retrieval-augmented generation) — retrieve context before calling a chat model
  • Clustering — group related content without predefined labels
  • Similarity scoring — measure how closely two pieces of text relate

Code examples

from openai import OpenAI

client = OpenAI(api_key="ms-YOUR_KEY", base_url="https://modelswitch.io/v1")

response = client.embeddings.create(
    model="text-embedding-3-small",
    input="ModelSwitch is an AI API gateway",
)
embedding = response.data[0].embedding
print(f"Vector dimensions: {len(embedding)}")

Response

{
  "object": "list",
  "data": [{
    "object": "embedding",
    "index": 0,
    "embedding": [0.0023, -0.0091, 0.0156, "..."]
  }],
  "model": "text-embedding-3-small",
  "usage": { "prompt_tokens": 9, "total_tokens": 9 }
}
The embedding field is an array of floats. Store it in any vector database (Pinecone, pgvector, Weaviate, Chroma, etc.) and use cosine similarity or dot product to compare vectors at query time.

Embedding models

Model IDDimensionsNotes
text-embedding-3-small1536Fast and efficient — good default
text-embedding-3-large3072Higher quality for precision-sensitive tasks
text-embedding-ada-0021536Legacy model
text-embedding-3-small is a good starting point for most use cases. Upgrade to text-embedding-3-large if retrieval quality needs improvement.