File size: 1,195 Bytes
f543029
 
 
 
 
6692be6
 
8dd99a4
f543029
8dd99a4
f543029
8dd99a4
 
f543029
8dd99a4
f543029
6692be6
8dd99a4
f543029
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
from chromadb.utils import embedding_functions
from chromadb.config import Settings
import chromadb

class searchengine:

    
    
    def __init__(self, model_name,collection_name):
        
        self.sentence_transformer_ef = embedding_functions.SentenceTransformerEmbeddingFunction(
                model_name = model_name
                )
        self.chroma_client = chromadb.Client(
                )
        self.collection = self.chroma_client.get_or_create_collection(name=collection_name)
  
            
    def add(self, text , metadata,id):
        self.collection.add(
            documents = [text],
            metadatas = [metadata],
            ids = [id]
        )
    
    def add_list(self, texts:list, metadatas:list, ids:list):
        self.collection.add(
            documents = texts,
            metadatas = metadatas,
            ids = ids
        )
        
    def query(self, query, number=2):
        results = self.collection.query(
            query_texts = [query],
            n_results = number
        )
        return results

    def count(self):
        return self.collection.count()
    
    def peak(self):
        result = self.collection.peek()