-
Notifications
You must be signed in to change notification settings - Fork 22
/
Copy path13_hugging_face_embeddings.py
38 lines (28 loc) · 1.15 KB
/
13_hugging_face_embeddings.py
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
from langchain.embeddings import SentenceTransformerEmbeddings
embeddings_st = SentenceTransformerEmbeddings(
model_name="sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2"
)
# Otro modelo en español que podríamos usar es "symanto/sn-xlm-roberta-base-snli-mnli-anli-xnli"
documentos_a_incrustar = [
"¡Hola parce!",
"¡Uy, hola!",
"¿Cómo te llamas?",
"Mis parceros me dicen Omar",
"¡Hola Mundo!"
]
incrustaciones = embeddings_st.embed_documents(documentos_a_incrustar)
print(len(incrustaciones))
incrustacion = embeddings_st.embed_query(documentos_a_incrustar[0])
print(len(incrustacion))
from langchain.embeddings import HuggingFaceInstructEmbeddings
# A junio de 2023 no hay modelos Instruct para español
embedding_instruct = HuggingFaceInstructEmbeddings(
model_name="hkunlp/instructor-large",
model_kwargs={"device": "cuda"}
)
# El device podría ser cpu
incrustaciones = embedding_instruct.embed_documents(documentos_a_incrustar)
print(len(incrustaciones[4]))
incrustacion = embedding_instruct.embed_query(documentos_a_incrustar[0])
print(len(incrustacion))
print(embedding_instruct.client, embeddings_st.client)