Files
Rafał Tyński 03e2d66ca4 feat(backend): add LLM provider abstraction, contextual ranking and explanations
Add a pluggable LLM provider with an offline template fallback, prompt builder, contextual match scoring (area/location boosts, availability), per-solution explanations and in-memory request limiting for cost control.
2026-10-04 02:52:45 +02:00

24 lines
666 B
C#

namespace TarninaHub.Infrastructure.Llm;
public sealed class LlmSettings
{
public bool Enabled { get; set; }
/// <summary>Provider identifier, e.g. "openai" (OpenAI-compatible chat API).</summary>
public string Provider { get; set; } = "openai";
public string? ApiKey { get; set; }
public string BaseUrl { get; set; } = "https://api.openai.com/v1";
public string Model { get; set; } = "gpt-4o-mini";
public int MaxTokens { get; set; } = 256;
public int MaxRequestsPerMinute { get; set; } = 30;
public int TimeoutSeconds { get; set; } = 20;
public bool IsConfigured => Enabled && !string.IsNullOrWhiteSpace(ApiKey);
}