HTTP service for the OpenAI embeddings API.
OpenAI supports :dimensions but has no notion of a task type. A non-nil
:task is rejected rather than dropped - a silently discarded task produces
vectors that look fine and retrieve badly.
Summary
Functions
@spec embed(ExAgent.Providers.OpenAI.t(), [ExAgent.Embeddings.input()], keyword()) :: {:ok, ExAgent.Embeddings.t()} | {:error, ExAgent.Error.t()}
Generates embeddings for inputs.
Options
:model- defaults to"text-embedding-3-small":dimensions- truncate output to this many dimensions:task- unsupported; any non-nil value returns an error:args-encoding_format("float"or"base64") anduser; any other key is rejected
@spec tasks() :: [ExAgent.Embeddings.task()]
Returns the task atoms this service accepts - none.