using OpenAI; using System.ClientModel; namespace BotSharp.Plugin.OpenAI.Providers; public class ProviderHelper { public static OpenAIClient GetClient(string provider, string model, IServiceProvider services) { var settingsService = services.GetRequiredService(); var settings = settingsService.GetSetting(provider, model); var options = !string.IsNullOrEmpty(settings.Endpoint) ? new OpenAIClientOptions { Endpoint = new Uri(settings.Endpoint) } : null; return new OpenAIClient(new ApiKeyCredential(settings.ApiKey), options); } public static List GetChatSamples(List lines) { var samples = new List(); for (int i = 0; i < lines.Count; i++) { var line = lines[i]; if (string.IsNullOrEmpty(line.Trim())) { continue; } var role = line.Substring(0, line.IndexOf(' ') - 1).Trim(); var content = line.Substring(line.IndexOf(' ') + 1).Trim(); // comments if (role == "##") { continue; } samples.Add(new RoleDialogModel(role, content)); } return samples; } }