openai

package
v0.0.0-...-a2b69cf Latest Latest
Warning

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

Go to latest
Published: Oct 9, 2025 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewOpenAICompatibleLargeLanguageModelProvider

func NewOpenAICompatibleLargeLanguageModelProvider(llmConfig *settings.LLMConfig) provider.LargeLanguageModelProvider

NewOpenAICompatibleLargeLanguageModelProvider creates a new OpenAI compatible large language model provider instance

func NewOpenAILargeLanguageModelProvider

func NewOpenAILargeLanguageModelProvider(llmConfig *settings.LLMConfig) provider.LargeLanguageModelProvider

NewOpenAILargeLanguageModelProvider creates a new OpenAI large language model provider instance

func NewOpenRouterLargeLanguageModelProvider

func NewOpenRouterLargeLanguageModelProvider(llmConfig *settings.LLMConfig) provider.LargeLanguageModelProvider

NewOpenRouterLargeLanguageModelProvider creates a new OpenRouter large language model provider instance

Types

type CommonOpenAIChatCompletionsAPILargeLanguageModelAdapter

type CommonOpenAIChatCompletionsAPILargeLanguageModelAdapter struct {
	common.HttpLargeLanguageModelAdapter
	// contains filtered or unexported fields
}

CommonOpenAIChatCompletionsAPILargeLanguageModelAdapter defines the structure of OpenAI common compatible large language model adapter based on chat completions api

func (*CommonOpenAIChatCompletionsAPILargeLanguageModelAdapter) BuildTextualRequest

BuildTextualRequest returns the http request by OpenAI common compatible adapter

func (*CommonOpenAIChatCompletionsAPILargeLanguageModelAdapter) ParseTextualResponse

ParseTextualResponse returns the textual response by OpenAI common compatible adapter

type OpenAIChatCompletionsAPIProvider

type OpenAIChatCompletionsAPIProvider interface {
	// BuildChatCompletionsHttpRequest returns the chat completions http request
	BuildChatCompletionsHttpRequest(c core.Context, uid int64) (*http.Request, error)

	// GetModelID returns the model id if supported, otherwise returns empty string
	GetModelID() string
}

OpenAIChatCompletionsAPIProvider defines the structure of OpenAI chat completions API provider

type OpenAIChatCompletionsRequest

type OpenAIChatCompletionsRequest struct {
	Model          string                                      `json:"model"`
	Stream         bool                                        `json:"stream"`
	Messages       []any                                       `json:"messages"`
	ResponseFormat *OpenAIChatCompletionsRequestResponseFormat `json:"response_format,omitempty"`
}

OpenAIChatCompletionsRequest defines the structure of OpenAI chat completions request

type OpenAIChatCompletionsRequestImageContent

type OpenAIChatCompletionsRequestImageContent struct {
	Type     string                                `json:"type"`
	ImageURL *OpenAIChatCompletionsRequestImageUrl `json:"image_url"`
}

OpenAIChatCompletionsRequestImageContent defines the structure of OpenAI chat completions request image content

type OpenAIChatCompletionsRequestImageUrl

type OpenAIChatCompletionsRequestImageUrl struct {
	Url string `json:"url"`
}

OpenAIChatCompletionsRequestImageUrl defines the structure of OpenAI image url

type OpenAIChatCompletionsRequestMessage

type OpenAIChatCompletionsRequestMessage[T string | []*OpenAIChatCompletionsRequestImageContent] struct {
	Role    OpenAIMessageRole `json:"role"`
	Content T                 `json:"content"`
}

OpenAIChatCompletionsRequestMessage defines the structure of OpenAI chat completions request message

type OpenAIChatCompletionsRequestResponseFormat

type OpenAIChatCompletionsRequestResponseFormat struct {
	Type       OpenAIChatCompletionsRequestResponseFormatType `json:"type"`
	JsonSchema *jsonschema.Schema                             `json:"json_schema,omitempty"`
}

OpenAIChatCompletionsRequestResponseFormat defines the structure of OpenAI chat completions request response format

type OpenAIChatCompletionsRequestResponseFormatType

type OpenAIChatCompletionsRequestResponseFormatType string

OpenAIChatCompletionsRequestResponseFormatType defines the type of OpenAI chat completions request response format

const (
	OpenAIChatCompletionsRequestResponseFormatTypeJsonObject OpenAIChatCompletionsRequestResponseFormatType = "json_object"
	OpenAIChatCompletionsRequestResponseFormatTypeJsonSchema OpenAIChatCompletionsRequestResponseFormatType = "json_schema"
)

OpenAI Chat Completions Request Response Format Types

type OpenAIChatCompletionsResponse

type OpenAIChatCompletionsResponse struct {
	Choices []*OpenAIChatCompletionsResponseChoice `json:"choices"`
}

OpenAIChatCompletionsResponse defines the structure of OpenAI chat completions response

type OpenAIChatCompletionsResponseChoice

type OpenAIChatCompletionsResponseChoice struct {
	Message *OpenAIChatCompletionsResponseMessage `json:"message"`
}

OpenAIChatCompletionsResponseChoice defines the structure of OpenAI chat completions response choice

type OpenAIChatCompletionsResponseMessage

type OpenAIChatCompletionsResponseMessage struct {
	Content *string `json:"content"`
}

OpenAIChatCompletionsResponseMessage defines the structure of OpenAI chat completions response message

type OpenAICompatibleChatCompletionsAPIProvider

type OpenAICompatibleChatCompletionsAPIProvider struct {
	OpenAIChatCompletionsAPIProvider
	OpenAICompatibleBaseURL string
	OpenAICompatibleAPIKey  string
	OpenAICompatibleModelID string
}

OpenAICompatibleChatCompletionsAPIProvider defines the structure of OpenAI compatible chat completions API provider

func (*OpenAICompatibleChatCompletionsAPIProvider) BuildChatCompletionsHttpRequest

func (p *OpenAICompatibleChatCompletionsAPIProvider) BuildChatCompletionsHttpRequest(c core.Context, uid int64) (*http.Request, error)

BuildChatCompletionsHttpRequest returns the chat completions http request by OpenAI compatible chat completions API provider

func (*OpenAICompatibleChatCompletionsAPIProvider) GetModelID

GetModelID returns the model id of OpenAI compatible chat completions API provider

type OpenAIMessageRole

type OpenAIMessageRole string

OpenAIMessageRole defines the role of OpenAI chat completions message

const (
	OpenAIMessageRoleSystem OpenAIMessageRole = "system"
	OpenAIMessageRoleUser   OpenAIMessageRole = "user"
)

OpenAI Message Roles

type OpenAIOfficialChatCompletionsAPIProvider

type OpenAIOfficialChatCompletionsAPIProvider struct {
	OpenAIChatCompletionsAPIProvider
	OpenAIAPIKey  string
	OpenAIModelID string
}

OpenAIOfficialChatCompletionsAPIProvider defines the structure of OpenAI official chat completions API provider

func (*OpenAIOfficialChatCompletionsAPIProvider) BuildChatCompletionsHttpRequest

func (p *OpenAIOfficialChatCompletionsAPIProvider) BuildChatCompletionsHttpRequest(c core.Context, uid int64) (*http.Request, error)

BuildChatCompletionsHttpRequest returns the chat completions http request by OpenAI official chat completions API provider

func (*OpenAIOfficialChatCompletionsAPIProvider) GetModelID

GetModelID returns the model id of OpenAI official chat completions API provider

type OpenRouterChatCompletionsAPIProvider

type OpenRouterChatCompletionsAPIProvider struct {
	OpenAIChatCompletionsAPIProvider
	OpenRouterAPIKey  string
	OpenRouterModelID string
}

OpenRouterChatCompletionsAPIProvider defines the structure of OpenRouter chat completions API provider

func (*OpenRouterChatCompletionsAPIProvider) BuildChatCompletionsHttpRequest

func (p *OpenRouterChatCompletionsAPIProvider) BuildChatCompletionsHttpRequest(c core.Context, uid int64) (*http.Request, error)

BuildChatCompletionsHttpRequest returns the chat completions http request by OpenRouter chat completions API provider

func (*OpenRouterChatCompletionsAPIProvider) GetModelID

GetModelID returns the model id of OpenRouter chat completions API provider

Jump to

Keyboard shortcuts

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