Colecciones en Recuperación de agentes en Foundry local

Las colecciones son la unidad fundamental para la organización de los datos en la capa de conocimiento de Agentic Retrieval. Cada colección es una agrupación lógica que contiene documentos ingeridos almacenados como incrustaciones de vectores y metadatos. En este artículo se explica cómo funcionan las colecciones, cómo se organizan internamente y cuándo usar varias colecciones en la solución.

Importante

Recuperación de agentes en Foundry local está actualmente en VERSIÓN PRELIMINAR. Consulte Términos de uso complementarios para las versiones preliminares de Microsoft Azure para conocer los términos legales que se aplican a las características de Azure que se encuentran en la versión beta, en versión preliminar o que todavía no se han publicado para que estén disponibles con carácter general.

¿Qué son las colecciones?

Una colección es un contenedor con nombre para los datos vectoriales. Al ingerir documentos, se analizan, fragmentan, insertan y almacenan en una colección específica. Al consultar, se especifican las colecciones que se van a buscar.

Las colecciones proporcionan:

  • Aislamiento de datos: separe los conjuntos de datos para distintos casos de uso, departamentos o inquilinos.
  • Control de acceso: las directivas de control de acceso basado en rol (RBAC) se pueden aplicar por colección.
  • Ciclo de vida independiente: crear, ingerir, consultar y eliminar recopilaciones de forma independiente.

Cada colección se corresponde con hasta cuatro colecciones vectoriales de Milvus y las tablas de Postgres asociadas. Cuando la inserción de imágenes está disponible (modo GPU), se crean las cuatro; en modo de solo CPU, solo se aprovisionan las dos colecciones de texto:

Los guiones de los nombres de colección se reemplazan por caracteres de subrayado para formar el elemento interno storage_prefix. Por ejemplo, la colección my-docs usa el prefijo my_docsde almacenamiento .

Ciclo de vida de la colección

El ciclo de vida de la colección sigue estos pasos:

Crear → Ingerir → Consultar → Actualizar → Eliminar

Stage API Description
Crear POST /edgeai/collections Crea la colección y aprovisiona cuatro colecciones de Milvus y tablas de Postgres.
Ingest POST /edgeai/ingestion/jobs/{job_id} Ingiere documentos en la colección. Especifique collectionName en el cuerpo de la solicitud.
Query POST /edgeai/chat/completions Consulta la colección mediante RAG. Especifique data_sources[0].parameters.index_name.
Update PATCH /edgeai/collections/{name} Actualiza la descripción de la colección (el nombre es inmutable).
Eliminar DELETE /edgeai/collections/{name} Elimina la colección y todas las colecciones milvus asociadas, tablas de Postgres y metadatos.

Colección predeterminada

La recuperación agente crea automáticamente una colección predeterminada denominada edgeragapp al iniciarse. Esta colección:

  • Se usa cuando no se especifica ningún collectionName durante la ingesta o consulta.
  • No se puede eliminar; devuelve 409 Conflict.
  • Requiere un rol de aplicación de edgeragapp para que los usuarios finales accedan mediante control de acceso basado en roles de Azure (Azure RBAC).

Reglas de nomenclatura de colecciones

  • Solo letras minúsculas, dígitos y guiones
  • Debe comenzar y terminar con un carácter alfanumérico
  • 2–49 caracteres
  • Los nombres default, system, edgeragendusery edgeragdeveloper están reservados
  • La colección edgeragapp predeterminada se crea automáticamente y no se puede eliminar.

Colecciones y RBAC

Cuando los usuarios acceden a colecciones a través del punto de conexión externo (entrada), los roles json Web Token (JWT) controlan el acceso:

Función Nivel de acceso
EdgeRAGDeveloper Acceso total a todas las colecciones. Se requiere para las API de gestión (colecciones, ingestión).
EdgeRAGEndUser Acceso solo a colecciones en las que el usuario tiene un rol de aplicación coincidente (por ejemplo, el rol finance-docs concede acceso a la colección finance-docs).

Si un usuario tiene el EdgeRAGEndUser rol pero no hay asignaciones de roles específicas de la colección, recibirá 403 Forbidden al consultar cualquier colección. Asegúrese de que a los usuarios se les asignan roles de aplicación que coincidan con los nombres de colección a los que necesitan acceder.

Para obtener instrucciones paso a paso sobre cómo crear roles de la aplicación específicos para la colección, consulte Crear roles de la aplicación para el acceso a la colección.

Se elude Azure RBAC al usar el reenvío de puertos o las llamadas internas de Dapr (solo para desarrollo o pruebas).

Colecciones y orígenes de conocimiento

Las colecciones se conectan al nivel agente a través de orígenes de conocimiento:

  • El servidor MCP integrado expone herramientas de búsqueda que consultan colecciones.
  • Un origen de conocimiento con indexed_source_ref configurado con un nombre de colección asocia una herramienta de búsqueda MCP a una colección específica.
  • Los orígenes de conocimiento se agrupan en bases de conocimiento, que se asignan a los agentes.

Agente → Base de conocimiento → Fuente de conocimiento (indexed_source_ref = "my-docs") → Servidor MCP → Colección "my-docs"

El indexed_source_ref campo de un origen de conocimiento hace referencia a un nombre de colección al apuntar al servidor MCP integrado. Este campo es el puente entre la capa agente y la capa de conocimiento.

Cuándo usar varias colecciones

En los escenarios siguientes se describen las colecciones que se van a usar:

Escenario Recomendación
Conjunto de datos único, equipo único Use la colección predeterminada edgeragapp .
Datos con ámbito de departamento Cree una colección por departamento (por ejemplo, engineering-docs, hr-policies). Aplique RBAC para cada colección.
Multiinquilino Cree una colección por inquilino. Use RBAC para aplicar el aislamiento de inquilinos.
Conjuntos de datos versionados Cree colecciones con marca de tiempo (por ejemplo, catalog-2026-q1). Elimine las colecciones antiguas cuando ya no sean necesarias.
Confidencialidad mixta Separe los datos públicos y confidenciales en distintas colecciones con diferentes directivas de RBAC.