Documentation
¶
Overview ¶
Package llmproxyclient provides an HTTP client for llm-proxy v2 JSON POST requests.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // ErrInvalidClientConfig reports invalid llm-proxy client configuration. ErrInvalidClientConfig = errors.New("llm_proxy_client_invalid_config") // ErrInvalidClientRequest reports invalid llm-proxy request input. ErrInvalidClientRequest = errors.New("llm_proxy_client_invalid_request") // ErrInvalidModelProfile reports an unreadable or invalid model-profile document. ErrInvalidModelProfile = errors.New("llm_proxy_client_invalid_model_profile") // ErrClientHTTPFailure reports an unsuccessful llm-proxy HTTP response. ErrClientHTTPFailure = errors.New("llm_proxy_client_http_failure") )
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client calls llm-proxy using a configured HTTP transport.
func (Client) PostMessages ¶ added in v0.2.16
func (client Client) PostMessages(contextValue context.Context, request MessagesRequest) (string, error)
PostMessages sends a v2 JSON POST messages request and returns the response text.
type Config ¶
type Config struct {
// contains filtered or unexported fields
}
Config is validated llm-proxy client configuration.
func NewConfig ¶
func NewConfig(input ConfigInput) (Config, error)
NewConfig validates external client configuration.
func (Config) MessagesPostURL ¶ added in v0.2.16
MessagesPostURL builds the authenticated v2 JSON POST URL for this config.
type ConfigInput ¶
type ConfigInput struct {
BaseURL string
Secret string
Provider string
ModelProfilePath string
ModelProfileReader ModelProfileReader
Timeout time.Duration
}
ConfigInput is the unvalidated external configuration for an llm-proxy client.
type MessageInput ¶ added in v0.2.16
type MessageInput struct {
Role string
Content string
// Order is optional; when any message sets it, every message in the request must set a unique non-negative value.
Order *int
}
MessageInput is an unvalidated chat message for a v2 JSON POST request.
type MessagesRequest ¶ added in v0.2.16
type MessagesRequest struct {
// contains filtered or unexported fields
}
MessagesRequest is a validated v2 messages-only JSON POST request.
func NewMessagesRequest ¶ added in v0.2.16
func NewMessagesRequest(input MessagesRequestInput) (MessagesRequest, error)
NewMessagesRequest validates v2 messages-only request input.
type MessagesRequestInput ¶ added in v0.2.16
type MessagesRequestInput struct {
Messages []MessageInput
Model string
WebSearch bool
MaxTokens *int
}
MessagesRequestInput is the unvalidated external input for a v2 messages-only JSON POST request.
type ModelProfileReader ¶ added in v0.2.34
ModelProfileReader reads the current JSON model-profile document from a configured path.