Documentation
¶
Index ¶
- func InitValidator(val *validator.Validate)
- type Adapter
- type AssistantMessage
- type Completion
- type CompletionParams
- type CompletionUsage
- type ContentPart
- type ContentPartImage
- type ContentPartText
- type Embeddings
- type EmbeddingsParams
- type EmbeddingsUsage
- type JSONSchema
- type Message
- type ResponseFormat
- type ResponseFormatJSONSchema
- type ResponseFormatText
- type SystemMessage
- type Tool
- type ToolCall
- type ToolCallFunction
- type ToolFunction
- type ToolMessage
- type UserMessage
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func InitValidator ¶
Types ¶
type Adapter ¶
type Adapter interface {
Completion(ctx context.Context, messages []Message, params CompletionParams) (Completion, error)
Embeddings(ctx context.Context, input string, params EmbeddingsParams) (Embeddings, error)
}
type AssistantMessage ¶
type Completion ¶
type Completion struct {
Message AssistantMessage `json:"message" validate:"required"`
Usage *CompletionUsage `json:"usage,omitempty"`
}
type CompletionParams ¶
type CompletionParams struct {
Model string `json:"model" validate:"required"`
FrequencyPenalty *float64 `json:"frequency_penalty,omitempty" validate:"omitempty,gte=-2.0,lte=2.0"`
PresencePenalty *float64 `json:"presence_penalty,omitempty" validate:"omitempty,gte=-2.0,lte=2.0"`
ResponseFormat *ResponseFormat `json:"response_format,omitempty"`
Stop []string `json:"stop,omitempty" validate:"omitempty,max=4"`
Temperature *float64 `json:"temperature,omitempty" validate:"omitempty,gte=0.0,lte=2.0"`
Tools []Tool `json:"tools,omitempty"`
TopP *float64 `json:"top_p,omitempty" validate:"omitempty,gte=0.0,lte=1.0"`
}
type CompletionUsage ¶
type ContentPart ¶
type ContentPart struct {
OfContentPartText *ContentPartText `json:"text,omitempty"`
OfContentPartImageUrl *ContentPartImage `json:"image_url,omitempty"`
}
type ContentPartImage ¶
type ContentPartImage struct {
ImageUrl string `json:"image_url" validate:"required,url"`
}
type ContentPartText ¶
type ContentPartText struct {
Text string `json:"text" validate:"required"`
}
type Embeddings ¶
type Embeddings struct {
Data []float64 `json:"data" validate:"required,min=1"`
Usage *EmbeddingsUsage `json:"usage,omitempty"`
}
type EmbeddingsParams ¶
type EmbeddingsUsage ¶
type EmbeddingsUsage struct {
PromptTokens int64 `json:"prompt_tokens"`
}
type JSONSchema ¶
type Message ¶
type Message struct {
OfSystemMessage *SystemMessage `json:"system,omitempty"`
OfUserMessage *UserMessage `json:"user,omitempty"`
OfAssistantMessage *AssistantMessage `json:"assistant,omitempty"`
OfToolMessage *ToolMessage `json:"tool,omitempty"`
}
func CreateSystemMessage ¶
func CreateToolMessage ¶
func CreateUserMessage ¶
type ResponseFormat ¶
type ResponseFormat struct {
OfResponseFormatText *ResponseFormatText `json:"text,omitempty"`
OfResponseFormatJSONSchema *ResponseFormatJSONSchema `json:"json_schema,omitempty"`
}
type ResponseFormatJSONSchema ¶
type ResponseFormatJSONSchema struct {
JSONSchema JSONSchema `json:"json_schema" validate:"required"`
}
type ResponseFormatText ¶
type ResponseFormatText struct{}
type SystemMessage ¶
type SystemMessage struct {
Content string `json:"content" validate:"required"`
}
type Tool ¶
type Tool struct {
Function ToolFunction `json:"function" validate:"required"`
}
type ToolCall ¶
type ToolCall struct {
Id string `json:"id" validate:"required"`
Function ToolCallFunction `json:"function" validate:"required"`
}
type ToolCallFunction ¶
type ToolFunction ¶
type ToolMessage ¶
type ToolMessage struct {
ToolCallId string `json:"tool_call_id" validate:"required"`
Content []ContentPartText `json:"content" validate:"required,min=1"`
}
type UserMessage ¶
type UserMessage struct {
Parts []ContentPart `json:"parts" validate:"required,min=1"`
}
Source Files
¶
Click to show internal directories.
Click to hide internal directories.