> ## Documentation Index
> Fetch the complete documentation index at: https://docs.thaliq.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Documentos (RAG)

> Sube documentos para que el agente responda con tu informacion

El sistema **RAG** (Retrieval-Augmented Generation) permite que tu agente responda preguntas basandose en tus propios documentos.

<Note>
  Disponible desde **Growth**.
</Note>

<Note>
  Los documentos son **propios de cada agente**, no compartidos a nivel tenant. Si tenes varios agentes, cada uno tiene su base de conocimiento aislada — un PDF subido al agente "Soporte" no es visible para "Ventas". Al [eliminar un agente](/platform/agent-setup) sus documentos y embeddings se borran en cascada.
</Note>

## Como funciona

1. **Subes** un documento (PDF, DOCX, TXT, Markdown)
2. Thaliq extrae el texto y lo **divide en chunks** (\~500 tokens)
3. Genera **embeddings** con Voyage AI (`voyage-3`, 1024 dimensiones)
4. Cuando un usuario hace una pregunta, el agente **busca los chunks mas relevantes** por similitud coseno (pgvector)
5. Inyecta esos chunks como contexto y genera la respuesta

```
Pregunta del usuario
       |
       v
Busqueda semantica (embeddings)
       |
       v
Chunks mas relevantes (top-k)
       |
       v
Claude + contexto -> Respuesta basada en tus documentos
```

## Como llegar

`thaliq.com/agents/:agentId/documents` (tab RAG del agente). Tambien podes pedirle al meta-agente del [Studio](/platform/studio): *"Sube este PDF al RAG del agente"*.

## Subir documentos

1. Ir a **Agente > RAG**
2. Click en **Subir documento**
3. Seleccionar archivo

### Formatos soportados

| Formato     | Extension |
| ----------- | --------- |
| PDF         | `.pdf`    |
| Word        | `.docx`   |
| Texto plano | `.txt`    |
| Markdown    | `.md`     |

### Procesamiento

Al subir un documento:

* Se extrae el texto
* Se divide en chunks (\~500 tokens cada uno)
* Se generan embeddings (Voyage `voyage-3`)
* Se persisten en pgvector
* El documento queda listo para busquedas en segundos

## Parametros de busqueda

Por defecto el agente busca con estos parametros (ajustables a nivel tenant via `tenant.settings.rag`):

| Parametro             | Default | Que hace                                                |
| --------------------- | :-----: | ------------------------------------------------------- |
| `topK`                |  **8**  | Cantidad maxima de chunks que se inyectan como contexto |
| `similarityThreshold` | **0.2** | Score minimo (0–1) para considerar un chunk relevante   |
| `maxContextTokens`    |   1500  | Limite total de tokens RAG por respuesta                |

<Note>
  **Por que el threshold es 0.2 y no 0.5?** Voyage-3 produce similitudes mas bajas que otros embedders, especialmente para queries cortas o conversacionales en espanol ("dame las fechas", "que precio tiene"). Un umbral mas alto descarta matches validos. Si tus queries son largas y tecnicas, podes subirlo a 0.4–0.5 desde la configuracion del tenant.
</Note>

## Ver chunks

Click en un documento de la lista > pestania **Chunks**. Veras cada fragmento con su contenido y score promedio de relevancia historica.

## Probar busquedas (RAG Tester)

En el Studio, el **RAG Context Viewer** muestra automaticamente los chunks consultados en cada respuesta del test panel. Tambien podes lanzar busquedas manuales desde la lista de documentos:

1. Buscador en la cabecera de la tab RAG
2. Escribir una pregunta natural (ej: *"Cuales son los horarios?"*)
3. Veras los chunks mas relevantes con su **score de similitud**

<Tip>
  Si los resultados no son los esperados, intenta reformular la pregunta o revisa que el documento contenga la informacion relevante. Considera dividir documentos muy largos en partes mas tematicas para mejorar el chunking.
</Tip>

## Reprocesar documentos

Si actualizas un documento, podes reprocesarlo:

1. Click en el documento
2. Click en **Reprocesar**
3. Se regeneran chunks y embeddings (las versiones viejas se reemplazan)

## Buenas practicas

* **Documentos claros** — textos bien estructurados generan mejores chunks
* **Titulos y secciones** — ayudan al sistema a dividir contenido logicamente
* **Evita imagenes solas** — el RAG procesa texto, no contenido dentro de imagenes/PDFs escaneados
* **Actualiza regularmente** — sube versiones nuevas cuando la informacion cambie
* **Un agente por dominio** — si tenes contenidos muy distintos (soporte vs ventas), considera agentes separados con su propio RAG

## Que sigue

<CardGroup cols={2}>
  <Card title="Studio (RAG Viewer)" icon="wand-magic-sparkles" href="/platform/studio#herramientas-de-debugging-del-test-panel">
    Como ver que chunks consulto el agente en cada respuesta.
  </Card>

  <Card title="Tools nativas" icon="cube" href="/platform/tools#tool-nativas">
    `search_documents` — la tool built-in que consulta el RAG.
  </Card>
</CardGroup>
