Merge pull request #258 from hchen2020/master

Fix ChatbotUi models.
This commit is contained in:
Haiping 2024-01-18 09:29:17 -06:00 committed by GitHub
commit 6e8afbab31
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 20 additions and 21 deletions

View file

@ -2,6 +2,7 @@ namespace BotSharp.Abstraction.MLTasks.Settings;
public class LlmModelSetting
{
public string Id { get; set; }
public string Name { get; set; }
public string ApiKey { get; set; }
public string Endpoint { get; set; }

View file

@ -16,6 +16,8 @@ using BotSharp.Abstraction.Conversations;
using BotSharp.Abstraction.Conversations.Models;
using Microsoft.AspNetCore.Authorization;
using BotSharp.Abstraction.Agents.Enums;
using BotSharp.Abstraction.MLTasks;
using BotSharp.Abstraction.MLTasks.Settings;
namespace BotSharp.Plugin.ChatbotUI.Controllers;
@ -35,27 +37,18 @@ public class ChatbotUiController : ControllerBase
[HttpGet("/v1/models")]
public OpenAiModels GetOpenAiModels()
{
var llm = _services.GetRequiredService<ILlmProviderService>();
var models = llm.GetProviderModels("azure-openai").Where(x => x.Type == LlmModelType.Chat)
.Select(x => new AiModel
{
Id = x.Id,
Model = x.Name,
Name = x.Name
}).ToList();
return new OpenAiModels
{
Data = new List<AiModel>
{
new AiModel
{
Id = "gpt-3.5-turbo",
Model = "gpt-3.5-turbo",
Name = "GPT-3.5 Turbo",
MaxLength = 4 * 1024,
TokenLimit = 4 * 1024
},
new AiModel
{
Id = "gpt-4",
Model = "gpt-4",
Name = "GPT-4",
MaxLength = 8 * 1024,
TokenLimit = 8 * 1024
}
}
Data = models,
};
}
@ -73,11 +66,16 @@ public class ChatbotUiController : ControllerBase
.Select(x => new RoleDialogModel(x.Role, x.Content))
.Last();
var llm = _services.GetRequiredService<ILlmProviderService>();
var model = llm.GetProviderModels("azure-openai")
.First(x => x.Type == LlmModelType.Chat && x.Id == input.Model)
.Name;
var conv = _services.GetRequiredService<IConversationService>();
conv.SetConversationId(input.ConversationId, input.States);
conv.States.SetState("channel", input.Channel)
.SetState("provider", input.Provider)
.SetState("model", input.Model)
.SetState("provider", "azure-openai")
.SetState("model", model)
.SetState("temperature", input.Temperature)
.SetState("sampling_factor", input.SamplingFactor);