Diferència entre revisions de la pàgina «RAG: split/chunking»
(Es crea la pàgina amb «=Introduccó= Ja tinc un script (carpeta ''split-chunking/'') per a fer els chunks de meu document. Puc afegir metadades. Per als pdf utilitza la llibreria PyMuPDF. S...».) |
m (→Introduccó) |
||
| (Hi ha una revisió intermèdia del mateix usuari que no es mostren) | |||
| Línia 1: | Línia 1: | ||
=Introduccó= | =Introduccó= | ||
| + | * https://claude.ai/chat/89c0b046-1104-438a-b180-4a4bac33bc51 | ||
| + | |||
Ja tinc un script (carpeta ''split-chunking/'') per a fer els chunks de meu document. Puc afegir metadades. Per als pdf utilitza la llibreria PyMuPDF. | Ja tinc un script (carpeta ''split-chunking/'') per a fer els chunks de meu document. Puc afegir metadades. Per als pdf utilitza la llibreria PyMuPDF. | ||
| − | S'ha de veure si el tamany dels chunks que s'ha triat serà l'adequat per a la ingesta. Però la ingesta del QDrant no serà d'aquests chunks de text, sinó dels embeddings al català. | + | S'ha de veure si el tamany dels chunks que s'ha triat serà l'adequat per a la ingesta. Però la ingesta del QDrant no serà només d'aquests chunks de text, sinó dels embeddings al català. De manera que cada punt de la col·lecció contindrà tant el text com els embeddings. |
| + | |||
| + | Cada element que insereixes a Qdrant és un punt amb tres parts: | ||
| + | |||
| + | * id: un identificador únic (enter o UUID). | ||
| + | * vector: l’embedding del chunk. És el que Qdrant fa servir per buscar per similitud. | ||
| + | * payload: un JSON lliure on guardes el text original del chunk i les metadades (obra, capítol, any, pàgina, etc.). | ||
| + | |||
| + | El text és imprescindible. En un RAG, quan arriba una pregunta, la converteixes en embedding, Qdrant et retorna els punts més semblants, i el que passes al LLM com a context és el text d’aquests chunks, no pas els vectors. Si només guardes vectors, no podràs recuperar el contingut. Les metadades també et serviran per filtrar (per exemple, “només El quadern gris”) i per citar les fonts a la resposta. | ||
| + | |||
<pre> | <pre> | ||
Revisió de 06:55, 16 oct 2026
Introduccó
Ja tinc un script (carpeta split-chunking/) per a fer els chunks de meu document. Puc afegir metadades. Per als pdf utilitza la llibreria PyMuPDF.
S'ha de veure si el tamany dels chunks que s'ha triat serà l'adequat per a la ingesta. Però la ingesta del QDrant no serà només d'aquests chunks de text, sinó dels embeddings al català. De manera que cada punt de la col·lecció contindrà tant el text com els embeddings.
Cada element que insereixes a Qdrant és un punt amb tres parts:
- id: un identificador únic (enter o UUID).
- vector: l’embedding del chunk. És el que Qdrant fa servir per buscar per similitud.
- payload: un JSON lliure on guardes el text original del chunk i les metadades (obra, capítol, any, pàgina, etc.).
El text és imprescindible. En un RAG, quan arriba una pregunta, la converteixes en embedding, Qdrant et retorna els punts més semblants, i el que passes al LLM com a context és el text d’aquests chunks, no pas els vectors. Si només guardes vectors, no podràs recuperar el contingut. Les metadades també et serviran per filtrar (per exemple, “només El quadern gris”) i per citar les fonts a la resposta.
python3 chunk_text.py ../texts_pla/txt/club_tandem.txt --title "EL JO: El quadern gris, de Josep Pla" --meta doc_id="club_tandem.txt" --meta filename="club_tandem.txt" --meta year=2025 --meta author="Juliana Canet, Marina Porras" --meta description="Club Tàndem (T1xC4): La Juliana Canet i la Marina Porras conversen sobre El quadern gris de Josep Pla, els dietaris i la construcció del jo." --meta url="https://www.youtube.com/watch?v=VeteJXJlVtE" --meta format="txt" python3 chunk_pdf.py ../texts_pla/pdf/Pla_CapCreus.pdf --title "Josep Pla a la península del Cap de Creus: la creació d'un cronòtop" --meta doc_id="Pla_CapCreus.pdf" --meta filename="Pla_CapCreus.pdf" --meta year=2003 --meta author="Lluís Quintana Trias" --meta format="pdf"
Plantilla:
python3 chunk_text.py ../texts_pla/xxx/xxx.xxx --title "" --meta doc_id="" --meta filename="" --meta year= --meta author="" --meta description="" --meta format="xxx" python3 chunk_pdf.py ../texts_pla/xxx/xxx.xxx --title "" --meta doc_id="" --meta filename="" --meta year= --meta author="" --meta description="" --meta format="xxx"
creat per Joan Quintana Compte, octubre 2026