|
| 1 | +using Build5Nines.SharpVector.Id; |
| 2 | +using Build5Nines.SharpVector.Preprocessing; |
| 3 | +using Build5Nines.SharpVector.Vocabulary; |
| 4 | +using Build5Nines.SharpVector.Vectorization; |
| 5 | +using Build5Nines.SharpVector.VectorCompare; |
| 6 | +using Build5Nines.SharpVector.VectorStore; |
| 7 | + |
| 8 | +namespace Build5Nines.SharpVector; |
| 9 | + |
| 10 | +/// <summary> |
| 11 | +/// Base class for an on-disk vector database. Mirrors MemoryVectorDatabaseBase generic composition |
| 12 | +/// while using disk-backed stores for persistence. |
| 13 | +/// </summary> |
| 14 | +public abstract class BasicDiskMemoryVectorDatabaseBase<TId, TMetadata, TVectorStore, TVocabularyStore, TVocabularyKey, TVocabularyValue, TIdGenerator, TTextPreprocessor, TVectorizer, TVectorComparer> |
| 15 | + : VectorDatabaseBase<TId, TMetadata, TVectorStore, TVocabularyStore, TVocabularyKey, TVocabularyValue, TIdGenerator, TTextPreprocessor, TVectorizer, TVectorComparer> |
| 16 | + where TId : notnull |
| 17 | + where TVocabularyKey : notnull |
| 18 | + where TVocabularyValue : notnull |
| 19 | + where TVectorStore : IVectorStoreWithVocabulary<TId, TMetadata, TVocabularyStore, TVocabularyKey, TVocabularyValue> |
| 20 | + where TVocabularyStore : IVocabularyStore<TVocabularyKey, TVocabularyValue> |
| 21 | + where TIdGenerator : IIdGenerator<TId>, new() |
| 22 | + where TTextPreprocessor : ITextPreprocessor<TVocabularyKey>, new() |
| 23 | + where TVectorizer : IVectorizer<TVocabularyKey, TVocabularyValue>, new() |
| 24 | + where TVectorComparer : IVectorComparer, new() |
| 25 | +{ |
| 26 | + protected BasicDiskMemoryVectorDatabaseBase(TVectorStore vectorStore) |
| 27 | + : base(vectorStore) |
| 28 | + { } |
| 29 | +} |
0 commit comments