RAG: embeddings en català
Si volem fer embeddings de textos en català, podem utilitzar models multilingües com sentence-transformers. Per exemple, paraphrase-multilingual-MiniLM-L12-v2 funciona amb català i és força lleuger.
Primer instal·lem la llibreria:
pip install sentence-transformers
I ja podem fer els embeddings d'unes frases d'exemple:
from sentence_transformers import SentenceTransformer
# Model multilingüe compatible amb català
model = SentenceTransformer("paraphrase-multilingual-MiniLM-L12-v2")
texts = [
"Barcelona és la capital de Catalunya.",
"El català és una llengua romànica.",
"Avui fa un dia molt assolellat."
]
# Generar els embeddings
embeddings = model.encode(texts)
print("Nombre de textos:", len(embeddings))
print("Dimensions de cada embedding:", embeddings.shape[1])
print(embeddings[0])
Resposta:
Nombre de textos: 3 Dimensions de cada embedding: 384 [ 0.45152336 -0.17739134 0.33369076 0.32314456 0.01625137 -0.10211392 0.02397913 -0.00964131 -0.02689971 0.1543721 -0.31138584 -0.53306985 -0.3249653 0.06214958 -0.01033912 -0.36389765 0.1459078 -0.44203445 ...
I això ens serveix per comparar textos, segons la seva similaritat:
from sentence_transformers import SentenceTransformer
from sklearn.metrics.pairwise import cosine_similarity
model = SentenceTransformer("paraphrase-multilingual-MiniLM-L12-v2")
texts = [
"M'agrada molt anar a la muntanya.",
"Disfruto molt fent excursions per la muntanya.",
"Avui he menjat una paella."
]
embeddings = model.encode(texts)
similarity = cosine_similarity(embeddings)
print(similarity)
Resposta:
[[1.0000001 0.9182879 0.11477765] [0.9182879 1.0000001 0.11056139] [0.11477765 0.11056139 1.0000006 ]]
Podem veure com els resultats són els esperats. Les dues primeres frases tenen similaritat (parlen de muntanya), i no s'assemblen amb la tercera frase. És usual utilitzar el cosinus per calcular la similaritat.
Per a un projecte de RAG, cerca semàntica o una base de dades vectorial, també podem utilitzar models més moderns i específicament multilingües, i comparar quins funcionen millor per català. Però si amb aquest que m'he instal·lat ja obtenim bons resultats, doncs ja estaria.
creat per Joan Quintana Compte, octubre 2026