Skip to main content

Embeddings & chunking

resp, err := client.CreateEmbedding(ctx,
"hello world",
"openai/text-embedding-3-small",
)
if err != nil { return err }
vec := resp.Data[0].Embedding

For batch input, use CreateEmbeddings with []string:

resp, _ := client.CreateEmbeddings(ctx,
[]string{"doc one", "doc two"},
"openai/text-embedding-3-small",
)

Long documents

Use the built-in chunker to split oversized inputs before embedding. See examples/embedding-chunking/main.go — it covers chunk sizing, batching, and stitching results back together.

Discovering embedding models

models, _ := client.ListEmbeddingsModels(ctx)