|
import faiss |
|
import numpy as np |
|
from sentence_transformers import SentenceTransformer |
|
|
|
|
|
model = SentenceTransformer('sentence-transformers/all-MiniLM-L6-v2') |
|
model_name = 'all-MiniLM-L6-v2' |
|
|
|
|
|
sentences = ["This is a test sentence.", "Another example sentence."] |
|
embeddings = model.encode(sentences) |
|
|
|
|
|
embeddings = np.array(embeddings).astype('float32') |
|
|
|
|
|
index = faiss.IndexFlatL2(embeddings.shape[1]) |
|
index.add(embeddings) |
|
|
|
|
|
faiss.write_index(index, f"{model_name}_faiss.index") |
|
|
|
|
|
index = faiss.read_index(f"{model_name}_faiss.index") |
|
|
|
|
|
query_sentence = "cat am de platit la factura" |
|
query_embedding = model.encode([query_sentence]).astype('float32') |
|
|
|
|
|
k = 5 |
|
D, I = index.search(query_embedding, k) |
|
|
|
|
|
print(f"Query: {query_sentence}") |
|
print(f"Nearest neighbors indices: {I[0]}") |
|
print(f"Nearest neighbors distances: {D[0]}") |