Documentation
¶
Index ¶
- func NewOpenAICompatibleLargeLanguageModelProvider(llmConfig *settings.LLMConfig) provider.LargeLanguageModelProvider
- func NewOpenAILargeLanguageModelProvider(llmConfig *settings.LLMConfig) provider.LargeLanguageModelProvider
- func NewOpenRouterLargeLanguageModelProvider(llmConfig *settings.LLMConfig) provider.LargeLanguageModelProvider
- type CommonOpenAIChatCompletionsAPILargeLanguageModelAdapter
- func (p *CommonOpenAIChatCompletionsAPILargeLanguageModelAdapter) BuildTextualRequest(c core.Context, uid int64, request *data.LargeLanguageModelRequest, ...) (*http.Request, error)
- func (p *CommonOpenAIChatCompletionsAPILargeLanguageModelAdapter) ParseTextualResponse(c core.Context, uid int64, body []byte, ...) (*data.LargeLanguageModelTextualResponse, error)
- type OpenAIChatCompletionsAPIProvider
- type OpenAIChatCompletionsRequest
- type OpenAIChatCompletionsRequestImageContent
- type OpenAIChatCompletionsRequestImageUrl
- type OpenAIChatCompletionsRequestMessage
- type OpenAIChatCompletionsRequestResponseFormat
- type OpenAIChatCompletionsRequestResponseFormatType
- type OpenAIChatCompletionsResponse
- type OpenAIChatCompletionsResponseChoice
- type OpenAIChatCompletionsResponseMessage
- type OpenAICompatibleChatCompletionsAPIProvider
- type OpenAIMessageRole
- type OpenAIOfficialChatCompletionsAPIProvider
- type OpenRouterChatCompletionsAPIProvider
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 ¶
func (p *CommonOpenAIChatCompletionsAPILargeLanguageModelAdapter) BuildTextualRequest(c core.Context, uid int64, request *data.LargeLanguageModelRequest, responseType data.LargeLanguageModelResponseFormat) (*http.Request, error)
BuildTextualRequest returns the http request by OpenAI common compatible adapter
func (*CommonOpenAIChatCompletionsAPILargeLanguageModelAdapter) ParseTextualResponse ¶
func (p *CommonOpenAIChatCompletionsAPILargeLanguageModelAdapter) ParseTextualResponse(c core.Context, uid int64, body []byte, responseType data.LargeLanguageModelResponseFormat) (*data.LargeLanguageModelTextualResponse, error)
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 ¶
func (p *OpenAICompatibleChatCompletionsAPIProvider) GetModelID() string
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 ¶
func (p *OpenAIOfficialChatCompletionsAPIProvider) GetModelID() string
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 ¶
func (p *OpenRouterChatCompletionsAPIProvider) GetModelID() string
GetModelID returns the model id of OpenRouter chat completions API provider