Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ChatCompletionPayload ¶
type ChatCompletionPayload struct {
Model string `json:"model"`
Messages []llms.MessageContent
Stream bool `json:"stream,omitempty"`
}
type CompletionService ¶
type CompletionService struct {
// contains filtered or unexported fields
}
func NewCompletionService ¶
func NewCompletionService(cfg *Config) (*CompletionService, error)
NewCompletionService creates a new CompletionService with the given configuration.
func (*CompletionService) PerformCompletionStreaming ¶
func (s *CompletionService) PerformCompletionStreaming(ctx context.Context, payload *ChatCompletionPayload, cfg PerformCompletionConfig) (<-chan string, error)
func (*CompletionService) Run ¶
func (s *CompletionService) Run(ctx context.Context, runCfg RunConfig) error
Run runs the completion service with the given configuration.
func (*CompletionService) SetNextCompletionPrefill ¶ added in v0.3.0
func (s *CompletionService) SetNextCompletionPrefill(content string)
type Config ¶
type Config struct {
Backend string `yaml:"backend"`
Model string `yaml:"modelName"`
Stream bool `yaml:"stream"`
MaxTokens int `yaml:"maxTokens"`
SystemPrompt string `yaml:"systemPrompt"`
LogitBias map[string]float64 `yaml:"logitBias"`
CompletionTimeout time.Duration `yaml:"completionTimeout"`
Debug bool `yaml:"debug"`
// API keys
OpenAIAPIKey string `yaml:"openaiAPIKey"`
AnthropicAPIKey string `yaml:"anthropicAPIKey"`
GoogleAPIKey string `yaml:"googleAPIKey"`
}
Config is the configuration for cgpt.
func LoadConfig ¶ added in v0.2.0
LoadConfig loads the config file from the given path. if the file is not found, it returns the default config.
func (*Config) SetDefaults ¶ added in v0.2.0
SetDefaults sets the default values for the config.
type PerformCompletionConfig ¶ added in v0.3.2
type PerformCompletionConfig struct {
// EchoPrefill is a flag that, when set to true, will echo the prefill message to the user.
EchoPrefill bool
// ShowSpinner is a flag that, when set to true, shows a spinner while waiting for the completion.
ShowSpinner bool
}
PerformCompletionConfig is the configuration for the PerformCompletion method, it controls the behavior of the completion with regard to user interaction.
type RunConfig ¶
type RunConfig struct {
// InputString is the input text to complete. If present, this will be used instead of reading from a file.
// This will only be used for the first completion when either running in continuous mode or when running multiple completions.
InputString string
// InputFile is the file to read input from. Use "-" for stdin.
InputFile string
// Continuous will run the completion API in a loop, using the previous output as the input for the next request.
Continuous bool
// Stream will stream results as they come in.
Stream bool
// Prefill is the message to prefill the assistant with.
// This will only be used for the first completion if more than one completion is run.
// By default, it will be printed before the assistant's response.
Prefill string
// EchoPrefill is a flag that, when set to true, will echo the prefill message to the user.
EchoPrefill bool
// HistoryIn is the file to read cgpt history from.
HistoryIn string
// HistoryOut is the file to store cgpt history in.
HistoryOut string
// NCompletions is the number of completions to complete in a history-enabled context.
NCompletions int
// Verbose will enable verbose output.
Verbose bool
// DebugMode will enable debug output.
DebugMode bool
// ReadlineHistoryFile is the file to store readline history in.
ReadlineHistoryFile string
// MaximumTimeout is the maximum time to wait for a response.
MaximumTimeout time.Duration
// ShowSpinner is a flag that, when set to true, shows a spinner while waiting for the completion.
ShowSpinner bool
}
RunConfig is the configuration for the Run method.
Click to show internal directories.
Click to hide internal directories.