using BotSharp.Abstraction.Graph.Models; using BotSharp.Abstraction.VectorStorage.Models; namespace BotSharp.Abstraction.Knowledges; public interface IKnowledgeService { #region Vector Task CreateVectorCollection(string collectionName, string collectionType, int dimension, string provider, string model); Task DeleteVectorCollection(string collectionName); Task> GetVectorCollections(string type); Task> SearchVectorKnowledge(string query, string collectionName, VectorSearchOptions options); Task> GetPagedVectorCollectionData(string collectionName, VectorFilter filter); Task DeleteVectorCollectionData(string collectionName, string id); Task DeleteVectorCollectionAllData(string collectionName); Task CreateVectorCollectionData(string collectionName, VectorCreateModel create); Task UpdateVectorCollectionData(string collectionName, VectorUpdateModel update); #endregion #region Graph Task SearchGraphKnowledge(string query, GraphSearchOptions options); #endregion #region Document /// /// Save documents and their contents to knowledgebase /// /// /// /// Task UploadDocumentsToKnowledge(string collectionName, IEnumerable files); /// /// Save document content to knowledgebase without saving the document /// /// /// /// /// /// /// Task ImportDocumentContentToKnowledge(string collectionName, string fileName, string fileSource, IEnumerable contents, DocMetaRefData? refData = null); /// /// Delete one document and its related knowledge in the collection /// /// /// /// Task DeleteKnowledgeDocument(string collectionName, Guid fileId); /// /// Delete all documents and their related knowledge in the collection /// /// /// /// Task DeleteKnowledgeDocuments(string collectionName, KnowledgeFileFilter filter); Task> GetPagedKnowledgeDocuments(string collectionName, KnowledgeFileFilter filter); Task GetKnowledgeDocumentBinaryData(string collectionName, Guid fileId); #endregion #region Common Task RefreshVectorKnowledgeConfigs(VectorCollectionConfigsModel configs); #endregion }