Spaces:
Configuration error
Configuration error
| package schema | |
| import ( | |
| "context" | |
| "time" | |
| functions "github.com/mudler/LocalAI/pkg/functions" | |
| ) | |
| // APIError provides error information returned by the OpenAI API. | |
| type APIError struct { | |
| Code any `json:"code,omitempty"` | |
| Message string `json:"message"` | |
| Param *string `json:"param,omitempty"` | |
| Type string `json:"type"` | |
| } | |
| type ErrorResponse struct { | |
| Error *APIError `json:"error,omitempty"` | |
| } | |
| type OpenAIUsage struct { | |
| PromptTokens int `json:"prompt_tokens"` | |
| CompletionTokens int `json:"completion_tokens"` | |
| TotalTokens int `json:"total_tokens"` | |
| } | |
| type Item struct { | |
| Embedding []float32 `json:"embedding"` | |
| Index int `json:"index"` | |
| Object string `json:"object,omitempty"` | |
| // Images | |
| URL string `json:"url,omitempty"` | |
| B64JSON string `json:"b64_json,omitempty"` | |
| } | |
| type OpenAIResponse struct { | |
| Created int `json:"created,omitempty"` | |
| Object string `json:"object,omitempty"` | |
| ID string `json:"id,omitempty"` | |
| Model string `json:"model,omitempty"` | |
| Choices []Choice `json:"choices,omitempty"` | |
| Data []Item `json:"data,omitempty"` | |
| Usage OpenAIUsage `json:"usage"` | |
| } | |
| type Choice struct { | |
| Index int `json:"index"` | |
| FinishReason string `json:"finish_reason"` | |
| Message *Message `json:"message,omitempty"` | |
| Delta *Message `json:"delta,omitempty"` | |
| Text string `json:"text,omitempty"` | |
| } | |
| type Content struct { | |
| Type string `json:"type" yaml:"type"` | |
| Text string `json:"text" yaml:"text"` | |
| ImageURL ContentURL `json:"image_url" yaml:"image_url"` | |
| AudioURL ContentURL `json:"audio_url" yaml:"audio_url"` | |
| VideoURL ContentURL `json:"video_url" yaml:"video_url"` | |
| } | |
| type ContentURL struct { | |
| URL string `json:"url" yaml:"url"` | |
| } | |
| type Message struct { | |
| // The message role | |
| Role string `json:"role,omitempty" yaml:"role"` | |
| // The message name (used for tools calls) | |
| Name string `json:"name,omitempty" yaml:"name"` | |
| // The message content | |
| Content interface{} `json:"content" yaml:"content"` | |
| StringContent string `json:"string_content,omitempty" yaml:"string_content,omitempty"` | |
| StringImages []string `json:"string_images,omitempty" yaml:"string_images,omitempty"` | |
| StringVideos []string `json:"string_videos,omitempty" yaml:"string_videos,omitempty"` | |
| StringAudios []string `json:"string_audios,omitempty" yaml:"string_audios,omitempty"` | |
| // A result of a function call | |
| FunctionCall interface{} `json:"function_call,omitempty" yaml:"function_call,omitempty"` | |
| ToolCalls []ToolCall `json:"tool_calls,omitempty" yaml:"tool_call,omitempty"` | |
| } | |
| type ToolCall struct { | |
| Index int `json:"index"` | |
| ID string `json:"id"` | |
| Type string `json:"type"` | |
| FunctionCall FunctionCall `json:"function"` | |
| } | |
| type FunctionCall struct { | |
| Name string `json:"name,omitempty"` | |
| Arguments string `json:"arguments"` | |
| } | |
| type OpenAIModel struct { | |
| ID string `json:"id"` | |
| Object string `json:"object"` | |
| } | |
| type DeleteAssistantResponse struct { | |
| ID string `json:"id"` | |
| Object string `json:"object"` | |
| Deleted bool `json:"deleted"` | |
| } | |
| // File represents the structure of a file object from the OpenAI API. | |
| type File struct { | |
| ID string `json:"id"` // Unique identifier for the file | |
| Object string `json:"object"` // Type of the object (e.g., "file") | |
| Bytes int `json:"bytes"` // Size of the file in bytes | |
| CreatedAt time.Time `json:"created_at"` // The time at which the file was created | |
| Filename string `json:"filename"` // The name of the file | |
| Purpose string `json:"purpose"` // The purpose of the file (e.g., "fine-tune", "classifications", etc.) | |
| } | |
| type ListFiles struct { | |
| Data []File | |
| Object string | |
| } | |
| type AssistantFileRequest struct { | |
| FileID string `json:"file_id"` | |
| } | |
| type DeleteAssistantFileResponse struct { | |
| ID string `json:"id"` | |
| Object string `json:"object"` | |
| Deleted bool `json:"deleted"` | |
| } | |
| type ImageGenerationResponseFormat string | |
| type ChatCompletionResponseFormatType string | |
| type ChatCompletionResponseFormat struct { | |
| Type ChatCompletionResponseFormatType `json:"type,omitempty"` | |
| } | |
| type JsonSchemaRequest struct { | |
| Type string `json:"type"` | |
| JsonSchema JsonSchema `json:"json_schema"` | |
| } | |
| type JsonSchema struct { | |
| Name string `json:"name"` | |
| Strict bool `json:"strict"` | |
| Schema functions.Item `json:"schema"` | |
| } | |
| type OpenAIRequest struct { | |
| PredictionOptions | |
| Context context.Context `json:"-"` | |
| Cancel context.CancelFunc `json:"-"` | |
| // whisper | |
| File string `json:"file" validate:"required"` | |
| //whisper/image | |
| ResponseFormat interface{} `json:"response_format,omitempty"` | |
| // image | |
| Size string `json:"size"` | |
| // Prompt is read only by completion/image API calls | |
| Prompt interface{} `json:"prompt" yaml:"prompt"` | |
| // Edit endpoint | |
| Instruction string `json:"instruction" yaml:"instruction"` | |
| Input interface{} `json:"input" yaml:"input"` | |
| Stop interface{} `json:"stop" yaml:"stop"` | |
| // Messages is read only by chat/completion API calls | |
| Messages []Message `json:"messages" yaml:"messages"` | |
| // A list of available functions to call | |
| Functions functions.Functions `json:"functions" yaml:"functions"` | |
| FunctionCall interface{} `json:"function_call" yaml:"function_call"` // might be a string or an object | |
| Tools []functions.Tool `json:"tools,omitempty" yaml:"tools"` | |
| ToolsChoice interface{} `json:"tool_choice,omitempty" yaml:"tool_choice"` | |
| Stream bool `json:"stream"` | |
| // Image (not supported by OpenAI) | |
| Mode int `json:"mode"` | |
| Step int `json:"step"` | |
| // A grammar to constrain the LLM output | |
| Grammar string `json:"grammar" yaml:"grammar"` | |
| JSONFunctionGrammarObject *functions.JSONFunctionStructure `json:"grammar_json_functions" yaml:"grammar_json_functions"` | |
| Backend string `json:"backend" yaml:"backend"` | |
| // AutoGPTQ | |
| ModelBaseName string `json:"model_base_name" yaml:"model_base_name"` | |
| } | |
| type ModelsDataResponse struct { | |
| Object string `json:"object"` | |
| Data []OpenAIModel `json:"data"` | |
| } | |