Documentation
¶
Overview ¶
Package llmproxyclient provides an HTTP client for llm-proxy 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") // 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 ¶
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 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 Request ¶
type Request struct {
// contains filtered or unexported fields
}
Request is a validated llm-proxy JSON POST request.
func NewRequest ¶
func NewRequest(input RequestInput) (Request, error)
NewRequest validates external request input.
type RequestInput ¶
type RequestInput struct {
Prompt string
Messages []MessageInput
Model string
WebSearch bool
SystemPrompt string
MaxTokens *int
}
RequestInput is the unvalidated external input for a JSON POST request.