Lunos logoLunos

Embeddings

Convert text into numeric vectors for semantic search, RAG, clustering, or similarity matching.

Basic Usage

const response = await client.embeddings.create({
  model: "openai/text-embedding-3-small",
  input: "The quick brown fox",
  dimensions: 512,
});

console.log(response.data[0].embedding.length); // 512

Parameters

Parameter Type Description
model string Embedding model identifier
input string | string[] Text to embed (single or batch)
dimensions number Optional: reduce vector size
encoding_format 'float' | 'base64' Output format

Batch Embeddings

Embed multiple texts in a single request:

const response = await client.embeddings.create({
  model: "openai/text-embedding-3-small",
  input: [
    "First document",
    "Second document",
    "Third document",
  ],
});

// response.data[0].embedding → vector for "First document"
// response.data[1].embedding → vector for "Second document"
// response.data[2].embedding → vector for "Third document"

Response Format

interface EmbeddingResponse {
  object: 'list';
  data: EmbeddingObject[];
  model: string;
  usage: { prompt_tokens: number; total_tokens: number };
}

interface EmbeddingObject {
  object: 'embedding';
  embedding: number[];
  index: number;
}

Use Cases

  • Semantic search — Find documents similar to a query
  • RAG — Retrieve relevant context for LLM prompts
  • Clustering — Group similar texts together
  • Recommendations — Find similar items
  • Anomaly detection — Identify outliers in text data