using BotSharp.Abstraction.VectorStorage.Models; namespace BotSharp.Abstraction.VectorStorage; public interface IVectorDb { string Provider { get; } Task DoesCollectionExist(string collectionName); Task> GetCollections(); Task> GetPagedCollectionData(string collectionName, VectorFilter filter); Task> GetCollectionData(string collectionName, IEnumerable ids, bool withPayload = false, bool withVector = false); Task CreateCollection(string collectionName, int dimension); Task DeleteCollection(string collectionName); Task Upsert(string collectionName, Guid id, float[] vector, string text, Dictionary? payload = null); Task> Search(string collectionName, float[] vector, IEnumerable? fields, int limit = 5, float confidence = 0.5f, bool withVector = false); Task DeleteCollectionData(string collectionName, List ids); Task DeleteCollectionAllData(string collectionName); }