Fix llm selection bug.
This commit is contained in:
parent
d02b16d4d7
commit
57122f7833
|
|
@ -6,6 +6,6 @@ public interface ILlmProviderService
|
|||
{
|
||||
LlmModelSetting GetSetting(string provider, string model);
|
||||
List<string> GetProviders();
|
||||
LlmModelSetting GetProviderModel(string provider, string id, bool multiModal = false);
|
||||
LlmModelSetting GetProviderModel(string provider, string id, bool? multiModal = null);
|
||||
List<LlmModelSetting> GetProviderModels(string provider);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ public class CompletionProvider
|
|||
string? provider = null,
|
||||
string? model = null,
|
||||
string? modelId = null,
|
||||
bool multiModal = false,
|
||||
bool? multiModal = null,
|
||||
AgentLlmConfig? agentConfig = null)
|
||||
{
|
||||
var completions = services.GetServices<IChatCompletion>();
|
||||
|
|
@ -59,7 +59,7 @@ public class CompletionProvider
|
|||
string? provider = null,
|
||||
string? model = null,
|
||||
string? modelId = null,
|
||||
bool multiModal = false,
|
||||
bool? multiModal = null,
|
||||
AgentLlmConfig? agentConfig = null)
|
||||
{
|
||||
var agentSetting = services.GetRequiredService<AgentSettings>();
|
||||
|
|
@ -82,7 +82,7 @@ public class CompletionProvider
|
|||
{
|
||||
var modelIdentity = state.ContainsState("model_id") ? state.GetState("model_id") : modelId;
|
||||
var llmProviderService = services.GetRequiredService<ILlmProviderService>();
|
||||
model = llmProviderService.GetProviderModel(provider, modelIdentity, multiModal)?.Name;
|
||||
model = llmProviderService.GetProviderModel(provider, modelIdentity, multiModal: multiModal)?.Name;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -44,11 +44,15 @@ public class LlmProviderService : ILlmProviderService
|
|||
?.Models ?? new List<LlmModelSetting>();
|
||||
}
|
||||
|
||||
public LlmModelSetting GetProviderModel(string provider, string id, bool multiModal = false)
|
||||
public LlmModelSetting GetProviderModel(string provider, string id, bool? multiModal = null)
|
||||
{
|
||||
var models = GetProviderModels(provider)
|
||||
.Where(x => x.Id == id && x.MultiModal == multiModal)
|
||||
.ToList();
|
||||
.Where(x => x.Id == id);
|
||||
|
||||
if (multiModal.HasValue)
|
||||
{
|
||||
models = models.Where(x => x.MultiModal == multiModal);
|
||||
}
|
||||
|
||||
var random = new Random();
|
||||
var index = random.Next(0, models.Count());
|
||||
|
|
|
|||
Loading…
Reference in a new issue