Colecciones de conocimiento
Las fuentes se almacenan una vez en la biblioteca de un proyecto y luego se vinculan a colecciones. Un agente consulta las colecciones que usted le concede, y nada más.
El conocimiento en Rikoo tiene dos niveles. Una fuente es un documento que usted añade a un proyecto: un archivo, un texto pegado o un contenido obtenido por un conector. Una colección agrupa fuentes y las indexa con un modelo de embedding. A los agentes se les conceden colecciones, nunca fuentes, y esa separación es lo que permite que un mismo documento sirva a dos públicos bajo dos conjuntos de reglas distintos.
Fuentes
Una fuente pertenece a un proyecto y se almacena una sola vez. Puede vincularse a varias colecciones de ese proyecto, y cada vínculo se indexa por separado, con los ajustes de su colección: una fuente puede estar lista en una colección y en error en otra.
- Archivos: PDF, Word (
.docx), Markdown, HTML, texto plano, CSV, JSON, XML y H5P. Los archivos de Excel, PowerPoint y OpenDocument solo se leen si está desplegado el servicio opcionalsidecar-parsing, consulte Infraestructura. - Texto pegado directamente.
- Páginas web, Notion y Confluence, mediante los conectores de fuentes, un módulo Enterprise.
La ingesta extrae el texto, lo divide en fragmentos y calcula un embedding para cada fragmento con el modelo de la colección. Todo ocurre en el worker: el servidor de API nunca habla con un proveedor.
Colecciones
Una colección se indexa con un solo modelo de embedding a la vez, y ese modelo fija el tamaño de sus vectores. El índice de búsqueda cubre vectores de 1536 y de 3072 dimensiones, así que dos colecciones pueden usar modelos distintos, y un modelo que se sabe que produce otro tamaño se rechaza antes de pagar ningún embedding. Cambiar el modelo de una colección que ya contiene fragmentos exige una reindexación explícita, que vuelve a calcular el embedding de cada fuente con el nuevo modelo. El tamaño de los fragmentos y su solapamiento también se ajustan por colección, y se aplican a la siguiente indexación.
La búsqueda recibe las colecciones concedidas a la ejecución y filtra por ellas dentro de la propia consulta, no después. Un agente no puede leer una colección que no se le concedió, ni una colección de otro proyecto o de otra organización. El conjunto de pruebas incluye casos que intentan cruzar cada una de estas fronteras.
Lo que recibe el agente
La búsqueda es híbrida: una búsqueda vectorial (pgvector, índice HNSW) y una búsqueda de texto completo de PostgreSQL se ejecutan en paralelo, y sus clasificaciones se combinan. Según el ajuste del agente, la búsqueda se hace sobre el mensaje del usuario antes de que el modelo responda, o el modelo llama a una herramienta search_knowledge con sus propias consultas, o ambas cosas.
La ejecución registra los extractos que recibió el modelo: el fragmento, su fuente, su colección y su puntuación, de modo que una respuesta puede rastrearse hasta el pasaje del que salió. Un agente también puede exigir citas. En ese caso, una respuesta que no cita ningún extracto, o que cita uno que no se recuperó, se rechaza y la ejecución falla.
Los extractos son también contenido no confiable. Un documento puede contener instrucciones dirigidas al modelo, así que el texto recuperado se encuadra como datos antes de llegar al prompt. Consulte Guardarraíles.
Ciclo de vida
| Acción | Efecto |
|---|---|
| Eliminar una fuente | Sus fragmentos, en todas las colecciones, y su archivo almacenado se eliminan, en la base de datos y en el almacenamiento de objetos |
| Desvincular una fuente de una colección | La fuente permanece en la biblioteca, y sus fragmentos solo salen de esa colección |
| Eliminar una colección | Se rechaza mientras un agente tenga concedida la colección. Si no, sus fragmentos desaparecen y sus fuentes permanecen en la biblioteca |