Skip to content

Commit 4b6c325

Browse files
committed
Set default ModelName as null.
1 parent 17bfcb2 commit 4b6c325

File tree

11 files changed

+35
-27
lines changed

11 files changed

+35
-27
lines changed

src/Infrastructure/BotSharp.Abstraction/Conversations/IConversationStateService.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ public interface IConversationStateService
88
ConversationState Load(string conversationId);
99
string GetState(string name, string defaultValue = "");
1010
ConversationState GetStates();
11-
void SetState(string name, string value);
11+
IConversationStateService SetState(string name, string value);
1212
void CleanState();
1313
void Save();
1414
}

src/Infrastructure/BotSharp.Abstraction/Conversations/Models/IncomingMessageModel.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ public class IncomingMessageModel
1212
/// Model name
1313
/// </summary>
1414
[JsonPropertyName("model")]
15-
public virtual string ModelName { get; set; } = "gpt-3.5-turbo";
15+
public virtual string? ModelName { get; set; } = null;
1616

1717
/// <summary>
1818
/// The sampling temperature to use that controls the apparent creativity of generated completions.

src/Infrastructure/BotSharp.Core/Agents/Services/AgentService.GetAgents.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
using BotSharp.Abstraction.Agents.Models;
22
using BotSharp.Abstraction.Repositories;
3-
using System.IO;
43

54
namespace BotSharp.Core.Agents.Services;
65

@@ -17,6 +16,7 @@ join u in db.Users on ua.UserId equals u.Id
1716
return query.ToList();
1817
}
1918

19+
[MemoryCache(10 * 60)]
2020
public async Task<Agent> GetAgent(string id)
2121
{
2222
var db = _services.GetRequiredService<IBotSharpRepository>();

src/Infrastructure/BotSharp.Core/Conversations/Services/ConversationStateService.cs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public ConversationStateService(ILogger<ConversationStateService> logger,
2929
_states = new ConversationState();
3030
}
3131

32-
public void SetState(string name, string value)
32+
public IConversationStateService SetState(string name, string value)
3333
{
3434
var hooks = _services.GetServices<IConversationHook>();
3535
string preValue = _states.ContainsKey(name) ? _states[name] : "";
@@ -43,6 +43,8 @@ public void SetState(string name, string value)
4343
hook.OnStateChanged(name, preValue, currentValue).Wait();
4444
}
4545
}
46+
47+
return this;
4648
}
4749

4850
public ConversationState Load(string conversationId)
@@ -118,6 +120,12 @@ public string GetState(string name, string defaultValue = "")
118120
{
119121
_states[name] = defaultValue ?? "";
120122
}
123+
124+
if (_states[name] == null)
125+
{
126+
return defaultValue;
127+
}
128+
121129
return _states[name];
122130
}
123131

src/Infrastructure/BotSharp.Core/Infrastructures/CompletionProvider.cs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,16 @@ namespace BotSharp.Core.Infrastructures;
44

55
public class CompletionProvider
66
{
7-
public static IChatCompletion GetChatCompletion(IServiceProvider services)
7+
public static IChatCompletion GetChatCompletion(IServiceProvider services, string? model = null)
88
{
99
var completions = services.GetServices<IChatCompletion>();
10-
// var settings = services.GetRequiredService<ConversationSetting>();
11-
// completions.FirstOrDefault(x => x.GetType().FullName.EndsWith(settings.ChatCompletion));
10+
1211
var state = services.GetRequiredService<IConversationStateService>();
13-
var model = state.GetState("model", "gpt-3.5-turbo");
12+
if (model == null)
13+
{
14+
model = state.GetState("model", "gpt-3.5-turbo");
15+
}
16+
1417
return completions.FirstOrDefault(x => x.ModelName == model);
1518
}
1619
}

src/Infrastructure/BotSharp.Core/Routing/Router.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
using Aspects.Cache;
21
using BotSharp.Abstraction.Agents.Models;
32
using BotSharp.Abstraction.Repositories;
43
using BotSharp.Abstraction.Routing.Models;
@@ -53,11 +52,11 @@ public RoutingItem[] GetRoutingRecords()
5352

5453
public RoutingItem GetRecordByName(string name)
5554
{
56-
return GetRoutingRecords().First(x => x.Name.ToLower() == name.ToLower());
55+
return GetRoutingRecords().FirstOrDefault(x => x.Name.ToLower() == name.ToLower());
5756
}
5857

5958
public RoutingItem GetRecordByAgentId(string id)
6059
{
61-
return GetRoutingRecords().First(x => x.AgentId == id);
60+
return GetRoutingRecords().FirstOrDefault(x => x.AgentId == id);
6261
}
6362
}

src/Infrastructure/BotSharp.Core/Routing/Simulator.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,11 @@ await chatCompletion.GetChatCompletionsAsync(agent, wholeDialogs, async msg
134134

135135
private void SaveStateByArgs(JsonDocument args)
136136
{
137+
if (args == null)
138+
{
139+
return;
140+
}
141+
137142
var stateService = _services.GetRequiredService<IConversationStateService>();
138143
if (args.RootElement is JsonElement root)
139144
{

src/Infrastructure/BotSharp.OpenAPI/Controllers/ConversationController.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,10 @@ public async Task<MessageResponseModel> SendMessage([FromRoute] string agentId,
4444
{
4545
var conv = _services.GetRequiredService<IConversationService>();
4646
conv.SetConversationId(conversationId, input.States);
47-
conv.States.SetState("channel", input.Channel);
48-
conv.States.SetState("model", input.ModelName);
49-
conv.States.SetState("temperature", input.Temperature.ToString());
50-
conv.States.SetState("sampling_factor", input.SamplingFactor.ToString());
47+
conv.States.SetState("channel", input.Channel)
48+
.SetState("model", input.ModelName)
49+
.SetState("temperature", input.Temperature.ToString())
50+
.SetState("sampling_factor", input.SamplingFactor.ToString());
5151

5252
var response = new MessageResponseModel();
5353
var stackMsg = new List<RoleDialogModel>();

src/Plugins/BotSharp.Plugin.AzureOpenAI/Providers/ChatCompletionProvider.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ namespace BotSharp.Plugin.AzureOpenAI.Providers;
2020

2121
public class ChatCompletionProvider : IChatCompletion
2222
{
23-
private readonly AzureOpenAiSettings _settings;
24-
private readonly IServiceProvider _services;
25-
private readonly ILogger _logger;
23+
protected readonly AzureOpenAiSettings _settings;
24+
protected readonly IServiceProvider _services;
25+
protected readonly ILogger _logger;
2626

2727
public virtual string ModelName => "gpt-3.5-turbo";
2828

src/Plugins/BotSharp.Plugin.AzureOpenAI/Providers/GPT4CompletionProvider.cs

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,12 @@ namespace BotSharp.Plugin.AzureOpenAI.Providers;
88

99
public class GPT4CompletionProvider : ChatCompletionProvider
1010
{
11-
private readonly AzureOpenAiSettings _settings;
12-
private readonly IServiceProvider _services;
13-
private readonly ILogger _logger;
14-
1511
public override string ModelName => "gpt-4";
1612

1713
public GPT4CompletionProvider(AzureOpenAiSettings settings,
1814
ILogger<GPT4CompletionProvider> logger,
1915
IServiceProvider services) : base(settings, logger, services)
2016
{
21-
_settings = settings;
22-
_logger = logger;
23-
_services = services;
2417
}
2518

2619
protected override (OpenAIClient, string) GetClient()

0 commit comments

Comments
 (0)