blob: 556bc59ba3fe6baa5ee713fbb15b04dfa96eeb53 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
namespace Tango.Portal.Chat.Web.Services
{
public enum LlmProvider
{
OpenAI,
Claude
}
public sealed class LlmOptions
{
// Provider selection: OpenAI, AzureOpenAI, or Claude
public LlmProvider Provider { get; set; } = LlmProvider.OpenAI;
// If using OpenAI, set Provider = OpenAI and Endpoint = https://api.openai.com/v1/chat/completions
// If using Claude, set Provider = Claude and Endpoint = https://api.anthropic.com/v1/messages
public string Endpoint { get; set; } = string.Empty;
public string ApiKey { get; set; } = string.Empty;
public string Model { get; set; } = "gpt-4o-mini"; // or your Azure deployment name, or claude-3-5-sonnet-20241022
public double Temperature { get; set; } = 0.2;
public string AnswererAssistantId { get; set; } = string.Empty; // NEW
public string DocsAssistantId { get; set; } = string.Empty; // NEW
// Claude-specific settings
public string ClaudeApiKey { get; set; } = string.Empty;
public string ClaudeModel { get; set; } = "claude-3-5-sonnet-20241022";
public string ClaudeEndpoint { get; set; } = "https://api.anthropic.com/v1/messages";
public int MaxTokens { get; set; } = 4000;
}
public sealed class AdxOptions
{
public string ClusterUri { get; set; } = string.Empty;
public string Database { get; set; } = string.Empty;
public string TenantId { get; set; } = string.Empty;
public string ClientId { get; set; } = string.Empty;
public string ClientSecret { get; set; } = string.Empty;
}
public sealed class AzureStorageOptions
{
public string ConnectionString { get; set; } = string.Empty;
}
public sealed class N8NOptions
{
public string URL { get; set; } = string.Empty;
public string User { get; set; } = string.Empty;
public string Password { get; set; } = string.Empty;
}
}
|