diff --git a/src/Plugins/BotSharp.Plugin.KnowledgeBase/Helpers/KnowledgeSettingHelper.cs b/src/Plugins/BotSharp.Plugin.KnowledgeBase/Helpers/KnowledgeSettingHelper.cs index 137579a7..08ad2c49 100644 --- a/src/Plugins/BotSharp.Plugin.KnowledgeBase/Helpers/KnowledgeSettingHelper.cs +++ b/src/Plugins/BotSharp.Plugin.KnowledgeBase/Helpers/KnowledgeSettingHelper.cs @@ -4,10 +4,12 @@ public static class KnowledgeSettingHelper { public static ITextEmbedding GetTextEmbeddingSetting(IServiceProvider services, string collectionName) { + var settings = services.GetRequiredService(); var db = services.GetRequiredService(); var configs = db.GetKnowledgeCollectionConfigs(new VectorCollectionConfigFilter { - CollectionNames = new[] { collectionName } + CollectionNames = [collectionName], + VectorStroageProviders = [settings.VectorDb.Provider] }); var found = configs?.FirstOrDefault()?.TextEmbedding; @@ -17,7 +19,6 @@ public static class KnowledgeSettingHelper if (found == null) { - var settings = services.GetRequiredService(); provider = settings.Default.TextEmbedding.Provider; model = settings.Default.TextEmbedding.Model; dimension = settings.Default.TextEmbedding.Dimension; diff --git a/src/Plugins/BotSharp.Plugin.KnowledgeBase/Services/KnowledgeService.cs b/src/Plugins/BotSharp.Plugin.KnowledgeBase/Services/KnowledgeService.cs index 64ae2a47..57003c5f 100644 --- a/src/Plugins/BotSharp.Plugin.KnowledgeBase/Services/KnowledgeService.cs +++ b/src/Plugins/BotSharp.Plugin.KnowledgeBase/Services/KnowledgeService.cs @@ -31,18 +31,9 @@ public partial class KnowledgeService : IKnowledgeService return db; } - private ITextEmbedding GetTextEmbedding(string collection) + private ITextEmbedding GetTextEmbedding(string collectionName) { - return KnowledgeSettingHelper.GetTextEmbeddingSetting(_services, collection); - } - - private VectorCollectionConfig? GetVectorCollectionConfig(string collection) - { - var db = _services.GetRequiredService(); - return db.GetKnowledgeCollectionConfigs(new VectorCollectionConfigFilter - { - CollectionNames = new[] { collection } - })?.FirstOrDefault(); + return KnowledgeSettingHelper.GetTextEmbeddingSetting(_services, collectionName); } private async Task GetUserId() diff --git a/src/Plugins/BotSharp.Plugin.MongoStorage/Repository/MongoRepository.KnowledgeBase.cs b/src/Plugins/BotSharp.Plugin.MongoStorage/Repository/MongoRepository.KnowledgeBase.cs index 73352dee..b4c6e3b9 100644 --- a/src/Plugins/BotSharp.Plugin.MongoStorage/Repository/MongoRepository.KnowledgeBase.cs +++ b/src/Plugins/BotSharp.Plugin.MongoStorage/Repository/MongoRepository.KnowledgeBase.cs @@ -13,6 +13,7 @@ public partial class MongoRepository Id = Guid.NewGuid().ToString(), Name = x.Name, Type = x.Type, + VectorStorage = KnowledgeVectorStorageConfigMongoModel.ToMongoModel(x.VectorStorage), TextEmbedding = KnowledgeEmbeddingConfigMongoModel.ToMongoModel(x.TextEmbedding) })?.ToList() ?? new List();