TypeScript SDKGateway
Embeddings
Generate normalized vector embeddings through Nirmos Gateway.
Use nirmos.gateway.embeddings.create with one string or a batch of strings.
const response = await nirmos.gateway.embeddings.create({
model: "openai/text-embedding-3-small",
input: [
"Nirmos provides model routing.",
"Managed prompts can change without redeployment.",
],
});
for (const embedding of response.embeddings) {
console.log(embedding.index, embedding.values?.length);
}Dimensions
Models that support reduced dimensions accept dimensions:
const response = await nirmos.gateway.embeddings.create({
model: "openai/text-embedding-3-large",
input: "Vectorize this text",
dimensions: 1024,
});Check model capabilities before setting a custom dimension.
Base64 encoding
const response = await nirmos.gateway.embeddings.create({
model: "openai/text-embedding-3-small",
input: "Compact transport",
encoding: "base64",
});
console.log(response.embeddings[0]?.base64);An embedding contains either values or base64.
Response and usage
type EmbeddingResponse = {
model: string;
embeddings: Array<
{ index: number; values: number[] } | { index: number; base64: string }
>;
usage: {
inputTokens: number;
outputTokens: number;
totalTokens: number;
};
metadata: RequestMetadata;
};Use batching when the selected model and application latency budget allow it. Preserve each index when mapping vectors back to source inputs.