model

package
v0.0.0-...-fea90a2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 6, 2024 License: GPL-3.0 Imports: 0 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ContentTypeText     = "text"
	ContentTypeImageURL = "image_url"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Error

type Error struct {
	Message string `json:"message"`
	Type    string `json:"type"`
	Param   string `json:"param"`
	Code    any    `json:"code"`
}

type ErrorWithStatusCode

type ErrorWithStatusCode struct {
	Error
	StatusCode int `json:"status_code"`
}

type Function

type Function struct {
	Description string `json:"description,omitempty"`
	Name        string `json:"name,omitempty"`       // when splicing claude tools stream messages, it is empty
	Parameters  any    `json:"parameters,omitempty"` // request
	Arguments   any    `json:"arguments,omitempty"`  // response
}

type GeneralOpenAIRequest

type GeneralOpenAIRequest struct {
	Messages         []Message       `json:"messages,omitempty"`
	Model            string          `json:"model,omitempty"`
	FrequencyPenalty float64         `json:"frequency_penalty,omitempty"`
	MaxTokens        int             `json:"max_tokens,omitempty"`
	N                int             `json:"n,omitempty"`
	PresencePenalty  float64         `json:"presence_penalty,omitempty"`
	ResponseFormat   *ResponseFormat `json:"response_format,omitempty"`
	Seed             float64         `json:"seed,omitempty"`
	Stream           bool            `json:"stream,omitempty"`
	Temperature      float64         `json:"temperature,omitempty"`
	TopP             float64         `json:"top_p,omitempty"`
	TopK             int             `json:"top_k,omitempty"`
	Tools            []Tool          `json:"tools,omitempty"`
	ToolChoice       any             `json:"tool_choice,omitempty"`
	FunctionCall     any             `json:"function_call,omitempty"`
	Functions        any             `json:"functions,omitempty"`
	User             string          `json:"user,omitempty"`
	Prompt           any             `json:"prompt,omitempty"`
	Input            any             `json:"input,omitempty"`
	EncodingFormat   string          `json:"encoding_format,omitempty"`
	Dimensions       int             `json:"dimensions,omitempty"`
	Instruction      string          `json:"instruction,omitempty"`
	Size             string          `json:"size,omitempty"`
}

func (GeneralOpenAIRequest) ParseInput

func (r GeneralOpenAIRequest) ParseInput() []string

type ImageRequest

type ImageRequest struct {
	Model          string `json:"model"`
	Prompt         string `json:"prompt" binding:"required"`
	N              int    `json:"n,omitempty"`
	Size           string `json:"size,omitempty"`
	Quality        string `json:"quality,omitempty"`
	ResponseFormat string `json:"response_format,omitempty"`
	Style          string `json:"style,omitempty"`
	User           string `json:"user,omitempty"`
}

type ImageURL

type ImageURL struct {
	Url    string `json:"url,omitempty"`
	Detail string `json:"detail,omitempty"`
}

type Message

type Message struct {
	Role       string  `json:"role,omitempty"`
	Content    any     `json:"content,omitempty"`
	Name       *string `json:"name,omitempty"`
	ToolCalls  []Tool  `json:"tool_calls,omitempty"`
	ToolCallId string  `json:"tool_call_id,omitempty"`
}

func (Message) IsStringContent

func (m Message) IsStringContent() bool

func (Message) ParseContent

func (m Message) ParseContent() []MessageContent

func (Message) StringContent

func (m Message) StringContent() string

type MessageContent

type MessageContent struct {
	Type     string    `json:"type,omitempty"`
	Text     string    `json:"text"`
	ImageURL *ImageURL `json:"image_url,omitempty"`
}

type ResponseFormat

type ResponseFormat struct {
	Type string `json:"type,omitempty"`
}

type Tool

type Tool struct {
	Id       string   `json:"id,omitempty"`
	Type     string   `json:"type,omitempty"` // when splicing claude tools stream messages, it is empty
	Function Function `json:"function"`
}

type Usage

type Usage struct {
	PromptTokens     int `json:"prompt_tokens"`
	CompletionTokens int `json:"completion_tokens"`
	TotalTokens      int `json:"total_tokens"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL