Implemented also OpenAI

This commit is contained in:
Samuele Lorefice
2024-12-25 21:38:26 +01:00
parent 4b308b762a
commit c6302112b2
4 changed files with 20 additions and 4 deletions

View File

@@ -1,16 +1,27 @@
using System.Diagnostics;
using System.ClientModel;
using System.ClientModel.Primitives;
using Telegram.Bot;
using Telegram.Bot.Types;
using Telegram.Bot.Types.Enums;
using LMStudio;
using OpenAI;
using OpenAI.Chat;
string baseUrl = Environment.GetEnvironmentVariable("LMSTUDIO_BASE_URL") ?? string.Empty;
string baseUrl = Environment.GetEnvironmentVariable("LMSTUDIO_BASE_URL") ?? "http://lmstudio:8001";
string model = Environment.GetEnvironmentVariable("LMSTUDIO_MODEL") ?? string.Empty;
string apiKey = Environment.GetEnvironmentVariable("LMSTUDIO_API_KEY") ?? string.Empty;
var lmsclient = new ModelConnection(baseUrl, model, apiKey);
Dictionary<long, LMStudio.Chat> lmsChats = new();
var options = new OpenAIClientOptions() {
Endpoint = new(baseUrl),
NetworkTimeout = new TimeSpan(0, 0, 30)
};
var openAiApiKey = new ApiKeyCredential(apiKey);
var openAiClient = new OpenAIClient(openAiApiKey, options);
string token = Environment.GetEnvironmentVariable("TELEGRAM_BOT_TOKEN") ?? string.Empty;
using var cts = new CancellationTokenSource();
var bot = new TelegramBotClient(token, cancellationToken:cts.Token);
@@ -39,4 +50,4 @@ void AddChatToDictionary(long id) {
var chat = new LMStudio.Chat(lmsclient);
//add the entry to the dictionary
lmsChats.Add(id, chat);
}
}