namespace ChatBot.Models.Configuration { /// /// Configuration settings for AI service /// public class AISettings { /// /// Temperature for AI response generation (0.0 to 2.0) /// Lower values make responses more focused and deterministic /// Higher values make responses more random and creative /// public double Temperature { get; set; } = 0.7; /// /// Path to the system prompt file /// public string SystemPromptPath { get; set; } = "Prompts/system-prompt.txt"; /// /// System prompt content (loaded from file) /// public string SystemPrompt { get; set; } = string.Empty; /// /// Maximum number of retry attempts for failed requests /// public int MaxRetryAttempts { get; set; } = 3; /// /// Delay between retry attempts in milliseconds /// public int RetryDelayMs { get; set; } = 1000; /// /// Request timeout in seconds /// public int RequestTimeoutSeconds { get; set; } = 60; /// /// Enable gradual message history compression /// public bool EnableHistoryCompression { get; set; } = true; /// /// Maximum number of messages before compression starts /// public int CompressionThreshold { get; set; } = 20; /// /// Target number of messages after compression /// public int CompressionTarget { get; set; } = 10; /// /// Minimum message length to be considered for summarization (in characters) /// public int MinMessageLengthForSummarization { get; set; } = 50; /// /// Maximum length of summarized message (in characters) /// public int MaxSummarizedMessageLength { get; set; } = 200; /// /// Enable exponential backoff for retry attempts /// public bool EnableExponentialBackoff { get; set; } = true; /// /// Maximum retry delay in milliseconds /// public int MaxRetryDelayMs { get; set; } = 30000; /// /// Timeout for compression operations in seconds /// public int CompressionTimeoutSeconds { get; set; } = 30; /// /// Timeout for status check operations in seconds /// public int StatusCheckTimeoutSeconds { get; set; } = 10; } }