<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ca">
	<id>http://wiki.joanillo.org/index.php?action=history&amp;feed=atom&amp;title=RAG%3A_embeddings_en_catal%C3%A0</id>
	<title>RAG: embeddings en català - Historial de revisió</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.joanillo.org/index.php?action=history&amp;feed=atom&amp;title=RAG%3A_embeddings_en_catal%C3%A0"/>
	<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=RAG:_embeddings_en_catal%C3%A0&amp;action=history"/>
	<updated>2026-10-08T23:30:54Z</updated>
	<subtitle>Historial de revisió per a aquesta pàgina del wiki</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>http://wiki.joanillo.org/index.php?title=RAG:_embeddings_en_catal%C3%A0&amp;diff=299175&amp;oldid=prev</id>
		<title>Joan: Es crea la pàgina amb «Si volem fer embeddings de textos en català, podem utilitzar models multilingües com '''sentence-transformers'''. Per exemple, '''paraphrase-multilingual-MiniLM-L12-...».</title>
		<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=RAG:_embeddings_en_catal%C3%A0&amp;diff=299175&amp;oldid=prev"/>
		<updated>2026-10-08T16:06:39Z</updated>

		<summary type="html">&lt;p&gt;Es crea la pàgina amb «Si volem fer embeddings de textos en català, podem utilitzar models multilingües com &amp;#039;&amp;#039;&amp;#039;sentence-transformers&amp;#039;&amp;#039;&amp;#039;. Per exemple, &amp;#039;&amp;#039;&amp;#039;paraphrase-multilingual-MiniLM-L12-...».&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Pàgina nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;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.&lt;br /&gt;
&lt;br /&gt;
Primer instal·lem la llibreria:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pip install sentence-transformers&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I ja podem fer els embeddings d'unes frases d'exemple:&lt;br /&gt;
&amp;lt;pre&amp;gt;from sentence_transformers import SentenceTransformer&lt;br /&gt;
&lt;br /&gt;
# Model multilingüe compatible amb català&lt;br /&gt;
model = SentenceTransformer(&amp;quot;paraphrase-multilingual-MiniLM-L12-v2&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
texts = [&lt;br /&gt;
    &amp;quot;Barcelona és la capital de Catalunya.&amp;quot;,&lt;br /&gt;
    &amp;quot;El català és una llengua romànica.&amp;quot;,&lt;br /&gt;
    &amp;quot;Avui fa un dia molt assolellat.&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
# Generar els embeddings&lt;br /&gt;
embeddings = model.encode(texts)&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Nombre de textos:&amp;quot;, len(embeddings))&lt;br /&gt;
print(&amp;quot;Dimensions de cada embedding:&amp;quot;, embeddings.shape[1])&lt;br /&gt;
&lt;br /&gt;
print(embeddings[0])&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Resposta:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Nombre de textos: 3&lt;br /&gt;
&lt;br /&gt;
Dimensions de cada embedding: 384&lt;br /&gt;
&lt;br /&gt;
[ 0.45152336 -0.17739134  0.33369076  0.32314456  0.01625137 -0.10211392&lt;br /&gt;
  0.02397913 -0.00964131 -0.02689971  0.1543721  -0.31138584 -0.53306985&lt;br /&gt;
 -0.3249653   0.06214958 -0.01033912 -0.36389765  0.1459078  -0.44203445&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I això ens serveix per comparar textos, segons la seva similaritat:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
from sentence_transformers import SentenceTransformer&lt;br /&gt;
from sklearn.metrics.pairwise import cosine_similarity&lt;br /&gt;
&lt;br /&gt;
model = SentenceTransformer(&amp;quot;paraphrase-multilingual-MiniLM-L12-v2&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
texts = [&lt;br /&gt;
    &amp;quot;M'agrada molt anar a la muntanya.&amp;quot;,&lt;br /&gt;
    &amp;quot;Disfruto molt fent excursions per la muntanya.&amp;quot;,&lt;br /&gt;
    &amp;quot;Avui he menjat una paella.&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
embeddings = model.encode(texts)&lt;br /&gt;
&lt;br /&gt;
similarity = cosine_similarity(embeddings)&lt;br /&gt;
&lt;br /&gt;
print(similarity)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Resposta:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[[1.0000001  0.9182879  0.11477765]&lt;br /&gt;
 [0.9182879  1.0000001  0.11056139]&lt;br /&gt;
 [0.11477765 0.11056139 1.0000006 ]]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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à.&lt;br /&gt;
Però si amb aquest que m'he instal·lat ja obtenim bons resultats, doncs ja estaria.&lt;br /&gt;
&lt;br /&gt;
{{Autor}}, octubre 2026&lt;/div&gt;</summary>
		<author><name>Joan</name></author>
		
	</entry>
</feed>