MemScan-EDR/src-csharp/MemScanEDR/Models/AIConfig.cs

44 lines
1.2 KiB
C#
Raw Normal View History

namespace MemScanEDR.Models;
public enum AIProvider
{
Heuristic,
OpenAICompatible,
Claude,
Local
}
public class AIConfig
{
public AIProvider Provider { get; set; } = AIProvider.Heuristic;
public string ApiKey { get; set; } = "";
public string BaseUrl { get; set; } = "";
public string Model { get; set; } = "";
public int MaxTokens { get; set; } = 2000;
public double Temperature { get; set; } = 0.3;
public int Timeout { get; set; } = 30;
public static AIConfig DefaultFor(AIProvider provider) => provider switch
{
AIProvider.OpenAICompatible => new AIConfig
{
Provider = AIProvider.OpenAICompatible,
BaseUrl = "https://api.openai.com/v1",
Model = "gpt-4o-mini"
},
AIProvider.Claude => new AIConfig
{
Provider = AIProvider.Claude,
BaseUrl = "https://api.anthropic.com",
Model = "claude-3-5-sonnet-20241022"
},
AIProvider.Local => new AIConfig
{
Provider = AIProvider.Local,
BaseUrl = "http://127.0.0.1:11434",
Model = "llama3"
},
_ => new AIConfig { Provider = AIProvider.Heuristic }
};
}