config

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: May 24, 2025 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package config provides configuration management for AI models, including OpenAI, Claude, and Gemini. It handles model-specific settings, environment variable loading, and parameter validation.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ParseModelParams

func ParseModelParams(paramsStr string) (map[string]string, error)

ParseModelParams parses model parameters from a comma-separated string Format: "temperature=0.8,max_tokens=2048,model=gpt-4"

Types

type ClaudeConfig

type ClaudeConfig struct {
	Model         string // Claude model to use (e.g., "claude-3-opus-20240229", "claude-3-sonnet-20240229")
	SystemMessage string // System message for Claude
}

ClaudeConfig holds Anthropic Claude-specific configuration

type GeminiConfig

type GeminiConfig struct {
	Model          string            // Gemini model to use (e.g., "gemini-pro", "gemini-1.5-pro")
	SafetySettings map[string]string // Safety settings for Gemini
}

GeminiConfig holds Google Gemini-specific configuration

type ModelConfig

type ModelConfig struct {
	// Common parameters
	Temperature      float64 // Controls randomness (0.0-1.0)
	MaxTokens        int     // Maximum response length
	TopP             float64 // Nucleus sampling parameter (0.0-1.0)
	FrequencyPenalty float64 // Penalize frequent tokens (-2.0 to 2.0)
	PresencePenalty  float64 // Penalize new tokens based on presence (-2.0 to 2.0)

	// Fallback configuration
	FallbackModels []string // Models to fallback to if primary fails
	MaxRetries     int      // Maximum retry attempts for each model

	// Model-specific configurations
	OpenAIConfig *OpenAIConfig
	ClaudeConfig *ClaudeConfig
	GeminiConfig *GeminiConfig
}

ModelConfig defines common configuration parameters for AI models

func DefaultModelConfig

func DefaultModelConfig() *ModelConfig

DefaultModelConfig returns default configuration values

func NewModelConfig

func NewModelConfig() *ModelConfig

NewModelConfig creates a new model configuration with default values

func (*ModelConfig) LoadFromEnvironment

func (mc *ModelConfig) LoadFromEnvironment()

LoadFromEnvironment loads model configuration from environment variables

func (*ModelConfig) UpdateFromParams

func (mc *ModelConfig) UpdateFromParams(params map[string]string) error

UpdateFromParams updates the configuration based on the provided parameters

func (*ModelConfig) Validate

func (mc *ModelConfig) Validate() error

Validate validates the configuration values

type OpenAIConfig

type OpenAIConfig struct {
	Model         string // GPT model to use (e.g., "gpt-4", "gpt-3.5-turbo")
	SystemMessage string // System message for chat completions
}

OpenAIConfig holds OpenAI-specific configuration

Jump to

Keyboard shortcuts

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