namespace Api.Settings; public sealed class AiSettings { public string Provider { get; set; } = "OpenAI"; public OpenAiProviderSettings OpenAI { get; set; } = new(); public OllamaProviderSettings Ollama { get; set; } = new(); } public sealed class OpenAiProviderSettings { public string ApiKey { get; set; } = string.Empty; public string ChatModel { get; set; } = "gpt-4o-mini"; public string EmbeddingModel { get; set; } = "text-embedding-3-small"; public int TimeoutSeconds { get; set; } = 90; } public sealed class OllamaProviderSettings { public string BaseUrl { get; set; } = "http://localhost:11434"; public string ChatModel { get; set; } = "llama3.1:8b"; public string EmbeddingModel { get; set; } = "nomic-embed-text"; public int TimeoutSeconds { get; set; } = 180; }