diff --git a/.gitignore b/.gitignore index 2a8df80bc..5686213a5 100644 --- a/.gitignore +++ b/.gitignore @@ -226,3 +226,4 @@ _ref_preview/ # Claude Code session artifacts in subdirectories (not root .claude/) Generation/**/.claude/ +.keys/ diff --git a/Generation/Converters/Argumentum.AssetConverter/DatasetUpdater/DatasetUpdaterConfig.cs b/Generation/Converters/Argumentum.AssetConverter/DatasetUpdater/DatasetUpdaterConfig.cs index 953c3c674..75435de9f 100644 --- a/Generation/Converters/Argumentum.AssetConverter/DatasetUpdater/DatasetUpdaterConfig.cs +++ b/Generation/Converters/Argumentum.AssetConverter/DatasetUpdater/DatasetUpdaterConfig.cs @@ -31,6 +31,10 @@ public class DatasetUpdaterConfig public string Model { get; set; } = "gpt-5.4-mini"; + public string? BaseUrl { get; set; } + + public int? MaxOutputTokens { get; set; } + public int MaxTokensPerMinute { get; set; } = 70000; public DivisionMode DivisionMode { get; set; } @@ -469,6 +473,8 @@ private async Task DoChatGPTCall(CancellationToken ct, List DialogPrompts { get; set; } = new(); @@ -32,7 +36,15 @@ public ChatClient ChatClient { if (_chatClient == null) { - _openAIClient = new OpenAI.OpenAIClient(ApiKey); + if (!string.IsNullOrEmpty(BaseUrl)) + { + var options = new OpenAI.OpenAIClientOptions { Endpoint = new Uri(BaseUrl) }; + _openAIClient = new OpenAI.OpenAIClient(new System.ClientModel.ApiKeyCredential(ApiKey), options); + } + else + { + _openAIClient = new OpenAI.OpenAIClient(ApiKey); + } _chatClient = _openAIClient.GetChatClient(Model); } return _chatClient; @@ -77,6 +89,11 @@ public async Task Send(CancellationToken cancellationToken, Action 0) { foreach (var func in Functions)