Types
CreateEmbeddingRequest
CreateEmbeddingRequest type {
input: Any,
model: Str,
encoding_format: EncodingFormat?,
dimensions: Int?,
user: Str?
}
CreateEmbeddingResponse
CreateEmbeddingResponse type {
object: Str,
data: Vec,
model: Str,
usage: EmbeddingUsage
}
Embedding
Embedding type {
object: Str,
embedding: Vec,
index: Int
}
EmbeddingUsage
EmbeddingUsage type {
prompt_tokens: Int,
total_tokens: Int
}
EncodingFormat
Functions
cosine-similarity
fn (a: Vec, b: Vec): Dec
Calculate cosine similarity between two embedding vectors. Returns a value between -1 and 1, where 1 means identical.
Example
vec1 embed("embedding-beta-v1", "Hello world")
vec2 embed("embedding-beta-v1", "Hi there")
similarity cosine-similarity(vec1, vec2)
// 0.89
create
fn (request: CreateEmbeddingRequest): CreateEmbeddingResponse | HttpError
Create embeddings for text input(s).
Example - Single text
response create({
model: "embedding-beta-v1",
input: "The quick brown fox jumps over the lazy dog"
})
embedding response.data[0].embedding
// [0.0123, -0.0456, ...]
Example - Multiple texts
response create({
model: "embedding-beta-v1",
input: ["Hello world", "Goodbye world"]
})
// response.data[0].embedding - embedding for "Hello world"
// response.data[1].embedding - embedding for "Goodbye world"
embed
fn (model: Str, text: Str): Vec | HttpError
Simple embedding - get the embedding vector for a single text.
Example
vector embed("embedding-beta-v1", "Hello world")
// [0.0123, -0.0456, ...]
embed-batch
fn (model: Str, texts: Vec): Vec> | HttpError
Batch embedding - get embedding vectors for multiple texts.
Example
vectors embed-batch("embedding-beta-v1", ["Hello", "World"])
// [[0.0123, ...], [0.0456, ...]]