Documentation ¶
Index ¶
- Variables
- func CreateAzureChatCompletionStream(cfg *Config, logger *log.Logger, apiKey string, azureURL string, ...) <-chan string
- func CreateAzureOpenAICompletion(cfg *Config, logger *log.Logger, apiKey string, azureURL string, prompt string, ...) <-chan string
- func CreateChatCompletionStream(cfg *Config, logger *log.Logger, upstreams map[string]Upstream, ...) (<-chan string, string)
- func CreateOpenAIChatCompletionStream(cfg *Config, logger *log.Logger, apiKey string, ...) <-chan string
- func CreateOpenAICompletion(cfg *Config, logger *log.Logger, apiKey string, prompt string, maxTokens int) <-chan string
- func CreateOpenAIRequest(cfg *Config, logger *log.Logger, requestType string, ...) (<-chan string, string)
- func GoogleSearchInterceptor(cfg *Config, logger *log.Logger, requestData *RequestData) error
- func HandleOptionsRequest(w http.ResponseWriter)
- func InitializeLogger(cfg *LogConfig) (*log.Logger, error)
- func PerformGoogleSearch(cfg *Config, logger *log.Logger, query string) (string, error)
- func Response(cfg *Config, logger *log.Logger, w http.ResponseWriter, r *http.Request)
- func SetCommonHeaders(w http.ResponseWriter, contentType string)
- type Choice
- type ClosingResponse
- type Config
- type JSONResponse
- type Listener
- type LogConfig
- type Message
- type RequestData
- type RequestInterceptor
- type Upstream
Constants ¶
This section is empty.
Variables ¶
var ( ErrRequestDataNil = errors.New("requestData is nil") ErrRequestDataMessages = errors.New("requestData.Messages is nil") )
Define static errors.
var ( ErrInvalidFileSettings = fmt.Errorf("invalid file settings for log output") ErrInvalidLogLevel = fmt.Errorf("failed to parse log level") ErrInvalidLogOutput = fmt.Errorf("invalid log output setting") )
var ( ErrJSONUnmarshalFailed = fmt.Errorf("json.Unmarshal failed") ErrJSONMarshalFailed = fmt.Errorf("json.MarshalIndent failed") ErrLoggerNotFound = fmt.Errorf("logger not found in context") ErrInvalidRequestFormat = fmt.Errorf("invalid request format") )
Define static errors.
Functions ¶
func CreateAzureChatCompletionStream ¶
func CreateAzureChatCompletionStream( cfg *Config, logger *log.Logger, apiKey string, azureURL string, messages []openai.ChatCompletionMessage, maxTokens int, ) <-chan string
CreateAzureChatCompletionStream creates a chat completion stream using Azure.
func CreateAzureOpenAICompletion ¶
func CreateAzureOpenAICompletion( cfg *Config, logger *log.Logger, apiKey string, azureURL string, prompt string, maxTokens int, ) <-chan string
CreateAzureOpenAICompletionStream creates an OpenAI completion stream using Azure.
func CreateChatCompletionStream ¶
func CreateChatCompletionStream( cfg *Config, logger *log.Logger, upstreams map[string]Upstream, messages []openai.ChatCompletionMessage, maxTokens int, ) (<-chan string, string)
CreateChatCompletionStream creates a chat completion stream based on the given upstreams and messages, by Default it will use the upstream with the lowest "priority number" and send requests to that one.
func CreateOpenAIChatCompletionStream ¶
func CreateOpenAIChatCompletionStream( cfg *Config, logger *log.Logger, apiKey string, messages []openai.ChatCompletionMessage, maxTokens int, ) <-chan string
CreateOpenAIChatCompletionStream creates a chat completion stream using OpenAI.
func CreateOpenAICompletion ¶
func CreateOpenAICompletion( cfg *Config, logger *log.Logger, apiKey string, prompt string, maxTokens int, ) <-chan string
CreateOpenAICompletion creates a completion stream using OpenAI (non-Azure).
func CreateOpenAIRequest ¶
func CreateOpenAIRequest( cfg *Config, logger *log.Logger, requestType string, messages []openai.ChatCompletionMessage, prompt string, maxTokens int, ) (<-chan string, string)
New version of CreateChatCompletionStream
func GoogleSearchInterceptor ¶
func GoogleSearchInterceptor(cfg *Config, logger *log.Logger, requestData *RequestData) error
Interceptor function.
func HandleOptionsRequest ¶
func HandleOptionsRequest(w http.ResponseWriter)
func InitializeLogger ¶
InitializeLogger initializes the logger with the given log level and other settings.
func PerformGoogleSearch ¶
Function to perform a Google search using the rocketlaunchr/google-search package.
func SetCommonHeaders ¶
func SetCommonHeaders(w http.ResponseWriter, contentType string)
Prevent Content-Security-Policy Errors when used with webapps served from a different domain.
Types ¶
type ClosingResponse ¶
type Config ¶
type Config struct { Upstreams map[string]Upstream `yaml:"upstreams"` Listeners []Listener `yaml:"listeners"` CertFile string `yaml:"certFile"` KeyFile string `yaml:"keyFile"` UseTLS bool `yaml:"useTLS"` LogConfig LogConfig `yaml:"logConfig"` }
func LoadConfig ¶
type JSONResponse ¶
type RequestData ¶
type RequestData struct { RequestType string `json:"requestType"` Prompt string `json:"prompt,omitempty"` Model string `json:"model"` Temperature float64 `json:"temperature"` MaxTokens int `json:"maxTokens"` Messages []openai.ChatCompletionMessage `json:"messages"` }
func ReadAndUnmarshalBody ¶
func ReadAndUnmarshalBody(cfg *Config, logger *log.Logger, resp http.ResponseWriter, req *http.Request) (RequestData, error)
Reads Data from the Client.
type RequestInterceptor ¶
type RequestInterceptor func(cfg *Config, logger *log.Logger, requestData *RequestData) error