namespace BotSharp.Plugin.KnowledgeBase.Services; public partial class KnowledgeService : IKnowledgeService { private readonly IServiceProvider _services; private readonly KnowledgeBaseSettings _settings; private readonly ITextChopper _textChopper; private readonly ILogger _logger; public KnowledgeService( IServiceProvider services, KnowledgeBaseSettings settings, ITextChopper textChopper, ILogger logger) { _services = services; _settings = settings; _textChopper = textChopper; _logger = logger; } private IVectorDb GetVectorDb() { var db = _services.GetServices().FirstOrDefault(x => x.Provider == _settings.VectorDb.Provider); return db; } private IGraphDb GetGraphDb() { var db = _services.GetServices().FirstOrDefault(x => x.Provider == _settings.GraphDb.Provider); return db; } private ITextEmbedding GetTextEmbedding(string collection) { return KnowledgeSettingHelper.GetTextEmbeddingSetting(_services, collection); } }