Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Creación de una base de conocimiento de Amazon Bedrock con gráficos de Análisis por Amazon Neptune
GraphRAG está totalmente integrado en las bases de conocimiento de Amazon Bedrock y utiliza Análisis por Amazon Neptune para el almacenamiento de gráficos y vectores. Puede empezar a utilizar GraphRAG en sus bases de conocimiento con la Consola de administración de AWS, la AWS CLI o el SDK de AWS.
No necesita ninguna infraestructura gráfica existente para empezar a usar GraphRAG. Bases de conocimiento de Amazon Bedrock administra automáticamente la creación y el mantenimiento de los gráficos de Amazon Neptune. El sistema creará y actualizará automáticamente un gráfico extrayendo las entidades, los hechos y las relaciones de los documentos que cargue en su bucket de Amazon S3, para que pueda proporcionar respuestas pertinentes a los usuarios finales, sin necesidad de conocimientos previos en modelado de gráficos. El gráfico se almacenará en Análisis por Amazon Neptune.
Al crear una base de conocimiento, se configura o especifica lo siguiente:
-
Información general que define e identifica la base de conocimiento.
-
El rol de servicio con permisos para acceder a la base de conocimiento.
-
Configuraciones para la base de conocimiento, incluido el modelo de incrustaciones que se utilizará al convertir los datos del origen de datos y las configuraciones de almacenamiento del servicio en el que se almacenarán las incrustaciones.
No puede crear una base de conocimientos con un usuario raíz. Inicie sesión con un usuario de IAM antes de realizar estos pasos.
A continuación, se muestra cómo crear una base de conocimiento para utilizar Neptune GraphRAG desde la consola y la CLI.
- Console
-
Cómo crear una base de conocimiento de Análisis por Amazon Neptune desde la consola
-
Inicie sesión en la Consola de administración de AWS con una identidad de IAM que tenga permisos para usar la consola de Amazon Bedrock. A continuación, abra la consola de Amazon Bedrock en https://console.aws.amazon.com/bedrock/.
-
En el panel de navegación izquierdo, elija Bases de conocimientos.
-
En la sección Bases de conocimiento, elija Crear y, a continuación, elija Base de conocimientos con almacén vectorial.
-
(Opcional) En Detalles de la base de conocimientos, introduzca el nombre predeterminado y proporcione una descripción de la base de conocimiento.
-
En Permisos de IAM, seleccione un rol de IAM que otorgue permisos a Amazon Bedrock para acceder a otros Servicios de AWS necesarios. Puede dejar que Amazon Bedrock cree el rol de servicio por usted o puede elegir usar el rol personalizado que haya creado para Análisis por Amazon Neptune. Para ver un ejemplo, consulta Permisos para acceder a la base de datos vectorial en Análisis por Amazon Neptune.
-
Asegúrese de elegir Amazon S3 como origen de datos y elija Siguiente para configurar el origen de datos.
-
Proporcione el URI de S3 del archivo que se utilizará como origen de datos para conectar su base de conocimiento e integrarla con Análisis por Amazon Neptune. Para ver los pasos adicionales y la información opcional que puede proporcionar, consulte Conexión de un origen de datos a la base de conocimiento.
-
En la sección Modelo de incrustaciones, elija un modelo de incrustaciones para convertir los datos en incrustaciones vectoriales. Si lo desea, puede utilizar la sección Configuraciones adicionales para especificar las dimensiones del vector. Para el tipo de incrustaciones, le recomendamos que utilice incrustaciones vectoriales de punto flotante.
Las dimensiones vectoriales del modelo de incrustaciones deben coincidir con las dimensiones vectoriales que especificó al crear el gráfico de Análisis por Amazon Neptune.
-
En la sección Base de datos vectorial, elija el método para crear el almacén de vectores y, a continuación, elija Análisis por Amazon Neptune (GraphRAG) como almacén de vectores para almacenar las incrustaciones que se utilizarán en la consulta. Para crear el almacén de vectores, puede utilizar uno de los siguientes métodos:
-
Le recomendamos que utilice el método Creación rápida de un nuevo almacén de vectores para empezar rápidamente a crear su almacén de vectores. Elija Análisis por Amazon Neptune (GraphRAG) como almacén de vectores. Esta opción no requiere que tenga ningún recurso de Análisis por Amazon Neptune existente. La base de conocimiento genera y almacena automáticamente las incrustaciones de documentos en Amazon Neptune, junto con una representación gráfica de las entidades y sus relaciones obtenidas del corpus de documentos.
-
Como alternativa, si ya ha creado el gráfico y el índice vectorial de Análisis por Amazon Neptune, puede utilizar la opción Elija un almacén de vectores que haya creado. Elija Análisis por Amazon Neptune (GraphRAG) como almacén de vectores e identifique el ARN del gráfico, los nombres de los campos de vectores y los nombres de los campos de metadatos en el índice vectorial. Para obtener más información, consulte Requisitos previos para usar un almacén de vectores que haya creado para una base de conocimiento.
-
Seleccione Siguiente y revise los detalles de la base de conocimiento. Puede editar cualquier sección antes de continuar con la creación de la base de conocimientos.
El tiempo que tarde en crearse la base de conocimientos dependerá de las configuraciones específicas. Una vez finalizada la creación de la base de conocimientos, su estado cambiará a Lista o Disponible.
Cuando la base de conocimientos esté lista y disponible, sincronice el origen de datos por primera vez y siempre que desee mantener el contenido actualizado. Seleccione la base de conocimientos en la consola y Sincronizar en la sección de información general del origen de datos.
-
Elija Crear base de conocimientos. Mientras Amazon Bedrock está creando la base de conocimiento, debería aparecer el estado En curso. Debe esperar a que finalice la creación para poder sincronizar un origen de datos.
-
Cuando Amazon Bedrock termine de crear la base de conocimiento, para configurar un origen de datos, siga las instrucciones que se indican en Conexión de un origen de datos a la base de conocimiento.
- API
-
Cómo crear una base de conocimiento de Análisis por Amazon Neptune mediante la AWS CLI
-
En primer lugar, cree un origen de datos mediante la configuración de enriquecimiento del contexto. Para realizar esta operación, envíe una solicitud CreateDataSource con un punto de conexión en tiempo de compilación de Agentes para Amazon Bedrock. El siguiente es un ejemplo del comando de la CLI.
aws bedrock-agent create-data-source \
--name graph_rag_source \
--description data_source_for_graph_rag \
--knowledge-base-id LDBBY2K5AG \
--cli-input-json "file://input.json"
El siguiente código muestra el contenido del archivo input.json.
{
"dataSourceConfiguration": {
"s3Configuration": {
"bucketArn": "arn:aws:s3:::<example-graphrag-datasets>",
"bucketOwnerAccountId": "<ABCDEFGHIJ>",
"inclusionPrefixes": [ <"example-dataset"> ]
},
"type": "S3",
},
"VectorIngestionConfiguration": {
"contextEnrichmentConfiguration":
"type": "BEDROCK_FOUNDATION_MODEL",
"bedrockFoundationModelConfiguration": {
"modelArn": "arn:aws:bedrock:<region>::foundation-model/anthropic.claude-3-haiku-20240307-v1:0",
"enrichmentStrategyConfiguration": {
"method": "CHUNK_ENTITY_EXTRACTION"
}
}
}
}
-
Para crear una base de conocimiento, envíe una solicitud CreateKnowledgeBase con un punto de conexión en tiempo de compilación de Agentes para Amazon Bedrock. El siguiente es un ejemplo del comando de la CLI.
aws bi create-knowledge-base \
--name <"knowledge-base-graphrag"> \
--role-arn arn:aws:iam::<accountId>:role/<BedrockExecutionRoleForKnowledgeBase> \
--cli-input-json "file://input.json"
A continuación se muestra el contenido del archivo input.json.
{
"storageConfiguration": {
"type": "NEPTUNE_ANALYTICS"
"neptuneAnalyticsConfiguration": {
"graphArn": "arn:aws:neptune-graph:<region>:<>:graph/<graphID>",
"fieldMapping": {
"metadataField": "metadata",
"textField": "text"
},
}
},
"knowledgeBaseConfiguration": {
"type": "VECTOR",
"vectorKnowledgeBaseConfiguration": {
"embeddingModelArn": "arn:aws:bedrock:<region>::foundation-model/cohere.embed-english-v3"
}
}
}
-
Cuando su aplicación basada en GraphRAG esté en ejecución, podrá seguir utilizando las operaciones de la API de Bases de conocimiento para ofrecer a los usuarios finales respuestas más completas, relevantes y explicables. En las siguientes secciones, se muestra cómo iniciar la ingesta y realizar consultas de recuperación mediante comandos de la CLI.
Sincronización del origen de datos
Tras crear la base de conocimientos, puede ingerir o sincronizar los datos para poder consultarlos. La ingesta extrae la estructura gráfica y convierte los datos sin procesar del origen de datos en incrustaciones vectoriales, según el modelo de incrustaciones vectoriales y las configuraciones que haya especificado.
El siguiente comando muestra un ejemplo de cómo iniciar un trabajo de ingesta con la CLI.
aws bedrock-agent start-ingestion-job \
--data-source-id <"ABCDEFGHIJ"> \
--knowledge-base-id <"EFGHIJKLMN">
Para obtener más información y saber cómo sincronizar el origen de datos mediante la consola y la API, consulte Sincronización de los datos con la base de conocimientos de Amazon Bedrock.
Ingesta de cambios en una base de conocimiento
Al utilizar Amazon S3 como origen de datos, puede modificar el origen de datos y sincronizar los cambios en un solo paso. Con la ingesta directa, puede añadir, actualizar o eliminar archivos directamente en una base de conocimiento con una sola acción y su base de conocimiento puede tener acceso a los documentos sin necesidad de sincronizarlos. La ingesta directa utiliza las operaciones de la API KnowledgeBaseDocuments para indexar los documentos que envía directamente en el almacén de vectores configurado para la base de conocimiento. También puede ver los documentos de su base de conocimiento directamente con estas operaciones, en lugar de tener que ir al origen de datos conectado para verlos. Para obtener más información, consulte Ingesta de cambios directamente en una base de conocimiento.
Prueba de la base de conocimientos
Ahora que ya ha configurado la base de conocimiento, puede probarla enviando consultas y generando respuestas.
El siguiente código muestra un ejemplo de un comando de la CLI.
aws bedrock-agent-runtime retrieve \
--knowledge-base-id <"ABCDEFGHIJ"> \
--retrieval-query="{\"text\": \"What are the top three video games available now?\"}"
Para obtener más información, consulte Consulta de una base de conocimiento conectada a un gráfico de Análisis por Amazon Neptune.