Documentation
¶
Index ¶
Constants ¶
View Source
const ( // BaseURL is OpenAI HTTP API base URL. BaseURL = "https://api.openai.com" // EmbedAPIVersion is the latest stable embeddings API version. EmbedAPIVersion = "v1" // OrgHeader is an Organization header OrgHeader = "OpenAI-Organization" )
Variables ¶
View Source
var ( // ErrInValidData is returned when the API client fails to decode the returned data. ErrInValidData = errors.New("invalid data") // ErrUnsupportedEncoding is returned when API client attempts to use unsupported encoding format. ErrUnsupportedEncoding = errors.New("unsupported encoding format") )
Functions ¶
func NewEmbedder ¶
func NewEmbedder(opts ...Option) embeddings.Embedder[*EmbeddingRequest]
NewEmbedder creates a client that implements embeddings.Embedder
Types ¶
type APIError ¶
type APIError struct { Err struct { Message string `json:"message"` Type string `json:"type"` Param *string `json:"param,omitempty"` Code any `json:"code,omitempty"` } `json:"error"` }
APIError is open AI API error.
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is an OpenAI HTTP API client.
type Data ¶
type Data struct { Object string `json:"object"` Index int `json:"index"` Embedding []float64 `json:"embedding"` }
Data stores vector embeddings.
type DataGen ¶
type DataGen[T any] struct { Object string `json:"object"` Index int `json:"index"` Embedding T `json:"embedding"` }
DataGen is a generic struct used for deserializing vector embeddings.
type EmbeddingRequest ¶
type EmbeddingRequest struct { Input any `json:"input"` Model Model `json:"model"` User string `json:"user"` EncodingFormat EncodingFormat `json:"encoding_format,omitempty"` // NOTE: only supported in V3 and later Dims int `json:"dimensions,omitempty"` }
EmbeddingRequest is serialized and sent to the API server.
type EmbeddingResponse ¶
type EmbeddingResponse struct { Object string `json:"object"` Data []Data `json:"data"` Model Model `json:"model"` Usage Usage `json:"usage"` }
EmbeddingResponseGen is the API response.
func (*EmbeddingResponse) ToEmbeddings ¶
func (e *EmbeddingResponse) ToEmbeddings() ([]*embeddings.Embedding, error)
ToEmbeddings converts the API response, into a slice of embeddings and returns it.
type EmbeddingResponseGen ¶
type EmbeddingResponseGen[T any] struct { Object string `json:"object"` Data []DataGen[T] `json:"data"` Model Model `json:"model"` Usage Usage `json:"usage"` }
EmbeddingResponseGen is a generic struct used for deserializing API response.
type EncodingFormat ¶
type EncodingFormat string
EncodingFormat for embedding API requests.
const ( EncodingFloat EncodingFormat = "float" // EncodingBase64 makes OpenAI API return embeddings // encoded as base64 string EncodingBase64 EncodingFormat = "base64" )
type Option ¶
type Option func(*Options)
Option is functional option.
func WithHTTPClient ¶
WithHTTPClient sets the HTTP client.
Click to show internal directories.
Click to hide internal directories.