

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.

# Recuperación de datos y generación de respuestas de IA con Bases de conocimiento de Amazon Bedrock
<a name="knowledge-base"></a>

Aunque los modelos fundacionales tienen conocimientos generales, puede mejorar aún más sus respuestas utilizando la generación aumentada por recuperación (RAG). RAG es una técnica que utiliza información de orígenes de datos para mejorar la relevancia y precisión de las respuestas generadas. Con Bases de conocimientos de Amazon Bedrock, puede integrar información propia en sus aplicaciones de IA generativa. Cuando se realiza una consulta, una base de conocimiento busca en sus datos información relevante para responder a la consulta. Luego, la información recuperada se puede utilizar para mejorar las respuestas generadas. Puede crear su propia aplicación basada en RAG mediante las capacidades de Bases de conocimiento de Amazon Bedrock.

Con Bases de conocimiento de Amazon Bedrock, puede:
+ Responder a las consultas de los usuarios devolviendo información relevante de los orígenes de datos
+ Utilizar la información recuperada de los orígenes de datos para ayudar a generar una respuesta precisa y relevante a las consultas de los usuarios
+ Mejorar sus propias peticiones introduciendo la información relevante devuelta en la petición
+ Incluir citas en la respuesta generada para poder hacer referencia al origen de datos original y comprobar su precisión
+ Incluir documentos con abundantes recursos visuales, de los que se puedan extraer imágenes y recuperarlas en respuesta a las consultas. Si genera una respuesta basada en los datos recuperados, el modelo puede ofrecer información adicional basada en estas imágenes.
+ Realice búsquedas utilizando imágenes como consultas para encontrar contenido visualmente similar, o combine texto e imágenes en las consultas para obtener resultados más precisos mediante modelos de incrustación multimodales.
+ Convertir el lenguaje natural en consultas (como consultas SQL) personalizadas para bases de datos estructuradas. Estas consultas se utilizan para recuperar datos de almacenes de datos estructurados.
+ Actualizar sus orígenes de datos e ingerir los cambios directamente en la base de conocimiento para poder acceder a ellos de forma inmediata
+ Utilizar modelos de reclasificacióno para influir en los resultados que se recuperan del origen de datos
+ Incluir la base de conocimiento en un flujo de trabajo de [Agentes para Amazon Bedrock](agents.md)

Para configurar una base de conocimiento, debe realizar los siguientes pasos generales:

1. (Opcional) Si conecta la base de conocimiento a un origen de datos no estructurados, puede configurar su propio [almacén de vectores compatible](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-setup.html) para indexar la representación de incrustaciones vectoriales de sus datos. Puede omitir este paso si piensa utilizar la consola Amazon Bedrock para crear una tienda vectorial de Amazon OpenSearch Serverless para usted.

1. Conecte su base de conocimiento a un origen de datos estructurados o no estructurados.

1. Sincronice el origen de datos con su base de conocimiento.

1. Configure su aplicación o agente para que haga lo siguiente:
   + Consultar la base de conocimiento y devolver los orígenes relevantes
   + Consultar la base de conocimiento y generar respuestas en lenguaje natural en función de los resultados obtenidos
   + (Si consulta una base de conocimiento conectada a un almacén de datos estructurados) Transformar una consulta en una consulta específica del lenguaje de datos estructurados (como una consulta SQL)

**Topics**
+ [Funcionamiento de las bases de conocimientos](kb-how-it-works.md)
+ [Modelos y regiones admitidos](knowledge-base-supported.md)
+ [Chateo con un documento sin necesidad de configurar](knowledge-base-chatdoc.md)
+ [Configuración de permisos para crear y administrar bases de conocimiento](knowledge-base-prereq-permissions-general.md)
+ [Creación de una base de conocimiento conectándose a un origen de datos](knowledge-base-build.md)
+ [Cree una base de conocimientos para contenido multimodal](kb-multimodal.md)
+ [Creación de una base de conocimiento conectándose a un almacén de datos estructurados](knowledge-base-build-structured.md)
+ [Creación de una base de conocimiento con un índice GenAI de Amazon Kendra](knowledge-base-build-kendra-genai-index.md)
+ [Creación de una base de conocimiento con gráficos de Análisis por Amazon Neptune](knowledge-base-build-graphs.md)
+ [Prueba de la base de conocimientos mediante consultas y respuestas](knowledge-base-test.md)
+ [Implementación de la base de conocimientos en la aplicación](knowledge-base-deploy.md)
+ [Visualización de información sobre una base de conocimientos](kb-info.md)
+ [Modificación de una base de conocimientos](kb-update.md)
+ [Eliminación de una base de conocimientos](kb-delete.md)

# Funcionamiento de las bases de conocimientos de Amazon Bedrock
<a name="kb-how-it-works"></a>

La bases de conocimientos de Amazon Bedrock le ayudan a aprovechar la generación aumentada por recuperación (RAG), una técnica popular que consiste en extraer información de un almacén de datos para aumentar las respuestas generadas por los modelos de lenguaje grandes (LLM). Al configurar una base de conocimiento con sus orígenes de datos, la aplicación puede consultarla para obtener información que permita responder a la consulta, ya sea con citas directas de los orígenes o con respuestas naturales generadas a partir de los resultados de la consulta.

Con Bases de conocimiento de Amazon Bedrock, puede crear aplicaciones que se enriquezcan con el contexto que se obtiene al consultar una base de conocimiento. Esto permite una comercialización más rápida, ya que evita la ardua tarea de crear canalizaciones y le proporciona una solución de RAG lista para usar que reduce el tiempo de compilación de su aplicación. Añadir una base de conocimientos también aumenta la rentabilidad, ya que elimina la necesidad de entrenar continuamente el modelo para poder aprovechar sus datos privados.

Los siguientes diagramas ilustran esquemáticamente cómo se lleva a cabo la RAG. La base de conocimientos simplifica la configuración e implementación de la RAG al automatizar varios pasos de este proceso.

**Preprocesamiento de datos no estructurados**

Para permitir una recuperación eficaz de los datos privados no estructurados (los datos que no existen en un almacén de datos no estructurado), una práctica habitual consiste en convertir los datos en texto y dividir el texto en fragmentos manejables. A continuación, estos fragmentos se convierten en incrustaciones y se escriben en un índice vectorial, manteniendo una correspondencia con el documento original. Estas incrustaciones se utilizan para determinar la similitud semántica entre las consultas y el texto de los orígenes de datos. La siguiente imagen ilustra el preprocesamiento de los datos para la base de datos vectorial.

![\[Procesamiento previo de datos para la generación aumentada de recuperación\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/kb/rag-preprocess.png)


Las incrustaciones vectoriales son una serie de números que representan cada fragmento de texto. Un modelo convierte cada fragmento de texto en series de números, llamados vectores, para que los textos se puedan comparar matemáticamente. Estos vectores pueden ser números de punto flotante (float32) o números binarios. La mayoría de los modelos de incrustaciones compatibles con Amazon Bedrock utilizan vectores de punto flotante de forma predeterminada. Sin embargo, algunos modelos admiten vectores binarios. Si elige un modelo de incrustación binario, también debe elegir un modelo y un almacén de vectores que admitan vectores binarios.

Los vectores binarios, que utilizan solo 1 bit por dimensión, no son tan costosos de almacenar como los vectores de punto flotante (float32), que utilizan 32 bits por dimensión. Sin embargo, los vectores binarios no son tan precisos como los vectores de punto flotante en su representación del texto.

El siguiente ejemplo muestra un fragmento de texto en tres representaciones:


****  

| Representación | Valor | 
| --- | --- | 
| Texto | “Amazon Bedrock utiliza modelos fundacionales de alto rendimiento de empresas líderes en IA y de Amazon”. | 
| Vector de punto flotante | [0.041..., 0.056..., -0.018..., -0.012..., -0.020..., ...] | 
| Vector binario | [1,1,0,0,0, ...] | 

**Ejecución en tiempo de ejecución**

En tiempo de ejecución, se utiliza un modelo de incrustación para convertir la consulta del usuario en un vector. A continuación, se consulta el índice vectorial para buscar fragmentos semánticamente similares a la consulta del usuario, comparando los vectores del documento con el vector de consulta del usuario. En el último paso, la petición del usuario se aumenta con el contexto adicional de los fragmentos que se recuperan del índice vectorial. Luego, la petición, junto con el contexto adicional, se envía al modelo para generar una respuesta para el usuario. La siguiente imagen ilustra cómo funciona la RAG en tiempo de ejecución para aumentar las respuestas a las consultas de los usuarios.

![\[Generación aumentada de recuperación en tiempo de ejecución\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/kb/rag-runtime.png)


Para obtener más información sobre cómo convertir los datos en una base de conocimiento, cómo consultarla después de configurarla y las personalizaciones que puede aplicar al origen de datos durante la ingesta, consulte los siguientes temas:

**Topics**
+ [Conversión de datos en una base de conocimiento](kb-how-data.md)
+ [Recuperación de información de orígenes de datos mediante Bases de conocimiento de Amazon Bedrock](kb-how-retrieval.md)
+ [Personalización de la base de conocimiento](kb-how-customization.md)

# Conversión de datos en una base de conocimiento
<a name="kb-how-data"></a>

Para crear una base de conocimiento, conéctese a un origen de datos compatible al que desee que pueda acceder su base de conocimiento. Su base de conocimiento podrá responder a las consultas de los usuarios o generar respuestas en función de los datos recuperados.

 Bases de conocimiento de Amazon Bedrock admite una serie de documentos, incluidos texto, imágenes o documentos multimodales que contienen tablas, gráficos, diagramas y otras imágenes. Los datos *multimodales* se refieren a una combinación de texto y datos visuales. Algunos ejemplos de tipos de archivos que contienen datos no estructurados son texto, markdown, HTML y. PDFs

En las siguientes secciones se describen los tipos de datos que admite Bases de conocimiento de Amazon Bedrock y los servicios a los que puede conectar su base de conocimiento para cada tipo de datos:

## Datos no estructurados
<a name="kb-how-unstructured"></a>

Los datos no estructurados son aquellos que se no se ajustan a una estructura predefinida. Bases de conocimiento de Amazon Bedrock permite conectarse a los siguientes servicios para añadir datos no estructurados a una base de conocimiento:
+ Amazon S3
+ Confluence (versión preliminar)
+ Microsoft SharePoint (versión preliminar)
+ Salesforce (versión preliminar)
+ Web Crawler (versión preliminar)
+ Origen de datos personalizado (permite la ingesta directa de datos en bases de conocimiento sin necesidad de sincronizarlos)

Un origen de datos contiene el formato original de sus documentos. Para optimizar el proceso de consulta, una base de conocimiento convierte los datos sin procesar en *incrustaciones vectoriales*, una representación numérica de los datos, para cuantificar la similitud con las consultas que también se convierten en incrustaciones vectoriales. Bases de conocimiento de Amazon Bedrock utiliza los siguientes recursos en el proceso de conversión del origen de datos:
+ Modelo de incrustación: modelo fundacional que convierte los datos en incrustaciones vectoriales. Para los datos multimodales que contienen texto e imágenes, puede utilizar modelos de incrustación multimodales como Amazon Titan Multimodal Embeddings G1 o Cohere Embed v3.
+ Almacén de vectores: un servicio que almacena la representación vectorial de los datos. Se admiten los siguientes almacenes de vectores:
  + Amazon OpenSearch Serverless
  + Amazon Neptune
  + Amazon Aurora (RDS)
  + Pinecone
  + Redis Enterprise Cloud
  + Atlas MongoDB

El proceso de convertir los datos en incrustaciones vectoriales se denomina *ingesta*. El proceso de ingesta que convierte los datos en una base de conocimiento consta de los siguientes pasos:

**Ingesta**

1. El analizador que elija analiza los datos. Para obtener más información acerca del análisis, consulte [Opciones de análisis del origen de datos](kb-advanced-parsing.md).

1. Cada documento del origen de datos se divide en *fragmentos*, es decir, subdivisiones de los datos que se pueden definir por el número de tokens y otros parámetros. Para obtener más información sobre la fragmentación, consulte [Funcionamiento de la fragmentación de contenido para las bases de conocimiento](kb-chunking.md).

1. El modelo de incrustación que elija convierte los datos en incrustaciones vectoriales. En el caso del contenido multimodal, las imágenes se incrustan como vectores visuales, mientras que el texto se incrusta como vectores de texto, lo que permite realizar búsquedas en ambas modalidades.

1. Las incrustaciones vectoriales se escriben en un índice vectorial del almacén de vectores que elija.

Una vez finalizado el proceso de ingesta, su base de conocimiento estará lista para ser consultada. Para obtener información sobre cómo consultar y recuperar información de la base de conocimiento, consulte [Recuperación de información de orígenes de datos mediante Bases de conocimiento de Amazon Bedrock](kb-how-retrieval.md).

Si realiza cambios en un origen de datos, debe sincronizarlos para ingerir las adiciones, modificaciones y eliminaciones en la base de conocimiento. Algunos orígenes de datos admiten la ingesta o eliminación directa de archivos en la base de conocimiento, lo que elimina la necesidad de tratar la modificación y la ingesta de orígenes de datos como pasos distintos y la necesidad de realizar siempre sincronizaciones completas. Para obtener información sobre cómo ingerir documentos directamente en su base de conocimiento y los orígenes de datos que lo admiten, consulte [Ingesta de cambios directamente en una base de conocimiento](kb-direct-ingestion.md).

Bases de conocimiento de Amazon Bedrock ofrece varias opciones para personalizar la forma en que se ingieren los datos. Para obtener más información acerca de la personalización de este proceso, consulte [Personalización de la base de conocimiento](kb-how-customization.md).

## Datos estructurados
<a name="kb-how-structured"></a>

Los datos estructurados son datos tabulares en un formato predefinido por el almacén de datos en el que se encuentran. Bases de conocimiento de Amazon Bedrock se conecta a los almacenes de datos estructurados compatibles mediante el motor de consultas de Amazon Redshift. Bases de conocimiento de Amazon Bedrock proporciona un mecanismo totalmente administrado que analiza los patrones de consulta, el historial de consultas y los metadatos del esquema para convertir las consultas en lenguaje natural en consultas SQL. Estas consultas convertidas se utilizan luego para recuperar la información pertinente de los orígenes de datos compatibles.

Bases de conocimiento de Amazon Bedrock permite conectarse a los siguientes servicios para añadir datos estructurados a una base de conocimiento:
+ Amazon Redshift
+ AWS Glue Data Catalog(AWS Lake Formation)

Si conecta su base de conocimiento a un almacén de datos estructurado, no necesita convertir los datos en incrustaciones vectoriales. En su lugar, Bases de conocimiento de Amazon Bedrock puede consultar directamente el almacén de datos estructurados. Durante la consulta, Bases de conocimiento de Amazon Bedrock pueden convertir las consultas de los usuarios en consultas SQL para recuperar los datos pertinentes para la consulta del usuario y generar respuestas más precisas. También puede generar consultas SQL sin recuperar datos y utilizarlas en otros flujos de trabajo.

Veamos este ejemplo de un repositorio de base de datos contiene la siguiente tabla con información sobre los clientes y sus compras:


****  

| ID de de cliente | Importe comprado en 2020 | Importe comprado en 2021 | Importe comprado en 2022 | Importe total comprado hasta la fecha | 
| --- | --- | --- | --- | --- | 
| 1 | 200 | 300 | 500 | 1 000 | 
| 2 | 150 | 100 | 120 | 370 | 
| 3 | 300 | 300 | 300 | 900 | 
| 4 | 720 | 180 | 100 | 900 | 
| 5 | 500 | 400 | 100 | 1 000 | 
| 6 | 900 | 800 | 1 000 | 2700 | 
| 7 | 470 | 420 | 400 | 1290 | 
| 8 | 250 | 280 | 250 | 780 | 
| 9 | 620 | 830 | 740 | 2190 | 
| 10 | 300 | 200 | 300 | 800 | 

Si la consulta de un usuario dice “envíame un resumen de los cinco clientes que más gastan”, la base de conocimiento puede hacer lo siguiente:
+ Convertir la consulta en una consulta SQL
+ Devolver un extracto de la tabla que contenga los siguientes elementos:
  + Columnas pertinentes de la tabla: “ID de cliente” e “Importe total comprado hasta la fecha”
  + Filas de la tabla que contienen el importe total de compra de los diez clientes que más gastan
+ Generar una respuesta que indique qué clientes fueron los cinco que más gastaron y cuánto compraron

Otros ejemplos de consultas para las que una base de conocimiento puede generar un extracto de la tabla son:
+ “los 5 clientes que más gastaron en 2020”
+ “cliente principal por importe de compra en 2020”
+ “los 5 clientes principales por importe de compra en 2020-2022”
+ “los 5 clientes con el mayor gasto en 2020-2022”
+ “clientes con un importe total de compra inferior a 10 USD”
+ “los 5 clientes que menos gastan”

Cuanto más específica o detallada sea una consulta, más podrá acotar la base de conocimiento la información exacta que se devuelve. Por ejemplo, en lugar de la consulta “los 10 clientes que más gastaron en 2020”, una consulta más específica sería “buscar los 10 clientes con el importe total más alto comprado hasta la fecha en 2020”. La consulta específica hace referencia al nombre de la columna “Importe total comprado hasta la fecha” de la tabla de la base de datos de gastos de los clientes y también indica que los datos deben ordenarse por “más alto”.

# Recuperación de información de orígenes de datos mediante Bases de conocimiento de Amazon Bedrock
<a name="kb-how-retrieval"></a>

Después de configurar la base de conocimiento, puede configurar la aplicación para consultar los orígenes de datos que contiene. Para consultar una base de conocimiento, puede utilizar las siguientes operaciones de la API:
+ [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html): recupera los fragmentos o imágenes del origen de sus datos que son más pertinentes para la consulta y los devuelve en la respuesta en forma de matriz.
+ [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html): une `Retrieve` a la operación [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html) de Amazon Bedrock para recuperar los fragmentos del origen de los datos que son más pertinentes para la consulta y generar una respuesta en lenguaje natural. Incluye citas de fragmentos de origen específicos de los datos. Si el origen de datos incluye elementos visuales, el modelo aprovecha la información de estas imágenes al generar una respuesta de texto y proporciona la atribución de origen de las imágenes.
+ [GenerateQuery](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GenerateQuery.html): convierte las consultas de los usuarios en lenguaje natural en consultas con un formato adecuado para el almacén de datos estructurados.

La operación `RetrieveAndGenerate` es una acción combinada que utiliza de forma subyacente `GenerateQuery` (si su base de conocimiento está conectada a un almacén de datos estructurado), `Retrieve` y `InvokeModel` para realizar todo el proceso de RAG. Como Bases de conocimiento de Amazon Bedrock también le proporciona acceso a la operación `Retrieve`, tiene la flexibilidad de desvincular los pasos de RAG y personalizarlos para su caso de uso específico.

También puede utilizar un [modelo de reclasificación](rerank.md) cuando utilice `Retrieve` o `RetrieveAndGenerate` para volver a clasificar la relevancia de los documentos recuperados durante la consulta.

Para obtener información sobre cómo utilizar estas operaciones de la API al consultar una base de conocimiento, consulte [Prueba de la base de conocimientos mediante consultas y respuestas](knowledge-base-test.md).

# Personalización de la base de conocimiento
<a name="kb-how-customization"></a>

Bases de conocimiento de Amazon Bedrock ofrece opciones para personalizar la forma en que se procesan los orígenes de datos en su base de conocimiento, lo que le proporciona flexibilidad en la forma de almacenar, analizar y devolver los datos a los usuarios finales. Seleccione uno de los siguientes temas para obtener más información sobre las opciones de personalización que puede tener en cuenta al configurar su base de conocimiento:

**Topics**
+ [Funcionamiento de la fragmentación de contenido para las bases de conocimiento](kb-chunking.md)
+ [Opciones de análisis del origen de datos](kb-advanced-parsing.md)
+ [Uso de una función de Lambda de transformación personalizada para definir cómo se ingieren los datos](kb-custom-transformation.md)
+ [Inclusión de metadatos en un origen de datos para mejorar la consulta de la base de conocimiento](kb-metadata.md)

# Funcionamiento de la fragmentación de contenido para las bases de conocimiento
<a name="kb-chunking"></a>

Al ingerir los datos, Amazon Bedrock primero divide los documentos o el contenido en fragmentos manejables para obtener los datos de forma eficiente. A continuación, los fragmentos se convierten en incrustaciones que se escriben en un índice vectorial (representación vectorial de los datos), manteniendo una correspondencia con el documento original. Las incrustaciones vectoriales permiten comparar los textos cuantitativamente.

**Topics**
+ [Fragmentación estándar](#kb-standard-chunking)
+ [Fragmentación jerárquica](#kb-hiearchical-chunking)
+ [Fragmentación semántica](#kb-semantic-chunking)
+ [Fragmentación de contenido multimodal](#kb-multimodal-chunking)

## Fragmentación estándar
<a name="kb-standard-chunking"></a>

Amazon Bedrock admite los siguientes enfoques estándar de fragmentación:

**nota**  
Las estrategias de fragmentación de texto se aplican solo a los documentos de texto. En el caso del contenido multimodal (audio, vídeo, imágenes), la fragmentación se produce a nivel del modelo de incrustación, no mediante estas estrategias basadas en texto.
+ Fragmentación de tamaño fijo: puede configurar el tamaño de fragmento deseado especificando el número de tokens por fragmento y un porcentaje de superposición, lo que proporciona flexibilidad para adaptarse a sus requisitos específicos. Puede establecer el número máximo de tokens que no debe superar un fragmento y el porcentaje de superposición entre fragmentos consecutivos.
**nota**  
En el caso del contenido analizado (por ejemplo, el contenido que utiliza analizadores avanzados o que se ha convertido desde HTML), las bases de conocimiento de Amazon Bedrock pueden fragmentar el contenido para optimizarlo y obtener mejores resultados. El fragmentador respeta los límites lógicos de los documentos (como páginas o secciones) y no fusiona el contenido que sobrepase esos límites, incluso cuando aumentar el tamaño máximo del token permitiría crear fragmentos más grandes.
+ Fragmentación predeterminada: el contenido se divide en fragmentos de texto de hasta 300 tokens. El proceso de fragmentación respeta los límites de las oraciones, lo que garantiza que dentro de cada fragmento se conserven oraciones completas.

También puede elegir que sus documentos no se dividan en fragmentos. Cada documento se trata como un único fragmento de texto. Recomendamos realizar un procesamiento previo de los documentos dividiéndolos en archivos independientes antes de optar por no fragmentar como enfoque o estrategia de fragmentación. *Si eliges no fragmentar tus documentos, no podrás ver el número de página en la cita ni filtrar por el x-amz-bedrock-kb campo/atributo de metadatos. document-page-number*

## Fragmentación jerárquica
<a name="kb-hiearchical-chunking"></a>

La fragmentación jerárquica implica organizar la información en estructuras anidadas de fragmentos principales y secundarios. Al crear un origen de datos, puede definir el tamaño del fragmento principal, el tamaño del fragmento secundario y el número de tokens que se superponen entre cada fragmento. Durante la recuperación, el sistema recupera inicialmente los fragmentos secundarios, pero los reemplaza por fragmentos principales más amplios para proporcionar al modelo un contexto más completo.

Las incrustaciones de texto pequeñas son más precisas, pero la recuperación busca un contexto integral. Un sistema de fragmentación jerárquica equilibra estas necesidades al reemplazar los fragmentos secundarios recuperados por los fragmentos principales cuando sea apropiado.

**nota**  
Como los fragmentos secundarios se sustituyen por los fragmentos principales durante la recuperación, es posible que el número de resultados devueltos sea inferior a la cantidad solicitada.
No se recomienda la fragmentación jerárquica cuando se utiliza un depósito vectorial de S3 como almacén de vectores. Si utilizas un número elevado de fichas para la fragmentación (más de 8000 fichas juntas), es posible que te encuentres con limitaciones en el tamaño de los metadatos.

Para la fragmentación jerárquica, las bases de conocimientos de Amazon Bedrock permiten especificar dos niveles o la siguiente profundidad para la fragmentación:
+ Principal: usted establece el tamaño máximo del token del fragmento principal.
+ Secundario: usted establece el tamaño máximo del token del fragmento secundario.

También establece los tokens superpuestos entre los fragmentos. Este es el número absoluto de tokens superpuestos entre los fragmentos principales consecutivos y los fragmentos secundarios consecutivos.

## Fragmentación semántica
<a name="kb-semantic-chunking"></a>

La fragmentación semántica es una técnica de procesamiento del lenguaje natural que divide el texto en fragmentos significativos para mejorar la comprensión y la recuperación de la información. Su objetivo es mejorar la precisión de la recuperación centrándose en el contenido semántico y no solo en la estructura sintáctica. Al hacerlo, puede facilitar una extracción y manipulación más precisas de la información pertinente.

Al configurar la fragmentación semántica, puede especificar los siguientes hiperparámetros.
+ Número máximo de tokens: el número máximo de tokens que se debe incluir en un único fragmento, respetando los límites de las oraciones.
+ Tamaño del búfer: para una oración determinada, el tamaño del búfer define el número de oraciones adyacentes que se añadirá al crear las incrustaciones. Por ejemplo, un tamaño de búfer de 1 da como resultado 3 frases (oración actual, anterior y siguiente) que se combinarán e incrustarán. Este parámetro puede influir en la cantidad de texto que se examina en conjunto para determinar los límites de cada fragmento, lo que repercute en la granularidad y la coherencia de los fragmentos resultantes. Un tamaño de búfer más grande puede capturar más contexto, pero también puede generar ruido, mientras que un tamaño de búfer más pequeño puede pasar por alto un contexto importante, pero garantiza una fragmentación más precisa.
+ Umbral percentil del punto de ruptura: el umbral percentil de una oración para trazar los puntos de interrupción entre las oraciones distance/dissimilarity . Un umbral más alto requiere que las oraciones se distingan mejor para poder dividirlas en diferentes fragmentos. Un umbral más alto da como resultado menos fragmentos y, por lo general, un tamaño medio de fragmento mayor.
**nota**  
El uso de la fragmentación semántica conlleva costos adicionales porque se utiliza un modelo fundacional. El costo depende de la cantidad de datos de los que disponga. Consulte [Precios de Amazon Bedrock](https://aws.amazon.com/bedrock/pricing/) para obtener más información sobre el costo de los modelos fundacionales.

## Fragmentación de contenido multimodal
<a name="kb-multimodal-chunking"></a>

En el caso del contenido multimodal (audio, vídeo, imágenes), el comportamiento de fragmentación difiere del de los documentos de texto:
+ **Incrustaciones multimodales de Nova: la fragmentación se produce a nivel del modelo de incrustación**. Puede configurar la duración de los fragmentos de audio y vídeo de 1 a 30 segundos (por defecto: 5 segundos). En el caso de los archivos de vídeo, solo se aplica la duración del fragmento de vídeo, incluso si el vídeo contiene audio. La duración del fragmento de audio solo se aplica a los archivos de audio independientes.
+ **Analizador Bedrock Data Automation (BDA):** el contenido se convierte primero en texto (transcripciones y resúmenes de escenas) y, a continuación, se aplican estrategias estándar de fragmentación de texto al texto convertido.

**nota**  
Al utilizar las incrustaciones multimodales de Nova, las estrategias de fragmentación de texto configuradas en su base de conocimientos solo afectan a los documentos de texto de la fuente de datos, no a los archivos de audio, vídeo o imagen.

# Opciones de análisis del origen de datos
<a name="kb-advanced-parsing"></a>

El análisis se refiere a la comprensión y extracción del contenido de los datos sin procesar. Bases de conocimiento de Amazon Bedrock ofrece las siguientes opciones para analizar el origen de datos durante la ingesta:
+ **Analizador predeterminado de Amazon Bedrock**: solo analiza el texto de los archivos de texto, incluidos los archivos.txt, .md, .html, .doc/.docx, .xls/.xlsx y.pdf. Este analizador no conlleva ningún cargo por uso.
**nota**  
Como el analizador predeterminado solo genera texto, recomendamos utilizar Automatización de Datos de Amazon Bedrock o un modelo fundacional como analizador en lugar del analizador predeterminado si sus documentos incluyen figuras, gráficos, tablas o imágenes. Automatización de Datos de Amazon Bedrock y los modelos fundacionales pueden extraer estos elementos de sus documentos y devolverlos como salida.
+ Bases de conocimiento de Amazon Bedrock ofrece los siguientes analizadores para analizar datos multimodales, incluidas figuras, gráficos y tablas en archivos.pdf, además de archivos de imagen .jpeg y.png. Estos analizadores también pueden extraer estas figuras, gráficos, tablas e imágenes y almacenarlas como archivos en un destino de S3 que especifique durante la creación de la base de conocimiento. Durante la recuperación de la base de conocimiento, estos archivos se pueden devolver en la respuesta o en la atribución del origen.
  + **Automatización de Datos de Amazon Bedrock:** un servicio totalmente administrado que procesa datos multimodales de forma eficaz, sin necesidad de crear ninguna petición adicional. El costo de este analizador depende del número de páginas del documento o del número de imágenes que se vayan a procesar. Para obtener más información sobre este servicio, consulte [Automatización de Datos de Amazon Bedrock](bda.md).
  + **Modelos fundacionales**: procesa datos multimodales mediante un modelo fundacional. Este analizador ofrece la opción de personalizar la petición predeterminada de extracción de datos. El costo de este analizador depende del número de tokens de entrada y salida procesados por el modelo fundacional. Para obtener una lista de los modelos que admiten el análisis de los datos de Bases de conocimiento de Amazon Bedrock, consulte [Regiones y modelos compatibles para el análisis](knowledge-base-supported.md#knowledge-base-supported-parsing).

**importante**  
Si elige Automatización de Datos de Amazon Bedrock o modelos fundacionales como analizador, el método que elija se utilizará para analizar todos los archivos .pdf del origen de datos, incluso si los archivos .pdf contienen solo texto. El analizador predeterminado no se utilizará para analizar estos archivos .pdf. Su cuenta incurre en cargos por el uso de Automatización de Datos de Amazon Bedrock o el modelo fundacional al analizar estos archivos.

Cuando seleccione cómo analizar los datos, tenga en cuenta lo siguiente:
+ Si sus datos son exclusivamente textuales o si contienen datos multimodales, como imágenes, gráficos y tablas, que desee que la base de conocimiento pueda consultar.
+ Si desea tener la opción de personalizar la petición que se utiliza para indicar al modelo cómo analizar los datos.
+ El costo del analizador. Automatización de Datos de Amazon Bedrock utiliza precios por página, mientras que los analizadores de modelos fundacionales cobran en función de los tokens de entrada y salida. Para obtener más información, consulte [Precios de Amazon Bedrock](https://aws.amazon.com/bedrock/pricing/).
+ El límite de tamaño total del archivo. Cuando utilice modelos básicos como analizador, el tamaño total de todos los archivos no debe ser superior a 100 GB.

Para obtener información sobre cómo configurar el modo en que se analiza su base de conocimiento, consulte la configuración de conexión del origen de datos en [Conexión de un origen de datos a la base de conocimiento](data-source-connectors.md).

# Uso de una función de Lambda de transformación personalizada para definir cómo se ingieren los datos
<a name="kb-custom-transformation"></a>

Tiene la capacidad de definir una función de Lambda de transformación personalizada para inyectar su propia lógica en el proceso de ingesta de la base de conocimientos.

Es posible que tenga una lógica de fragmentación específica que no sea compatible de forma nativa con las bases de conocimientos de Amazon Bedrock. Utilice la opción de estrategia de no fragmentación al especificar una función de Lambda que contenga su lógica de fragmentación. Además, tendrá que especificar un bucket de Amazon S3 para que la base de conocimientos escriba los archivos que desee fragmentar con la función de Lambda.

Tras la fragmentación, la función de Lambda volverá a escribir los archivos fragmentados en el mismo bucket y devolverá las referencias a la base de conocimientos para su posterior procesamiento. Si lo desea, tiene la posibilidad de proporcionar su propia clave de AWS KMS para el cifrado de los archivos almacenados en su bucket de S3.

**nota**  
Si se utilizan conectores web, se pasa un texto de marcado a Lambda en lugar de HTML.

Como alternativa, puede especificar los metadatos en el nivel de fragmento y, al mismo tiempo, hacer que la base de conocimientos aplique una de las estrategias de fragmentación compatibles de forma nativa. En ese caso, seleccione una de las estrategias de fragmentación predefinidas (por ejemplo, fragmentación predeterminada o de tamaño fijo) y, al mismo tiempo, proporcione una referencia a la función de Lambda y al bucket de S3. En este caso, la base de conocimientos almacenará los archivos analizados y prefragmentados en el bucket predefinido de S3 antes de llamar a la función de Lambda para añadir más metadatos en el nivel de fragmento.

Tras incluir los metadatos en el nivel de fragmentación, la función de Lambda volverá a escribir los archivos fragmentados en el mismo bucket y devolverá las referencias a la base de conocimientos para su posterior procesamiento. Tenga en cuenta que los metadatos en el nivel de fragmento tienen prioridad y sobrescriben los metadatos en el nivel de archivo, en caso de que se produzcan colisiones.

Para ver un ejemplo del uso de una función de Lambda de Python para la fragmentación personalizada, consulte [Custom chunking using Lambda function](https://github.com/aws-samples/amazon-bedrock-samples/blob/main/rag/knowledge-bases/features-examples/03-optimizing-accuracy-retrieved-results/advanced_chunking_options.ipynb).

Para obtener más información sobre los contratos de API y archivos, consulte las siguientes estructuras:

**Contrato de la API al añadir una transformación personalizada con una función de Lambda**

```
{
...
    "vectorIngestionConfiguration": {
        "customTransformationConfiguration": { // Custom transformation 
            "intermediateStorage": {
                "s3Location": { // the location where input/output of the Lambda is expected 
                    "uri": "string"
                }
            },
            "transformations": [{
                "transformationFunction": {
                    "transformationLambdaConfiguration": {
                        "lambdaArn": "string"
                    }
                },
                "stepToApply": "string" // enum of POST_CHUNKING
            }]
        },
        "chunkingConfiguration": {
            "chunkingStrategy": "string",
            "fixedSizeChunkingConfiguration": {
                "maxTokens": "number",
                "overlapPercentage": "number"
            }
            ...
        }
    }
}
```

**Formato de entrada de transformación de Lambda personalizado**

```
{
    "version": "1.0",
    "knowledgeBaseId": "string",
    "dataSourceId": "string",
    "ingestionJobId": "string",
    "bucketName": "string",
    "priorTask": "string",
    "inputFiles": [{
        "originalFileLocation": {
            "type": "S3",
            "s3_location": {
                "uri": "string"
            }
        },
        "fileMetadata": {
            "key1": "value1",
            "key2": "value2"
        },
        "contentBatches": [{
            "key":"string"
        }]
    }]
}
```

**Formato de salida de transformación de Lambda personalizado**

```
{
    "outputFiles": [{
        "originalFileLocation": {
            "type": "S3",
            "s3_location": {
                "uri": "string"
            }
        },
        "fileMetadata": {
            "key1": "value1",
            "key2": "value2"
        },
        "contentBatches": [{
            "key": "string"
        }]
    }]
}
```

**Formato de archivo de los objetos al que se hace referencia en `fileContents`**

```
{
    "fileContents": [{
        "contentBody": "...",
        "contentType": "string", // enum of TEXT, PDF, ...
        "contentMetadata": {
            "key1": "value1",
            "key2": "value2"
        }
    }
    ...
    ]
}
```

# Inclusión de metadatos en un origen de datos para mejorar la consulta de la base de conocimiento
<a name="kb-metadata"></a>

Al ingerir archivos CSV (valores separados por comas), puede hacer que la base de conocimientos trate determinadas columnas como campos de contenido y no como campos de metadatos. En lugar de tener cientos o miles de pares de archivos de contenido/metadatos, ahora puede tener un solo archivo CSV y el correspondiente archivo metadata.json, lo que proporciona a la base de conocimientos consejos sobre cómo tratar cada columna del archivo CSV.

Hay límites para los campos y atributos de metadatos de los documentos por fragmento. Consulte [Cuotas de las bases de conocimientos](https://docs.aws.amazon.com/bedrock/latest/userguide/quotas.html).

Antes de la ingesta de un archivo CSV, asegúrese de que:
+ El archivo CSV tenga el formato RFC4180 y esté codificado en UTF-8.
+ La primera fila del CSV incluya la información del encabezado.
+ Los campos de metadatos proporcionados en el metadata.json estén presentes como columnas en el archivo CSV.
+ Debe proporcionar un archivo fileName.csv.metadata.json con el siguiente formato:

  ```
  {
      "metadataAttributes": {
          "${attribute1}": "${value1}",
          "${attribute2}": "${value2}",
          ...
      },
      "documentStructureConfiguration": {
          "type": "RECORD_BASED_STRUCTURE_METADATA",
          "recordBasedStructureMetadata": {
              "contentFields": [
                  {
                      "fieldName": "string"
                  }
              ],
              "metadataFieldsSpecification": {
                  "fieldsToInclude": [
                      {
                          "fieldName": "string"
                      }
                  ],
                  "fieldsToExclude": [
                      {
                          "fieldName": "string"
                      }
                  ]
              }
          }
      }
  }
  ```

El archivo CSV se analiza fila por fila y la estrategia de fragmentación y la incrustación vectorial se aplican al campo de contenido. Actualmente, las bases de conocimientos de Amazon Bedrock admiten un campo de contenido. El campo de contenido se divide en fragmentos y los campos de metadatos (columnas) que están asociados a cada fragmento se tratan como valores de cadena.

Por ejemplo, supongamos que hay un CSV con una columna “Descripción” y una columna “Fecha de creación”. El campo de descripción es el campo de contenido y la fecha de creación es un campo de metadatos asociado. El texto de la descripción se divide en fragmentos y se convierte en incrustaciones vectoriales para cada fila del archivo CSV. El valor de la fecha de creación se trata como una representación en cadena de la fecha y se asocia a cada fragmento de la descripción.

Si no se proporciona ningún campo de inclusión o exclusión, todas las columnas se tratan como columnas de metadatos, excepto la columna de contenido. Si solo se proporcionan campos de inclusión, solo las columnas proporcionadas se tratan como metadatos. Si solo se proporcionan campos de exclusión, todas las columnas se tratan como metadatos, excepto las columnas de exclusión. Si proporciona el mismo `fieldName` en `fieldsToInclude` y `fieldsToExclude`, Amazon Bedrock generará una excepción de validación. Si hay un conflicto entre la inclusión y la exclusión, se producirá un error.

Las filas en blanco que se encuentran dentro de un CSV se ignoran o se omiten.

# Modelos y regiones admitidos para las bases de conocimiento de Amazon Bedrock
<a name="knowledge-base-supported"></a>

Las bases de conocimiento de Amazon Bedrock permiten realizar consultas con los siguientes modelos básicos:


| Proveedor | Modelo | ID del modelo | Soporte para modelos de una sola región | Soporte de perfiles de inferencia entre regiones | 
| --- | --- | --- | --- | --- | 
| AI21 Laboratorios | Jamba 1.5 Large | ai21.jamba-1-5-large-v1:0 |  us-east-1  |  | 
| AI21 Laboratorios | Jamba 1.5 Mini | ai21.jamba-1-5-mini-v1:0 |  us-east-1  |  | 
| Amazon | Nova Lite | amazon. nova-lite-v1:0 |  ap-northeast-1 ap-southeast-2 eu-north-1 eu-west-2 us-east-1 us-gov-west-1  |  ap-northeast-1 ap-northeast-2 ap-south-1 ap-southeast-1 ap-southeast-2 ca-central-1 eu-central-1 eu-north-1 eu-south-1 eu-south-2 eu-west-1 eu-west-3 us-east-1 us-east-2 us-west-2  | 
| Amazon | Nova Micro | amazona. nova-micro-v1:0 |  ap-southeast-2 eu-west-2 us-east-1 us-gov-west-1  |  ap-northeast-1 ap-northeast-2 ap-south-1 ap-southeast-1 ap-southeast-2 eu-central-1 eu-north-1 eu-south-1 eu-south-2 eu-west-1 eu-west-3 us-east-1 us-east-2 us-west-2  | 
| Amazon | Nova Pro | amazona. nova-pro-v1:0 |  ap-southeast-2 eu-west-2 us-east-1 us-gov-west-1  |  ap-northeast-1 ap-northeast-2 ap-south-1 ap-southeast-1 ap-southeast-2 eu-central-1 eu-north-1 eu-south-1 eu-south-2 eu-west-1 eu-west-3 us-east-1 us-east-2 us-west-2  | 
| Anthropic | Claude 3 Haiku | anthropic.claude-3-haiku-20240307-v1:0 |  ap-northeast-1 ap-northeast-2 ap-south-1 ap-southeast-1 ap-southeast-2 ca-central-1 eu-central-1 eu-central-2 eu-west-1 eu-west-2 eu-west-3 sa-east-1 us-east-1 us-gov-west-1 us-west-2  |  eu-central-1 us-east-2 us-gov-east-1  | 
| Anthropic | Claude 3 Sonnet | anthropic.claude-3-sonnet-20240229-v1:0 |  ap-south-1 ap-southeast-2 ca-central-1 eu-central-1 eu-west-1 eu-west-2 eu-west-3 sa-east-1 us-east-1 us-west-2  |  ap-northeast-1 ap-northeast-2 ap-southeast-1 eu-central-1  | 
| Anthropic | Claude 3.5 Haiku | anthropic.claude-3-5-haiku-20241022-v1:0 |  us-west-2  |  us-east-1 us-east-2  | 
| Anthropic | Claude 3.5 Sonnet | anthropic.claude-3-5-sonnet-20240620-v1:0 |  ap-northeast-1 ap-northeast-2 ap-southeast-1 eu-central-1 eu-central-2 us-east-1 us-gov-west-1 us-west-2  |  ap-south-1 ap-southeast-2 eu-central-1 eu-west-1 eu-west-3 us-east-1 us-east-2 us-gov-east-1 us-west-2  | 
| Anthropic | Claude 3.5 Sonnet v2 | anthropic.claude-3-5-sonnet-20241022-v2:0 |  ap-southeast-2 us-west-2  |  ap-northeast-1 ap-northeast-2 ap-northeast-3 ap-south-1 ap-south-2 ap-southeast-1 ap-southeast-2 us-east-1 us-east-2  | 
| Anthropic | Claude 3.7 Sonnet | anthropic.claude-3-7-sonnet-20250219-v 1:0 |  eu-west-2 us-gov-west-1  |  ap-northeast-1 ap-northeast-2 ap-northeast-3 ap-south-1 ap-south-2 ap-southeast-1 ap-southeast-2 eu-central-1 eu-north-1 eu-west-1 eu-west-3 us-east-1 us-east-2 us-gov-east-1 us-west-2  | 
| Anthropic | Claude Opus 4 | anthropic.claude-opus-4-20250514-v1:0 |  |  us-east-1 us-east-2 us-west-2  | 
| Anthropic | Claude Sonnet 4 | anthropic.claude-sonnet-4-20250514-v1:0 |  |  ap-northeast-1 ap-northeast-2 ap-northeast-3 ap-south-1 ap-south-2 ap-southeast-1 ap-southeast-2 eu-central-1 eu-north-1 eu-south-1 eu-south-2 eu-west-1 eu-west-3 us-east-1 us-east-2 us-west-2  | 
| Anthropic | Claude Sonnet 4.5 | anthropic.claude-sonnet-4-5-20250929-v1:0 | N/A |  ap-northeast-1 ap-northeast-2 ap-northeast-3 ap-south-1 ap-south-2 ap-southeast-1 ap-southeast-2 ca-central-1 eu-central-1 eu-central-2 eu-north-1 eu-south-1 eu-south-2 eu-west-1 eu-west-2 eu-west-3 sa-east-1 us-east-1 us-east-2 us-gov-east-1 us-gov-west-1 us-west-2  | 
| Cohere | Command R | cohesionar. command-r-v1:0 |  us-east-1 us-west-2  |  | 
| Cohere | Command R\$1 | cohesionar. command-r-plus-v1:0 |  us-east-1 us-west-2  |  | 
| DeepSeek | DeepSeek-R1 | deepseek.r1-v1:0 |  |  us-east-1 us-east-2 us-west-2  | 
| Meta | Llama 3 70B Instruct | meta.llama3-70 1:0 b-instruct-v |  ap-south-1 ca-central-1 eu-west-2 us-east-1 us-gov-west-1 us-west-2  |  | 
| Meta | Llama 3 8B Instruct | meta.llama3-8 1:0 b-instruct-v |  ap-south-1 ca-central-1 eu-west-2 us-east-1 us-gov-west-1 us-west-2  |  | 
| Meta | Llama 3.1 405B Instruct | metal.llama3-1-405 1:0 b-instruct-v |  us-west-2  |  us-east-2  | 
| Meta | Llama 3.1 70B Instruct | b-instruct-vmeta.llama3-1-70 1:0 |  us-west-2  |  us-east-1 us-east-2 us-west-2  | 
| Meta | Llama 3.1 8B Instruct | metal.llama 3-1-8 1:0 b-instruct-v |  us-west-2  |  us-east-1 us-east-2 us-west-2  | 
| Meta | Llama 3.2 11B Instruct | metal.llama 3-2-11 1:0 b-instruct-v |  |  us-east-1 us-east-2 us-west-2  | 
| Meta | Llama 3.2 90B Instruct | meta.llama3-2-90 1:0 b-instruct-v |  |  us-east-1 us-east-2 us-west-2  | 
| Meta | Llama 3.3 70B Instruct | metal.llama 3-3-70 1:0 b-instruct-v |  us-east-2  |  us-east-1 us-east-2 us-west-2  | 
| Mistral AI | Mistral Large (24.02) | mistral.mistral-large-2402-v1:0 |  ap-south-1 ap-southeast-2 ca-central-1 eu-west-1 eu-west-2 eu-west-3 sa-east-1 us-east-1 us-west-2  |  | 
| Mistral AI | Mistral Large (24.07) | mistral.mistral-large-2407-v1:0 |  us-west-2  |  | 
| Mistral AI | Mistral Small (24.02) | mistral.mistral-small-2402-v1:0 |  us-east-1  |  | 

Bases de conocimiento de Amazon Bedrock también admite el uso de perfiles de inferencia para analizar datos o generar respuestas. Con los perfiles de inferencia, puede realizar un seguimiento de los costos y las métricas, y también realizar la inferencia entre regiones para distribuir las solicitudes de inferencia de modelos en un conjunto de regiones y permitir un mayor rendimiento. Puede especificar un perfil de inferencia en una solicitud o. [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html) Para obtener más información, consulte [Configuración de un recurso de invocación de modelos mediante perfiles de inferencia](inference-profiles.md).

**importante**  
Si utiliza la inferencia entre regiones, sus datos se pueden compartir entre regiones.

También puede utilizar modelos de SageMaker IA o [modelos personalizados](custom-models.md) que pueda entrenar con sus propios datos.

**nota**  
Si utilizas un modelo personalizado o de SageMaker IA, debes especificar las solicitudes de orquestación y generación (para obtener más información, consulta las **plantillas de solicitudes de la base de conocimientos** en[Configuración y personalización de las consultas y la generación de respuestas](kb-test-config.md)). Sus peticiones deben incluir variables de información para acceder a las entradas y al contexto de los usuarios.

La compatibilidad de las regiones y modelos difieren para algunas características de Bases de conocimiento de Amazon Bedrock. Seleccione un tema para ver la compatibilidad de una característica:

**Topics**
+ [Modelos compatibles para incrustaciones vectoriales](#knowledge-base-supported-embeddings)
+ [Regiones y modelos compatibles para el análisis](#knowledge-base-supported-parsing)
+ [Modelos y regiones compatibles para reclasificar los resultados durante la consulta](#knowledge-base-supported-rerank)
+ [Regiones compatibles con bases de conocimiento con almacenes de datos estructurados](#knowledge-base-supported-structured)

## Modelos compatibles para incrustaciones vectoriales
<a name="knowledge-base-supported-embeddings"></a>

Bases de conocimiento de Amazon Bedrock utiliza un modelo de incrustación para convertir sus datos en incrustaciones vectoriales y almacenar dichas incrustaciones en una base de datos vectorial. Para obtener más información, consulte [Conversión de datos en una base de conocimiento](kb-how-data.md).

Las bases de conocimiento de Amazon Bedrock admiten la incrustación de vectores mediante los siguientes modelos básicos:


| Proveedor | Modelo | ID del modelo | Soporte para modelos de una sola región | 
| --- | --- | --- | --- | 
| Amazon | Titan Embeddings G1 - Text | amazon. titan-embed-text-v1 |  ap-northeast-1 eu-central-1 us-east-1 us-west-2  | 
| Amazon | Titan Text Embeddings V2 | amazon. titan-embed-text-v2:0 |  ap-northeast-1 ap-northeast-2 ap-northeast-3 ap-south-1 ap-south-2 ap-southeast-2 ca-central-1 eu-central-1 eu-central-2 eu-north-1 eu-south-1 eu-south-2 eu-west-1 eu-west-2 eu-west-3 sa-east-1 us-east-1 us-east-2 us-gov-east-1 us-gov-west-1 us-west-2  | 
| Cohere | Embed English | cohesionar. embed-english-v3 |  ap-northeast-1 ap-south-1 ap-southeast-1 ap-southeast-2 ca-central-1 eu-central-1 eu-west-1 eu-west-2 eu-west-3 sa-east-1 us-east-1 us-west-2  | 
| Cohere | Embed Multilingual | cohesionar. embed-multilingual-v3 |  ap-northeast-1 ap-south-1 ap-southeast-1 ap-southeast-2 ca-central-1 eu-central-1 eu-west-1 eu-west-2 eu-west-3 sa-east-1 us-east-1 us-west-2  | 

Los modelos de incrustación admiten los siguientes tipos de vectores.


****  

| Nombre de modelo | Tipo de vector compatible | Número de dimensiones admitidas | 
| --- | --- | --- | 
| Amazon Titan Embeddings G1 - Text | Punto flotante | 1536 | 
| Amazon Titan Text Embeddings V2 | Punto flotante, binario | 256, 512, 1024 | 
| Cohere Embed (English) | Punto flotante, binario | 1024 | 
| Cohere Embed (Multilingual) | Punto flotante, binario | 1024 | 
| Amazon Titan Multimodal Embeddings G1 | Punto flotante | 1024 | 
| CohereIntegrar v3 (multimodal) | Punto flotante, binario | 1024 | 

## Regiones y modelos compatibles para el análisis
<a name="knowledge-base-supported-parsing"></a>

Al convertir datos en incrustaciones vectoriales, tiene diferentes opciones para analizar los datos en Bases de conocimiento de Amazon Bedrock. Para obtener más información, consulte [Opciones de análisis del origen de datos](kb-advanced-parsing.md).

Las siguientes listas admiten opciones de análisis:
+ El analizador de Automatización de Datos de Amazon Bedrock se admite en la región Oeste de EE. UU. (Oregón) y está en versión preliminar y sujeto a cambios.
+ Las siguientes familias de modelos fundacionales se pueden utilizar como analizadores:
  + Modelos de visión de Claude
  + Modelos de visión de Nova
  + LLama 4 modelos de visión

  El análisis de los modelos básicos está disponible en Región de AWS los casos en que estos modelos están disponibles directamente (no mediante inferencia entre regiones). Consulte [Modelos fundacionales compatibles en Amazon Bedrock](models-supported.md) para conocer la disponibilidad actual de los modelos por región.

## Modelos y regiones compatibles para reclasificar los resultados durante la consulta
<a name="knowledge-base-supported-rerank"></a>

Al recuperar los resultados de las consultas de la base de conocimiento, puede utilizar un modelo de reclasificación para reclasificar los resultados de la consulta de la base de conocimiento. Para obtener más información, consulte [Consulta de una base de conocimiento y recuperación de datos](kb-test-retrieve.md) y [Consulta de una base de conocimiento y generación de respuestas en función de los datos recuperados](kb-test-retrieve-generate.md).

Para obtener una lista de los modelos y las regiones que admiten la reclasificación, consulte [Regiones y modelos que admiten la reclasificación en Amazon Bedrock](rerank-supported.md).

## Regiones compatibles con bases de conocimiento con almacenes de datos estructurados
<a name="knowledge-base-supported-structured"></a>

Las bases de conocimiento con almacenes de datos estructurados le permiten conectar las bases de conocimiento con los almacenes de datos estructurados y convertir las consultas en lenguaje natural en consultas SQL. Para obtener más información, consulte [Creación de una base de conocimiento conectándose a un almacén de datos estructurados](knowledge-base-build-structured.md).

Las bases de conocimiento con almacenes de datos estructurados están disponibles en las siguientes direcciones: Regiones de AWS
+ Europa (Fráncfort)
+ Europa (Zúrich)
+ Europa (Irlanda)
+ Europa (Londres)
+ Europa (París)
+ Asia-Pacífico (Tokio)
+ Asia-Pacífico (Seúl)
+ Asia-Pacífico (Mumbai)
+ Asia-Pacífico (Singapur)
+ Asia-Pacífico (Sídney)
+ Canadá (centro)
+ América del Sur (São Paulo)
+ Este de EE. UU. (Norte de Virginia)
+ Este de EE. UU. (Ohio)
+ Oeste de EE. UU. (Oregón)
+ AWSGovCloud (EE. UU.-Oeste)

# Chateo con un documento sin tener configurada una base de conocimientos
<a name="knowledge-base-chatdoc"></a>

La característica **Chatear con el documento** de la consola de Amazon Bedrock le permite probar fácilmente una base de conocimientos sin necesidad de configurarla. Puede cargar un documento o arrastrarlo y soltarlo en la ventana de chat de la consola para empezar a hacer preguntas. **Chatear con el documento** utiliza el documento para responder preguntas, realizar un análisis, crear un resumen, detallar los campos de una lista numerada o reescribir el contenido. **Chatear con el documento** no almacena el documento ni sus datos después de usarlos.

**nota**  
Actualmente, la característica **Chatear con el documento** es más compatible con los modelos Sonnet de Anthropic. Consulte [Supported models for knowledge bases](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-supported.html) para obtener más información sobre cómo acceder a los modelos de bases de conocimientos y utilizarlos.  
No puede usar un modelo reclasificador al chatear con su documento.

También puede crear fácilmente un prototipo de una aplicación de chat o flujo sin necesidad de configurar una base de conocimiento. Con [Amazon Bedrock Studio](https://docs.aws.amazon.com/bedrock/latest/userguide/br-studio.html), puede cargar un documento desde su computadora para proporcionar los datos o el origen de datos de su aplicación. Amazon Bedrock Studio, que pasó a llamarse Amazon Bedrock IDE, ya está disponible en Estudio unificado de Amazon SageMaker. Para obtener más información, consulte [Amazon Bedrock IDE](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/bedrock.html).

Para utilizar la característica **Chatear con el documento** como parte de las bases de conocimientos, seleccione la pestaña siguiente y siga los pasos.

------
#### [ Console ]

**Para chatear con el documento en Amazon Bedrock:**

1. Abra la consola de Amazon Bedrock en [https://console.aws.amazon.com/bedrock/](https://console.aws.amazon.com/bedrock/).

1. En el panel de navegación de la izquierda, seleccione **Base de conocimientos** y **Chatear con el documento**.

1. En la pestaña **Chatear con el documento**, seleccione **Seleccionar un modelo** en **Modelo**.

1. Elija el modelo que desee utilizar para el análisis del documento y seleccione **Aplicar**.

1. Introduzca una petición del sistema en la pestaña **Chatear con el documento**.

1. En **Datos**, seleccione **Su computadora** o **S3**.

1. Elija **Seleccionar documento** para cargar el documento. También puede arrastrar y soltar el documento en la consola de chat, en el cuadro que dice **Escribir una consulta**.
**nota**  
Tipos de archivo: PDF, MD, TXT, DOC, DOCX, HTML, CSV, XLS y XLSX. Hay un límite de token fijo preestablecido cuando se utiliza un archivo de menos de 10 MB. Un archivo con mucho texto y un tamaño inferior a 10 MB puede superar el límite de token.

1. Introduzca una petición personalizada en el cuadro que dice **Escribir una consulta**. Puede introducir una petición personalizada o usar el mensaje predeterminado. El documento cargado y la petición aparecen en la parte inferior de la ventana de chat.

1. Seleccione **Ejecución**. La respuesta genera resultados de búsqueda con la opción **Mostrar fragmentos del origen** que muestran la información del material de origen de la respuesta.

1. Para cargar un archivo nuevo, seleccione la X para eliminar el archivo actual cargado en la ventana de chat y arrastre y suelte el nuevo archivo. Introduzca una nueva petición y seleccione **Ejecutar**.
**nota**  
Al seleccionar un archivo nuevo, se eliminarán las consultas y respuestas anteriores y se iniciará una nueva sesión.

------

# Configuración de los permisos de un usuario o rol para crear y administrar bases de conocimiento
<a name="knowledge-base-prereq-permissions-general"></a>

Para que un usuario o rol realice acciones relacionadas con Bases de conocimiento de Amazon Bedrock, debe asociarle políticas que otorguen permisos para realizar las acciones. Describe los permisos que permiten a un usuario recuperar información de estas bases de conocimiento y generar respuestas a partir de ellas.

Amplíe las siguientes secciones para aprender a configurar permisos para casos de uso específicos:

## Cómo permitir que un rol cree bases de conocimiento y las administre
<a name="w2aac28c10c21b7b1"></a>

Para permitir que un rol de IAM cree una base de conocimiento, la conecte a un almacén de datos estructurados, administre la base de conocimiento e inicie y administre los trabajos de ingesta del origen de datos a la base de conocimiento, debe proporcionar permisos para las acciones `KnowledgeBase`, `DataSource` e `IngestionJob`. Para proporcionar permisos para etiquetar las bases de conocimiento, incluya los permisos para `bedrock:TagResource` y `bedrock:UntagResource`. 

**nota**  
Si el usuario o el rol tienen la política [AmazonBedrockFullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonBedrockFullAccess) AWS administrada adjunta, puede omitir este requisito previo.

Para permitir que un rol realice estas acciones, asocie la siguiente política al rol:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CreateKB",
            "Effect": "Allow",
            "Action": [
                "bedrock:CreateKnowledgeBase"
            ],
            "Resource": "*"
        },
        {
            "Sid": "KBDataSourceManagement",
            "Effect": "Allow",
            "Action": [
                "bedrock:GetKnowledgeBase",
                "bedrock:ListKnowledgeBases",
                "bedrock:UpdateKnowledgeBase",
                "bedrock:DeleteKnowledgeBase",
                "bedrock:StartIngestionJob",
                "bedrock:GetIngestionJob",
                "bedrock:ListIngestionJobs",
                "bedrock:StopIngestionJob",
                "bedrock:TagResource",
                "bedrock:UntagResource"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/*"
            ]
        }
    ]
}
```

------

Tras crear una base de conocimientos, le recomendamos que reduzca los permisos de la `KBDataSourceManagement` declaración sustituyendo el comodín (*\$1*) por el ID de la base de conocimientos que ha creado.

## Cómo permitir que un rol realice las operaciones de la API de la base de conocimiento
<a name="w2aac28c10c21b7b3"></a>

En esta sección se describen los permisos que necesita para realizar las operaciones de la API `Retrieve` y `RetrieveAndGenerate` para las bases de conocimiento.

Asocie la política siguiente al rol:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "GetKB",
            "Effect": "Allow",
            "Action": [
                "bedrock:GetKnowledgeBase"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/${KnowledgeBaseId}"
            ]
        },
        {
            "Sid": "Retrieve",
            "Effect": "Allow",
            "Action": [
                "bedrock:Retrieve"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/${KnowledgeBaseId}"
            ]
        },
        {
            "Sid": "RetrieveAndGenerate",
            "Effect": "Allow",
            "Action": [
                "bedrock:RetrieveAndGenerate"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

Puede eliminar las instrucciones que no necesite en función del caso de uso:
+ La instrucción `GetKB` se utiliza para obtener la información de la base de conocimiento.
+ La instrucción `Retrieve` es necesaria para llamar a [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html) para recuperar los datos del almacén de datos.
+ La instrucción `RetrieveAndGenerate` es necesaria para llamar a [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html) para recuperar los datos del almacén de datos y generar las respuestas en función de los datos.

## Solicite acceso a los modelos básicos para RetrieveAndGenerate
<a name="knowledge-base-prereq-structured-model-access"></a>

Si planea utilizar [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html) para generar respuestas basadas en los datos recuperados de su origen de datos, solicite acceso a los modelos fundacionales que se utilizarán en la generación siguiendo los pasos que se indican en [Acceso a los modelos fundacionales de Amazon Bedrock](model-access.md).

Para restringir aún más los permisos, puede omitir acciones o puede especificar recursos y claves de condición para filtrar los permisos. Para obtener más información sobre las acciones, los recursos y las claves de condición, consulte los siguientes temas en la *Referencia de autorizaciones de servicio*:
+ [Acciones definidas por Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-actions-as-permissions): obtenga información sobre las acciones, los tipos de recursos a los que puede aplicarlas en el campo `Resource` y las claves de condición que puede usar para filtrar los permisos en el campo `Condition`.
+ [Tipos de recursos definidos por Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-resources-for-iam-policies): obtenga información sobre los tipos de recursos de Amazon Bedrock.
+ [Claves de condición de Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys): obtenga información sobre las claves de condición de Amazon Bedrock.

# Creación de una base de conocimiento conectándose a un origen de datos
<a name="knowledge-base-build"></a>

Bases de conocimiento de Amazon Bedrock admite diversos tipos de archivos almacenados en orígenes de datos. Para interpretar los datos de un origen de datos, Bases de conocimiento de Amazon Bedrock requiere la conversión de los datos en incrustaciones vectoriales, es decir, una representación numérica de los datos. Estas incrustaciones se pueden comparar con las representaciones vectoriales de una consulta para evaluar la similitud y determinar qué orígenes se deben devolver durante la recuperación de los datos.

Para conectar la base de conocimiento a un origen de datos se deben seguir estos pasos generales:

1. Conecte la base de conocimiento a un origen de datos compatible.

1. Si la fuente de datos contiene datos multimodales, incluidos archivos de imágenes, audio y vídeo, debe elegir un enfoque de procesamiento y un modelo de incrustación adecuados que admitan contenido multimodal.
**nota**  
Los datos multimodales solo se admiten con Amazon S3 y orígenes de datos personalizados. Para obtener una guía completa sobre cómo trabajar con contenido multimodal, consulte. [Cree una base de conocimientos para contenido multimodal](kb-multimodal.md)

1. Elija un modelo de incrustaciones para convertir los datos del origen de datos en incrustaciones vectoriales.

1. Elija un almacén de vectores para almacenar la representación vectorial de sus datos.

1. Sincronice sus datos para convertirlos en incrustaciones vectoriales.

1. Si modifica los datos del origen de datos, debe volver a sincronizar los cambios.

**Topics**
+ [Requisitos previos para crear una base de conocimiento de Amazon Bedrock con una fuente de datos no estructurada](knowledge-base-prereq.md)
+ [Requisitos previos y permisos necesarios para usar clústeres OpenSearch gestionados con las bases de conocimiento de Amazon Bedrock](kb-osm-permissions-prereq.md)
+ [Creación de una base de conocimiento conectándola a un origen de datos de Bases de conocimiento de Amazon Bedrock](knowledge-base-create.md)
+ [Sincronización de los datos con la base de conocimientos de Amazon Bedrock](kb-data-source-sync-ingest.md)
+ [Ingesta de cambios directamente en una base de conocimiento](kb-direct-ingestion.md)
+ [Visualización de la información del origen de datos de la base de conocimientos de Amazon Bedrock](kb-ds-info.md)
+ [Modificación de un origen de datos para la base de conocimientos de Amazon Bedrock](kb-ds-update.md)
+ [Eliminación de un origen de datos de la base de conocimientos de Amazon Bedrock](kb-ds-delete.md)

# Requisitos previos para crear una base de conocimiento de Amazon Bedrock con una fuente de datos no estructurada
<a name="knowledge-base-prereq"></a>

Las bases de conocimiento de Amazon Bedrock requieren datos y modelos para recuperar y generar respuestas, un almacén vectorial para almacenar la representación vectorial de los datos y AWS Identity and Access Management permisos para acceder a los datos y realizar acciones.

Para poder crear una base de conocimiento, debe cumplir los siguientes requisitos previos: Para conocer los requisitos generales de permisos, consulte [Configuración de los permisos de un usuario o rol para crear y administrar bases de conocimiento](knowledge-base-prereq-permissions-general.md).

1. Asegúrese de que los datos estén en un [conector de origen de datos compatible](data-source-connectors.md).

1. (Opcional) [Configurar su propio almacén vectorial compatible](knowledge-base-setup.md). Puede omitir este paso si piensa utilizar el Consola de administración de AWS para crear automáticamente un almacén vectorial para usted.

1. (Opcional) Cree un [rol de servicio](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role) personalizado AWS Identity and Access Management (IAM) con los permisos adecuados siguiendo las instrucciones que se indican en[Creación de un rol de servicio para bases de conocimientos de Amazon Bedrock](kb-permissions.md). Puede utilizar la Consola de administración de AWS para crear un rol de servicio de forma automática para usted.
**nota**  
Si va a crear una base de conocimientos con Amazon OpenSearch Service (incluido Amazon OpenSearch Serverless), la función de servicio requiere permisos adicionales además de los contemplados en la política gestionada por AWS BedrockFullAccess . Estos incluyen los permisos `aoss:CreateAccessPolicy`, `iam:CreateServiceLinkedRole` e `iam:CreateRole`.

1. (Opcional) Configurar configuraciones de seguridad adicionales siguiendo los pasos que se indican en [Cifrado de recursos de bases de conocimientos](encryption-kb.md).

1. (Opcional) Si tiene previsto utilizar la operación de la API [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html) para generar respuestas basadas en la información recuperada de su base de conocimiento, solicite acceso a los modelos que utilizará en las regiones en las que los utilizará siguiendo los pasos que se indican en [Acceso a los modelos fundacionales de Amazon Bedrock](model-access.md).

**Topics**
+ [Requisitos previos para los datos de la base de conocimientos de Amazon Bedrock](knowledge-base-ds.md)
+ [Requisitos previos para usar un almacén de vectores que haya creado para una base de conocimiento](knowledge-base-setup.md)

# Requisitos previos para los datos de la base de conocimientos de Amazon Bedrock
<a name="knowledge-base-ds"></a>

Un origen de datos contiene archivos o contenido con información que se puede recuperar cuando se consulta la base de conocimiento. Debe almacenar los documentos o el contenido en al menos uno de los [orígenes de datos admitidos](https://docs.aws.amazon.com/bedrock/latest/userguide/data-source-connectors.html).

## Formatos de documento compatibles y límites para los datos de la base de conocimientos
<a name="kb-ds-supported-doc-formats-limits"></a>

Cuando se conecta a un [origen de datos admitido](https://docs.aws.amazon.com/bedrock/latest/userguide/data-source-connectors.html), el contenido se incorpora a la base de conocimientos.

Si utiliza Amazon S3 para almacenar sus archivos o si su origen de datos incluye archivos adjuntos, primero debe comprobar que cada archivo del documento de origen cumpla con lo siguiente:
+ Los archivos de origen tienen los siguientes formatos compatibles:  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/knowledge-base-ds.html)
+ El tamaño de cada archivo no supera la cuota de 50 MB.

Si utiliza Amazon S3 o un origen de datos personalizado, puede utilizar datos multimodales, incluidas imágenes JPEG (.jpeg) o PNG (.png) o archivos que contengan tablas, gráficos, diagramas u otras imágenes.

**nota**  
El tamaño máximo de los archivos .JPEG y .PNG es de 3,75 MB.

# Requisitos previos para usar un almacén de vectores que haya creado para una base de conocimiento
<a name="knowledge-base-setup"></a>

Para almacenar las incrustaciones vectoriales a las que se convierten los documentos, se utiliza un almacén de vectores. Bases de conocimiento de Amazon Bedrock admite un flujo de creación rápida para algunos de los almacenes de vectores, por lo que si prefiere que Amazon Bedrock cree un índice vectorial de forma automática en uno de esos almacenes de vectores, omita este requisito previo y continúe con [Creación de una base de conocimiento conectándola a un origen de datos de Bases de conocimiento de Amazon Bedrock](knowledge-base-create.md).

Si desea almacenar incrustaciones de vectores binarios en lugar de las incrustaciones vectoriales estándar de punto flotante (float32), debe utilizar un almacén de vectores que admita vectores binarios.

**nota**  
Los clústeres Amazon OpenSearch Serverless y Amazon OpenSearch Managed son los únicos almacenes de vectores que admiten el almacenamiento de vectores binarios.

Puede configurar su propio almacén vectorial compatible para indexar la representación de incrustaciones vectoriales de sus datos. Puede crear campos para los siguientes datos:
+ Un campo para los vectores generados a partir del texto del origen de datos mediante el modelo de incrustaciones que elija.
+ Un campo para los fragmentos de texto extraídos de los archivos del origen de datos.
+ Campos para los metadatos de los archivos de origen que administra Amazon Bedrock.
+ (Si utiliza una base de datos de Amazon Aurora y desea configurar el [filtrado de los metadatos](kb-test-config.md)) Campos para los metadatos que asocia a sus archivos de origen. Si planea configurar el filtrado en otros almacenes vectoriales, no es necesario que configure estos campos para el filtrado.

Puede cifrar los almacenes vectoriales de terceros con una clave de KMS. Para obtener más información, consulte [Cifrado de recursos de bases de conocimientos](https://docs.aws.amazon.com/bedrock/latest/userguide/encryption-kb.html).

Seleccione la pestaña correspondiente al servicio de almacenamiento vectorial que utilizará para crear el índice vectorial.

**nota**  
La elección del modelo de incrustación y las dimensiones de los vectores puede afectar a las opciones de almacén de vectores disponibles. Si no puede utilizar su almacén de vectores preferido, elija opciones de modelo de incrustación y dimensiones de vectores compatibles.

------
#### [ Amazon OpenSearch Serverless ]

1. Para configurar los permisos y crear una colección de búsquedas vectoriales en Amazon OpenSearch Serverless Consola de administración de AWS, siga los pasos 1 y 2 de Cómo [trabajar con colecciones de búsquedas vectoriales](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-vector-search.html) de la Guía para desarrolladores de Amazon OpenSearch Service. Tenga en cuenta las siguientes consideraciones al configurar la colección:

   1. Asigne un nombre a la colección y redacte una descripción.

   1. Para que la colección sea privada, seleccione **Creación estándar** en la sección **Seguridad**. A continuación, en la sección **Configuración de acceso a la red**, seleccione **VPC** como **Tipo de acceso** y elija un punto de conexión de VPC. Para obtener más información sobre la configuración de un punto de enlace de VPC para una colección de Amazon OpenSearch Serverless, consulte Acceder a [Amazon OpenSearch Serverless mediante un punto de enlace de interfaz ()AWS PrivateLink en](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-vpc.html) la Guía para desarrolladores de Amazon OpenSearch Service.

1. Después de crear la colección, tome nota del **ARN de la colección** para crear la base de conocimientos.

1. En el panel de navegación de la izquierda, seleccione **Colecciones** en **Sin servidor**. A continuación, seleccione la colección de búsqueda vectorial.

1. Seleccione la pestaña **Índices**. A continuación, elija **Crear índice vectorial**.

1. En la sección **Detalles del índice vectorial**, introduzca un nombre para el índice en el campo **Nombre del índice vectorial**.

1. En la sección **Campos vectoriales**, seleccione **Agregar campo vectorial**. Amazon Bedrock almacena las incrustaciones vectoriales del origen de datos en este campo. Proporcione las siguientes configuraciones:
   + **Nombre del campo vectorial**: proporcione un nombre para el campo (por ejemplo, **embeddings**).
   + **Motor**: es el motor vectorial utilizado para la búsqueda. Seleccione **faiss**.
   + **Dimensiones**: el número de dimensiones del vector. Consulte la siguiente tabla para determinar cuántas dimensiones debe contener el vector:  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/knowledge-base-setup.html)
   + **Métrica de distancia**: métrica que se utiliza para medir la similitud entre los vectores. Recomendamos utilizar **Euclidean** para incrustaciones vectoriales de punto flotante.

1. Expanda la sección **Administración de metadatos** y añada dos campos para configurar el índice vectorial para almacenar metadatos adicionales que una base de conocimientos pueda recuperar con vectores. En la siguiente tabla se describen los campos y los valores a especificar para cada campo:  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/knowledge-base-setup.html)

1. Tome nota de los nombres que elija para el índice vectorial, el campo vectorial y el campo de asignación de la administración de metadatos para cuando cree la base de conocimientos. A continuación, seleccione **Crear**.

Después de crear el índice vectorial, puede continuar con la [creación de la base de conocimientos](knowledge-base-create.md). En la siguiente tabla se resume dónde se debe introducir cada dato del que haya tomado nota.


| Campo | Campo correspondiente en la configuración de la base de conocimientos (consola) | Campo correspondiente en la configuración de la base de conocimientos (API) | Description (Descripción) | 
| --- | --- | --- | --- | 
| ARN de colección | ARN de colección | collectionARN | Es el nombre de recurso de Amazon (ARN) de la colección de búsqueda vectorial. | 
| Nombre del índice vectorial | Nombre del índice vectorial | vectorIndexName | Es el nombre del índice vectorial. | 
| Nombre del campo vectorial | Campo vectorial | vectorField | Es el nombre del campo en el que se almacenan las incrustaciones vectoriales para los orígenes de datos. | 
| Administración de metadatos (primer campo de asignación) | Campo de texto | textField | Es el nombre del campo en el que se almacena el texto sin procesar de los orígenes de datos. | 
| Administración de metadatos (segundo campo de asignación) | Campo de metadatos administrado por Bedrock | metadataField | Es el nombre del campo en el que se almacenan los metadatos que administra Amazon Bedrock.  | 

Para obtener documentación más detallada sobre la configuración de un almacén vectorial en Amazon OpenSearch Serverless, consulte Cómo [trabajar con colecciones de búsquedas vectoriales](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-vector-search.html) en la Guía para desarrolladores de Amazon OpenSearch Service.

------
#### [ Amazon OpenSearch Service Managed Clusters ]

**importante**  
Antes de utilizar cualquier recurso de dominio en clústeres OpenSearch gestionados, debe configurar determinados permisos y políticas de acceso de IAM. Para obtener más información, consulte [Requisitos previos y permisos necesarios para usar clústeres OpenSearch gestionados con las bases de conocimiento de Amazon BedrockDescripción general de la configuración de permisos](kb-osm-permissions-prereq.md).
Si se producen errores en la ingesta de datos, es posible que se deba a que la capacidad del OpenSearch dominio es insuficiente. Para resolver este problema, aumente la capacidad de su dominio aprovisionando un número mayor de IOPS y aumentando la configuración de rendimiento. Para obtener más información, consulta [Mejores prácticas operativas para Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/bp.html).

1. Para crear un índice de dominios y vectores en OpenSearch Cluster in the Consola de administración de AWS, siga los pasos descritos en [Creación y gestión de dominios de OpenSearch servicio](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html) de la *Guía para desarrolladores de Amazon OpenSearch Service*.

   Tenga en cuenta las siguientes consideraciones al configurar el dominio:

   1. Proporcione el nombre que desee al dominio.

   1. Le recomendamos que utilice la opción **Creación sencilla** para empezar rápidamente a crear su dominio.
**nota**  
Esta opción le ofrece un dominio con un rendimiento bajo. Si tiene cargas de trabajo más grandes que requieren un rendimiento superior, elija la opción **Creación estándar**. Puede ajustar la capacidad más adelante según sea necesario. Con esta opción, puede comenzar con la capacidad más baja, que se puede modificar más adelante según sea necesario.

   1. Para Red, debe elegir **Acceso público**. OpenSearch los dominios que están detrás de una VPC no son compatibles con su base de conocimientos.

   1. En **Versión**, si utiliza incrustaciones de vectores binarios, Bases de conocimiento de Amazon Bedrock requiere una versión del motor 2.16 o posterior. Además, se requiere una versión 2.13 o superior para crear un índice k-nn. Para obtener más información, consulta [K-NN Search](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/knn.html) en la guía para *desarrolladores de Amazon OpenSearch Service*.

   1. Le recomendamos que utilice el **modo de doble pila**.

   1. Le recomendamos que habilite un **control de acceso detallado** para proteger los datos de su dominio y que controle aún más los permisos que permiten a su rol de servicio de la base de conocimientos acceder al OpenSearch dominio y realizar solicitudes.

   1. Deje todas las demás opciones con sus valores predeterminados y elija **Crear** para crear su dominio.

1. Una vez creado el dominio, haga clic en él para anotar el **ARN del dominio** y el **punto de conexión del dominio** para cuando cree la base de conocimiento.

1. Una vez creado el dominio, puede crear un índice vectorial ejecutando los siguientes comandos en un OpenSearch panel de control o utilizando los comandos curl. Para obtener más información, consulte la [Documentación de OpenSearch ](https://opensearch.org/docs/latest/search-plugins/knn/knn-index/).

   Al ejecutar el comando:
   + Proporcione un nombre al campo vectorial (por ejemplo, **embeddings**).
   + Asegúrese de que el vector utilizado para la búsqueda sea **faiss**. **nmslib** no se admite.
   + Consulte la siguiente tabla para determinar cuántas dimensiones debe contener el vector:
**nota**  
El modelo Titan V2 Embeddings - Text admite varias dimensiones. También puede ser 256 o 512.  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/knowledge-base-setup.html)
   + Puede añadir dos campos para configurar el índice vectorial para almacenar metadatos adicionales que una base de conocimiento pueda recuperar con vectores. En la siguiente tabla se describen los campos y los valores que se pueden especificar en cada uno de ellos.  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/knowledge-base-setup.html)

   ```
   PUT /<index-name>
   {
       "settings": {
           "index": {
               "knn": true
           }
       },
       "mappings": {
           "properties": {
               "<vector-name>": {
                   "type": "knn_vector",
                   "dimension": <embedding-dimension>,
                   "data_type": "binary",          # Only needed for binary embeddings
                   "space_type": "l2" | "hamming", # Use l2 for float embeddings and hamming for binary embeddings
                   "method": {
                       "name": "hnsw",
                       "engine": "faiss",
                       "parameters": {
                           "ef_construction": 128,
                           "m": 24
                       }
                   }
               },
   
               "AMAZON_BEDROCK_METADATA": {
                   "type": "text",
                   "index": "false"
               },
               "AMAZON_BEDROCK_TEXT_CHUNK": {
                   "type": "text",
                   "index": "true"            
               }
           }
       }
   }
   ```

1. Anote el ARN y el punto de conexión del dominio, así como los nombres que elija para el índice vectorial, el campo vectorial y los campos de asignación de la administración de metadatos para cuando cree la base de conocimiento.

Después de crear el índice vectorial, puede continuar con la [creación de la base de conocimientos](knowledge-base-create.md). En la siguiente tabla se resume dónde se debe introducir cada dato del que haya tomado nota.


| Campo | Campo correspondiente en la configuración de la base de conocimientos (consola) | Campo correspondiente en la configuración de la base de conocimientos (API) | Description (Descripción) | 
| --- | --- | --- | --- | 
| ARN del dominio | ARN del dominio | domainARN | El nombre de recurso de Amazon (ARN) del OpenSearch dominio. | 
| Punto de conexión del dominio | Punto de conexión del dominio | domainEndpoint | El punto final para conectarse al OpenSearch dominio. | 
| Nombre del índice vectorial | Nombre del índice vectorial | vectorIndexName | Es el nombre del índice vectorial. | 
| Nombre del campo vectorial | Campo vectorial | vectorField | Es el nombre del campo en el que se almacenan las incrustaciones vectoriales para los orígenes de datos. | 
| Administración de metadatos (primer campo de asignación) | Campo de texto | textField | Es el nombre del campo en el que se almacena el texto sin procesar de los orígenes de datos. | 
| Administración de metadatos (segundo campo de asignación) | Campo de metadatos administrado por Bedrock | metadataField | Es el nombre del campo en el que se almacenan los metadatos que administra Amazon Bedrock.  | 

------
#### [ Amazon S3 Vectors ]

Amazon S3 Vectors proporciona un almacenamiento vectorial rentable en Amazon S3 que se puede utilizar para almacenar y consultar datos vectoriales. Proporciona un almacenamiento duradero y elástico de grandes conjuntos de datos vectoriales con un rendimiento de consulta inferior a un segundo. Amazon S3 Vectors es ideal para cargas de trabajo de consultas poco frecuentes y puede ayudar a reducir los costos cuando se utiliza en aplicaciones de generación aumentada por recuperación (RAG) y búsqueda semántica.

Amazon S3 Vectors presenta los cubos vectoriales S3, que contienen índices vectoriales que puede consultar en función del significado y la similitud semánticos. Se puede usar para ofrecer tiempos de respuesta a las consultas inferiores a un segundo y reducir los costos, además de para almacenar, acceder y consultar datos vectoriales a escala sin aprovisionar ninguna infraestructura. En un bucket de vectores, puede organizar los datos vectoriales en índices vectoriales. Su cubo vectorial puede tener varios índices vectoriales. Para obtener más información, consulte [Amazon S3 Vectors](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors.html) en la *Guía del usuario de Amazon S3*.

**nota**  
Puede crear una base de conocimientos para Amazon S3 Vectors en todos los sitios en Región de AWS los que estén disponibles Amazon Bedrock y Amazon S3 Vectors. Para obtener información sobre la disponibilidad regional de Amazon S3 Vectors, consulte [Amazon S3 Vectors](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors.html) en la *Guía del usuario de Amazon S3*.
Si utiliza recuentos de tokens muy altos con fragmentación jerárquica en las bases de conocimiento de Amazon Bedrock, puede superar los límites máximos de tamaño de los metadatos, ya que las relaciones de los fragmentos padre-hijo y el contexto jerárquico se almacenan como metadatos no filtrables en Amazon S3 Vectors. Para obtener más información sobre los límites de tamaño de los metadatos por vector, consulte [Limitaciones y restricciones](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors-limitations.html) en la *Guía del usuario de Amazon S3*. Para obtener información sobre las estrategias de fragmentación, consulte [Funcionamiento de la fragmentación de contenido para las bases de conocimiento](kb-chunking.md).
<a name="metadata-support"></a>
**Compatibilidad con metadatos**  
Puede adjuntar metadatos como pares clave-valor a cada vector. De forma predeterminada, los metadatos se pueden filtrar y se pueden usar en consultas de búsqueda por similitud para filtrar por condiciones como fechas, categorías o preferencias del usuario.

También puede configurar los metadatos para que no se puedan filtrar al crear el índice vectorial. Los índices vectoriales de Amazon S3 admiten los tipos cadena, booleano y número.

Al utilizar Amazon S3 Vectors con las bases de conocimiento de Amazon Bedrock, puede adjuntar hasta 1 KB de metadatos personalizados (incluidos los metadatos filtrables y no filtrables) y 35 claves de metadatos por vector. Para obtener más información sobre los límites de tamaño de los metadatos por vector, consulte [Limitaciones y restricciones](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors-limitations.html) en la *Guía del usuario de Amazon S3*.

Si los metadatos superan estos límites, el trabajo de ingesta generará una excepción al rellenar el índice vectorial. Para obtener más información, consulte [Amazon S3 Vectors](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors.html) en la *Guía del usuario de Amazon S3*.

**Permisos necesarios**  
Asegúrese de que su política de IAM permita a Amazon Bedrock acceder a su índice vectorial en el bucket de vectores de S3. Para obtener más información sobre los permisos necesarios, consulte [Creación de un rol de servicio para bases de conocimientos de Amazon Bedrock](kb-permissions.md).

**Creación de un bucket e índice vectorial de S3**  
Para utilizar Amazon S3 Vectors con la base de conocimiento, debe crear un bucket de vectores y un índice vectorial de S3. Puede crear un bucket vectorial y un índice mediante la consola o el AWS SDK de Amazon S3. AWS CLI Para obtener instrucciones detalladas, consulte [Creación de un índice vectorial](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors-index-create.html) en la *Guía del usuario de Amazon S3*.

Tenga en cuenta las siguientes consideraciones al crear el bucket y el índice vectoriales en la [consola de Amazon S3](https://console.aws.amazon.com/s3/vector-buckets#).

1. Tenga en cuenta las siguientes consideraciones cuando cree un bucket de vectores de S3.
   + Proporcione un **nombre de bucket de vectores** único.
   + (Opcional) Amazon S3 cifrará los datos de forma automática mediante el **cifrado predeterminado del servidor con claves administradas de Amazon S3 (SSE-S3)**. Puede elegir si desea utilizar este cifrado predeterminado o, en su lugar, el cifrado del **lado del servidor con claves del servicio de administración de AWS claves (SSE-KMS**).
**nota**  
El tipo de cifrado no se puede cambiar después de crear el bucket de vectores.

     Para obtener step-by-step instrucciones, consulte [Cifrado](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors-bucket-encryption.html) con claves KMS. AWS 

1. Después de crear el bucket de vectores de S3, tome nota del **Nombre de recurso de Amazon (ARN)** del bucket de vectores para crear la base de conocimiento.

1. Elija el bucket de vectores que creó y, a continuación, cree un índice vectorial. Tenga en cuenta las siguientes consideraciones cuando cree un índice vectorial.
   + **Nombre del índice vectorial**: proporcione un nombre para el campo (por ejemplo, **embeddings**).
   + **Dimensión**: el número de dimensiones del vector. Las dimensiones deben tener un valor comprendido entre 1 y 4096. Consulte la siguiente tabla para determinar cuántas dimensiones debe contener el vector en función del modelo de incrustación elegido:  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/knowledge-base-setup.html)
   + 
**nota**  
Amazon S3 Vectors solo admite incrustaciones de punto flotante. No se admiten las incrustaciones binarias.

     **Métrica de distancia**: métrica que se utiliza para medir la similitud entre los vectores. Puede usar **Cosine** o **Euclidean**.

1. Amplíe **Configuración adicional** y proporcione los metadatos no filtrables en el campo **Metadatos no filtrables**.

   Puede configurar hasta un máximo de diez claves de metadatos no filtrables. Seleccione **Agregar clave** y, a continuación, añada `AMAZON_BEDROCK_TEXT` y `AMAZON_BEDROCK_METADATA` como claves.

1. En **Cifrado**, elija **Especificar tipo de cifrado**. Tiene la opción de **Utilizar la configuración de bucket para el cifrado** o invalidar la configuración de cifrado del índice vectorial. Si anula la configuración a nivel de bucket, tiene la opción de especificar el tipo de cifrado para el índice vectorial como cifrado del lado del **servidor con AWS claves del Servicio de administración de claves (SSE-KMS) o el cifrado predeterminado del lado del servidor con claves administradas de **Amazon S3 (SSE-S3**)**. Para obtener más información sobre cómo configurar el cifrado para los índices vectoriales, consulte [Protección de datos y cifrado en Amazon S3 Vectors](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors-data-encryption.html).

1. En **Etiquetas (opcional)**, puede añadir etiquetas como pares clave-valor para facilitar el seguimiento y la organización de los costes indexados vectoriales mediante AWS Billing and Cost Management. Introduzca la información pertinente en **Key (Clave)** y **Value (Valor)**. Para agregar otra etiqueta, elija **Add Tag (Añadir etiqueta)**. Puede ingresar un máximo de 50 etiquetas para un índice vectorial. Para obtener más información, consulte [Uso de etiquetas con índices vectoriales de Amazon S3](https://docs.aws.amazon.com/console/s3/vector-index-create-with-tag).

1. Después de crear el índice vectorial, tome nota del **Nombre de recurso de Amazon (ARN)** del índice vectorial para crear la base de conocimiento.

**Creación de una base de conocimiento para un bucket de vectores de S3**  
Después de recopilar esta información, puede continuar con la [creación de la base de conocimiento](knowledge-base-create.md). Al crear su base de conocimiento con el bucket de vectores de S3, tendrá que proporcionar el ARN del bucket de vectores y el índice vectorial. El índice vectorial almacenará las incrustaciones que se generen a partir de los orígenes de datos. En la siguiente tabla se indica dónde se debe introducir cada dato:


| Campo | Campo correspondiente en la configuración de la base de conocimientos (consola) | Campo correspondiente en la configuración de la base de conocimientos (API) | Description (Descripción) | 
| --- | --- | --- | --- | 
| ARN del bucket de vectores | ARN del bucket de vectores de S3 | vectorBucketArn | El Nombre de recurso de Amazon (ARN) del bucket de vectores de S3 | 
| ARN del índice vectorial | ARN del índice vectorial de S3 | vectorIndexARN | El Nombre de recurso de Amazon (ARN) del índice vectorial del bucket de vectores de S3 | 

------
#### [ Amazon Aurora (RDS) ]

1. Para crear un clúster de base de datos (DB) de Amazon Aurora, un esquema y una tabla, siga los pasos que se indican en [Uso de Aurora PostgreSQL como base de conocimientos](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.VectorDB.html). Cuando cree la tabla, configúrela con las columnas y tipos de datos siguientes. Puede usar los nombres de columna que prefiera en lugar de los que aparecen en la tabla anterior. Tome nota de los nombres de las columnas que elija para poder proporcionarlos durante la configuración de la base de conocimientos.

   Debe proporcionar estos campos antes de crear la base de conocimiento. No se pueden actualizar una vez creada la base de conocimiento.
**importante**  
El clúster Aurora debe residir en el Cuenta de AWS mismo lugar en el que se creó la base de conocimientos para Amazon Bedrock.  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/knowledge-base-setup.html)

1. Debe crear un índice en el vector y el texto de las columnas para los campos de texto e incrustaciones. Si utiliza el campo de metadatos personalizados, también debe crear un índice GIN en esta columna. Los índices GIN se pueden usar para buscar de manera eficaz pares de clave-valor en documentos jsonb para filtrar metadatos. Para obtener más información, consulte [jsonb indexing](https://www.postgresql.org/docs/current/datatype-json.html#JSON-INDEXING) en la *documentación de PostgreSQL*.  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/knowledge-base-setup.html)
**nota**  
Para mejorar la precisión y la latencia de las búsquedas híbridas con contenido en inglés, considere la posibilidad de utilizar el diccionario «inglés» en lugar del «simple»:  

   ```
   CREATE INDEX ON bedrock_integration.bedrock_kb USING gin (to_tsvector('english', chunks));
   ```

1. (Opcional) Si [ha agregado metadatos a sus archivos para filtrarlos](kb-test-config.md), le recomendamos que proporcione el nombre de la columna en el campo de metadatos personalizados para almacenar todos los metadatos en una sola columna. Durante la [ingesta de datos](kb-data-source-sync-ingest.md), esta columna se rellenará con toda la información de los archivos de metadatos de los orígenes de datos. Si decide proporcionar este campo, debe crear un índice GIN en esta columna.
**nota**  
Si utiliza con frecuencia filtros de intervalo en lugar de metadatos numéricos, cree un índice para la clave específica para optimizar el rendimiento. Por ejemplo, si utiliza filtros como `"lessThan": { "key": "year", "value": 1989 }`, cree un índice de expresión en la clave `year`. Para obtener más información, consulte [Indexes on expressions](https://www.postgresql.org/docs/current/indexes-expressional.html) en la *documentación de PostgreSQL*.  

   ```
   CREATE INDEX ON your_table ((custom_metadata->>'year')::double precision
   ```

   Si no proporciona este nombre de campo, también puede crear una columna para cada atributo de metadatos de sus archivos y especificar el tipo de datos (texto, número o booleano). Por ejemplo, si existiera el atributo `genre` en el origen de datos, añadiría una columna con el nombre `genre` y especificaría `text` como tipo de datos. Durante la [ingesta de datos](kb-data-source-sync-ingest.md), estas columnas distintas se rellenarán con los valores de atributo correspondientes.

1. Configure un AWS Secrets Manager secreto para su clúster de base de datos Aurora siguiendo los pasos de [Administración de contraseñas con Amazon Aurora y AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html).

1. Tome nota de la siguiente información después de crear el clúster de base de datos y configurar el secreto.  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/knowledge-base-setup.html)

------
#### [ Neptune Analytics graphs (GraphRAG) ]

1. Para crear un almacén de gráficos y vectores en Análisis por Amazon Neptune en la Consola de administración de AWS, siga los pasos que se describen en [Indexación vectorial en Análisis por Amazon Neptune](https://docs.aws.amazon.com/neptune-analytics/latest/userguide/vector-index.html) de la *Guía del usuario de Análisis por Amazon Neptune*.
**nota**  
Para usar Neptune GraphRAG, cree un gráfico de Análisis por Amazon Neptune vacío con un índice de búsqueda vectorial. El índice de búsqueda vectorial solo puede crearse cuando se crea el gráfico. Al crear un [gráfico de Análisis por Amazon Neptune en la consola](https://docs.aws.amazon.com/neptune-analytics/latest/userguide/create-graph-using-console.html), se especifica la dimensión del índice en **Configuración de búsqueda vectorial** cerca del final del proceso.

   Tenga en cuenta las siguientes consideraciones al crear el gráfico:

   1. Proporcione el nombre que desee al gráfico.

   1. En **Fuente de datos**, elija **Crear gráfico vacío** y especifique el número de m- NCUs que se va a asignar. Cada m-NCU tiene alrededor de 1 GiB de capacidad de memoria y los recursos de computación y de red correspondientes.
**nota**  
La capacidad del gráfico se puede modificar más adelante. Le recomendamos que comience con la instancia más pequeña y, más adelante, elija una instancia diferente, si es necesario.

   1. Puede dejar la configuración de conectividad de red predeterminada. Amazon Bedrock creará una conexión de red con el gráfico de Análisis por Amazon Neptune al que asocie la base de conocimiento. No tiene que configurar la conectividad pública ni los puntos de conexión privados para su gráfico.

   1. En **Configuración de búsqueda vectorial**, elija **Usar dimensión vectorial** y especifique el número de dimensiones de cada vector.
**nota**  
El número de dimensiones de cada vector debe coincidir con las dimensiones de los vectores del modelo de incrustación. Consulte la siguiente tabla para determinar cuántas dimensiones debe contener el vector:  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/knowledge-base-setup.html)

   1. Deje todas las demás opciones con sus valores predeterminados y cree el gráfico.

1. Una vez creado el gráfico, haga clic en él para anotar el **ARN del recurso** y las **dimensiones vectoriales** para cuando cree la base de conocimiento. Cuando elija el modelo de incrustación en Amazon Bedrock, asegúrese de elegir un modelo con las mismas dimensiones que las **dimensiones vectoriales** que configuró en el gráfico de Análisis por Amazon Neptune.

Después de crear el índice vectorial, puede continuar con la [creación de la base de conocimientos](knowledge-base-create.md). En la siguiente tabla se resume dónde se debe introducir cada dato del que haya tomado nota.


| Campo | Campo correspondiente en la configuración de la base de conocimientos (consola) | Campo correspondiente en la configuración de la base de conocimientos (API) | Description (Descripción) | 
| --- | --- | --- | --- | 
| ARN de gráfico | ARN del gráfico de Análisis por Amazon Neptune | graphARN | El Nombre de recurso de Amazon (ARN) del gráfico de Análisis por Amazon Neptune. | 
| Administración de metadatos (primer campo de asignación) | Nombre del campo de texto | textField | Es el nombre del campo en el que se almacena el texto sin procesar de los orígenes de datos. Puede proporcionar cualquier valor para este campo (por ejemplo, texto). | 
| Administración de metadatos (segundo campo de asignación) | Campo de metadatos administrado por Bedrock | metadataField | Es el nombre del campo en el que se almacenan los metadatos que administra Amazon Bedrock. Puede proporcionar cualquier valor para este campo (por ejemplo, metadatos). | 

------
#### [ Cono de pino ]

**nota**  
Si lo usaPinecone, acepta autorizar el acceso AWS a la fuente externa designada en su nombre para proporcionarle servicios de tienda vectorial. Usted es responsable de cumplir con las condiciones de terceros aplicables al uso y la transferencia de datos desde el servicio de terceros.

Para obtener documentación detallada sobre cómo configurar un almacén vectorial en Pinecone, consulte [Pinecone as a knowledge base for Amazon Bedrock](https://docs.pinecone.io/docs/amazon-bedrock).

Mientras configura el almacén vectorial, anote la información siguiente, que deberá rellenar al crear una base de conocimientos.
+ **URL del punto de conexión**: la URL del punto de conexión de la página de administración de índices.
+ **ARN secreto de credenciales**: el nombre de recurso de Amazon (ARN) del secreto que creó y AWS Secrets Manager que contiene el nombre de usuario y la contraseña de un usuario de la base de datos.
+ **(Opcional) Clave de KMS administrada por el cliente para el ARN secreto de credenciales**: si ha cifrado el ARN secreto de sus credenciales, proporcione la clave de KMS para que Amazon Bedrock pueda descifrarla. 
+ **Espacio de nombres** (opcional): el espacio de nombres que se utilizará para escribir nuevos datos en la base de datos. Para obtener más información, consulte [Uso de espacios de nombres](https://docs.pinecone.io/docs/namespaces).

Hay configuraciones adicionales que debe proporcionar al crear un índice de Pinecone:
+ **Nombre del campo de texto**: es el nombre del campo en el que Amazon Bedrock debe almacenar el texto de los fragmentos sin procesar.
+ **Nombre del campo de metadatos**: es el nombre del campo en el que Amazon Bedrock debe almacenar los metadatos de atribución de origen.

Para acceder a su índice de Pinecone, debe proporcionar su clave de API de Pinecone a Amazon Bedrock mediante AWS Secrets Manager.

**Definición de un secreto para la configuración de Pinecone**

1. Siga los pasos que se indican en [Crear un AWS Secrets Manager secreto](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html) y establezca la clave como clave de API `apiKey` y el valor como clave de API para acceder a su Pinecone índice.

1. Para encontrar su clave de API, abra la [consola de Pinecone](https://app.pinecone.io/) y seleccione **Claves de API**.

1. Después de crear el secreto, anote el ARN de la clave KMS.

1. Asocie permisos a su rol de servicio para descifrar el ARN de la clave KMS siguiendo los pasos que se indican en [Permisos para descifrar un AWS Secrets Manager secreto para el almacén de vectores que contiene tu base de conocimientos](encryption-kb.md#encryption-kb-3p).

1. Más adelante, cuando cree su base de conocimientos, introduzca el ARN en el campo **ARN secreto de credenciales**.

------
#### [ Redis Enterprise Cloud ]

**nota**  
Si la utilizasRedis Enterprise Cloud, aceptas autorizarte AWS a acceder a la fuente externa designada en tu nombre para proporcionarte servicios de tienda vectorial. Usted es responsable de cumplir con las condiciones de terceros aplicables al uso y la transferencia de datos desde el servicio de terceros.

Para obtener documentación detallada sobre la configuración de un almacén vectorial en Redis Enterprise Cloud, consulte [Integrating Redis Enterprise Cloud con Amazon Bedrock](https://docs.redis.com/latest/rc/cloud-integrations/aws-marketplace/aws-bedrock/).

Mientras configura el almacén vectorial, anote la información siguiente, que deberá rellenar al crear una base de conocimientos.
+ **URL del punto de conexión**: es la URL del punto de conexión público de su base de datos.
+ **Nombre del índice vectorial**: es el nombre del índice vectorial de su base de datos.
+ **Campo vectorial**: es el nombre del campo en el que se almacenarán las incrustaciones vectoriales. Consulte la siguiente tabla para determinar cuántas dimensiones debe contener el vector.  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/knowledge-base-setup.html)
+ **Campo de texto**: es el nombre del campo en el que Amazon Bedrock almacena los fragmentos de texto sin procesar.
+ **Campo de metadatos administrado por Bedrock**: es el nombre del campo en el que Amazon Bedrock almacena los metadatos relacionados con su base de conocimientos.

Para acceder a su clúster de Redis Enterprise Cloud, debe proporcionar su configuración de seguridad de Redis Enterprise Cloud a Amazon Bedrock mediante AWS Secrets Manager.

**Definición de un secreto para la configuración de Redis Enterprise Cloud**

1. Habilite TLS para usar su base de datos con Amazon Bedrock siguiendo los pasos de [seguridad de la capa de transporte (TLS)](https://docs.redis.com/latest/rc/security/database-security/tls-ssl/).

1. Sigue los pasos que se indican en [Crear un AWS Secrets Manager secreto](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html). Configure las siguientes claves con los valores correspondientes de su configuración de Redis Enterprise Cloud en el secreto:
   + `username`: es el nombre de usuario para acceder a la base de datos de Redis Enterprise Cloud. Para encontrar el nombre de usuario, busque en la sección **Seguridad** de su base de datos en la [Consola de Redis](http://app.redislabs.com/).
   + `password`: es la contraseña para acceder a la base de datos de Redis Enterprise Cloud. Para encontrar la contraseña, busque en la sección **Seguridad** de su base de datos en la [Consola de Redis](http://app.redislabs.com/).
   + `serverCertificate`: el contenido del certificado de la autoridad de certificación de Redis Cloud. Descargue el certificado del servidor desde la Consola de administración de Redis siguiendo los pasos que se indican en [Descargar los certificados](https://docs.redis.com/latest/rc/security/database-security/tls-ssl/#download-certificates).
   + `clientPrivateKey`: la clave privada del certificado de la autoridad de certificación de Redis Cloud. Descargue el certificado del servidor desde la Consola de administración de Redis siguiendo los pasos que se indican en [Descargar los certificados](https://docs.redis.com/latest/rc/security/database-security/tls-ssl/#download-certificates).
   + `clientCertificate`: la clave pública del certificado de la autoridad de certificación de Redis Cloud. Descargue el certificado del servidor desde la Consola de administración de Redis siguiendo los pasos que se indican en [Descargar los certificados](https://docs.redis.com/latest/rc/security/database-security/tls-ssl/#download-certificates).

1. Después de crear el secreto, anote su ARN. Más adelante, cuando cree su base de conocimientos, introduzca el ARN en el campo **ARN secreto de credenciales**.

------
#### [ MongoDB Atlas ]

**nota**  
Si utiliza MongoDB Atlas, acepta AWS autorizar el acceso a la fuente externa designada en su nombre para proporcionarle servicios de almacenamiento vectorial. Usted es responsable de cumplir con las condiciones de terceros aplicables al uso y la transferencia de datos desde el servicio de terceros.

Para obtener documentación detallada sobre cómo configurar un almacén de vectores en MongoDB Atlas, consulte [Launch a Fully Managed RAG Workflow With MongoDB Atlas and Amazon Bedrock](https://www.mongodb.com/developer/products/atlas/rag-workflow-with-atlas-amazon-bedrock/).

Mientras configura el almacén vectorial, tome nota de la información siguiente, que deberá rellenar al crear una base de conocimientos:
+ **URL del punto de conexión**: es la URL del punto de conexión de su clúster de MongoDB Atlas.
+ **Nombre de la base de datos**: es el nombre de la base de datos de su clúster de MongoDB Atlas.
+ **Nombre de la colección**: es el nombre de la colección en la base de datos.
+ **ARN secreto de credenciales**: el nombre de recurso de Amazon (ARN) del secreto que creó y AWS Secrets Manager que contiene el nombre de usuario y la contraseña de un usuario de base de datos de su clúster de MongoDB Atlas. El secreto debe contener claves llamadas `username` y `password`.
+ **(Opcional) Clave de KMS administrada por el cliente para el ARN secreto de credenciales**: si ha cifrado el ARN secreto de sus credenciales, proporcione la clave de KMS para que Amazon Bedrock pueda descifrarla. 

Hay configuraciones adicionales de **Asignación de campos** que debe proporcionar al crear un índice de MongoDB Atlas:
+ **Nombre del índice vectorial**: es el nombre del índice de búsqueda vectorial de MongoDB Atlas de su colección.
+ **Nombre del campo vectorial**: es el nombre del campo en el que Amazon Bedrock debe almacenar las incrustaciones vectoriales.
+ **Nombre del campo de texto**: es el nombre del campo en el que Amazon Bedrock debe almacenar el texto de los fragmentos sin procesar.
+ **Nombre del campo de metadatos**: es el nombre del campo en el que Amazon Bedrock debe almacenar los metadatos de atribución de origen.
+ **Nombre del índice de búsqueda de texto (opcional)**: el nombre del índice de búsqueda de MongoDB Atlas en la colección.

**importante**  
Si tiene previsto utilizar el filtrado de metadatos con su base de conocimiento de MongoDB Atlas, debe configurar manualmente los filtros en su índice vectorial. El filtrado de metadatos no funciona de forma predeterminada y requiere una configuración adicional en los ajustes del índice vectorial de MongoDB Atlas.

(Opcional) Para que Amazon Bedrock se conecte a su clúster de MongoDB Atlas mediante, consulte [Flujo de trabajo de RAG AWS PrivateLink con MongoDB](https://www.mongodb.com/developer/products/atlas/rag-workflow-with-atlas-amazon-bedrock/) Atlas mediante Amazon Bedrock.

------

# Requisitos previos y permisos necesarios para usar clústeres OpenSearch gestionados con las bases de conocimiento de Amazon Bedrock
<a name="kb-osm-permissions-prereq"></a>

En esta sección, se muestra cómo configurar los permisos si va a crear su propia base de datos vectorial con Amazon OpenSearch Service Managed Clusters. Esta configuración debe realizarse antes de crear la base de conocimiento. En los pasos se presupone que ya has creado un dominio y un índice vectorial en Amazon OpenSearch Service. Para obtener más información, consulta [Crear y gestionar dominios OpenSearch de servicio](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html) en la *guía para desarrolladores OpenSearch de Amazon Service*.

## Consideraciones clave
<a name="kb-osm-permissions-prereq-considerations"></a>

Las siguientes son algunas consideraciones clave para usar las bases de conocimiento de Amazon Bedrock con los clústeres gestionados por Amazon OpenSearch Service.
+ Antes de utilizar cualquier recurso de dominio en los clústeres OpenSearch gestionados, debe configurar determinados permisos y políticas de acceso de IAM. Para la integración de las bases de conocimiento con los clústeres administrados, antes de realizar los pasos de esta sección, si su dominio tiene una política de acceso restrictiva, debe conceder el acceso de IAM necesario y configurar las políticas basadas en los recursos. También le recomendamos que configure un control de acceso detallado para limitar los permisos.
+ Al ingerir los datos para su base de conocimientos, si encuentra errores, esto podría indicar que la capacidad del OpenSearch dominio es insuficiente para gestionar la velocidad de ingesta. Para resolver este problema, aumente la capacidad de su dominio aprovisionando IOPS (operaciones de entrada/salida por segundo) mayores y aumentando la configuración de rendimiento. Espere varios minutos hasta que se aprovisione la nueva capacidad y, a continuación, vuelva a intentar el proceso de ingesta. Para comprobar que el problema se ha resuelto, puede supervisar el rendimiento durante el proceso de reintento. Si la limitación persiste, es posible que tenga que ajustar aún más la capacidad para mejorar la eficiencia. Para obtener más información, consulta [Mejores prácticas operativas para Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/bp.html).

## Descripción general de la configuración de permisos
<a name="kb-osm-permissions-prereq-overview"></a>

Para la integración de las bases de conocimiento con los clústeres administrados, debe configurar los siguientes permisos de acceso de IAM y políticas basadas en recursos. Le recomendamos que habilite políticas de acceso detalladas para controlar aún más el acceso de los usuarios y la granularidad con la que se debe reducir su alcance hasta el nivel de propiedad.

Los siguientes pasos proporcionan información general sobre cómo configurar los permisos.

1. 

**Creación y uso del rol de servicio de la base de conocimiento**

   Para los permisos que desee configurar, aunque puede proporcionar su propio rol personalizado, le recomendamos que especifique la opción para que Bases de conocimiento de Amazon Bedrock cree el rol de servicio de la base de conocimiento por usted.

1. 

**Configuración de una política basada en recursos**

   El OpenSearch dominio admite políticas basadas en recursos, que determinan qué directores pueden acceder al dominio y actuar en él. Para usarlo con las bases de conocimiento, asegúrese de configurar correctamente la política basada en recursos para su dominio.

1. 

***(Absolutamente recomendable)* Proporcione una asignación de roles para el control de acceso detallado**

   Aunque el control de acceso detallado es opcional, le recomendamos que lo habilite para controlar la granularidad con la que se deben limitar los permisos en el nivel de propiedad.

## Configuración de políticas de IAM
<a name="kb-osm-permissions-iam"></a>

La política de acceso de tu dominio debe conceder los permisos necesarios para que los roles de tu cuenta realicen las acciones de OpenSearch API requeridas.

Si su dominio tiene una política de acceso restrictiva, es posible que tenga que actualizarla de la siguiente manera:
+ Debe conceder acceso al servicio de Amazon Bedrock e incluir las acciones HTTP requeridas: `GET`, `POST`, `PUT` y `DELETE`.
+ También debe conceder permisos a Amazon Bedrock para realizar la acción `es:DescribeDomain` en el recurso indexado. Esto permite a Bases de conocimiento de Amazon Bedrock realizar las validaciones necesarias al configurar una base de conocimiento.

## (Opcional) Control de acceso detallado
<a name="kb-osm-permissions-console-fgap"></a>

Un control de acceso detallado puede controlar la granularidad con la que se deben establecer los permisos en el nivel de propiedad. Puede configurar las políticas de acceso detalladas para conceder los permisos de lectura y escritura necesarios para el rol de servicio creado por Bases de conocimiento.

Para configurar el control de acceso detallado y proporcionar la asignación de roles:

1. Asegúrate de que el OpenSearch dominio que has creado tenga habilitado el control de acceso detallado.

1. Cree una OpenSearch interfaz de usuario (paneles), si aún no lo ha hecho. Se usará para configurar la asignación de roles

1. En sus OpenSearch paneles, cree un OpenSearch rol y especifique el nombre del índice vectorial y los permisos del clúster y el índice. Para añadir los permisos, debe crear grupos de permisos y, a continuación, añadir los permisos necesarios que permitan el acceso para realizar un conjunto de operaciones, como `delete`, `search`, `get` e `index` para el rol.

1. Una vez que haya agregado los permisos necesarios, debe introducir el ARN de su función de servicio de Knowledge base para la función de OpenSearch back-end. Al realizar este paso, se completará la asignación entre su función de servicio de base de conocimientos y la OpenSearch función, que luego concederá a Amazon Bedrock Knowledge Bases permisos para acceder al índice vectorial del OpenSearch dominio y realizar las operaciones necesarias.

**Topics**
+ [Consideraciones clave](#kb-osm-permissions-prereq-considerations)
+ [Descripción general de la configuración de permisos](#kb-osm-permissions-prereq-overview)
+ [Configuración de políticas de IAM](#kb-osm-permissions-iam)
+ [(Opcional) Control de acceso detallado](#kb-osm-permissions-console-fgap)
+ [Configuración de políticas basadas en recursos para OpenSearch clústeres gestionados](kb-osm-permissions-slr-rbp.md)
+ [Configurar OpenSearch los permisos con un control de acceso detallado](kb-osm-permissions-console-fgap.md)

# Configuración de políticas basadas en recursos para OpenSearch clústeres gestionados
<a name="kb-osm-permissions-slr-rbp"></a>

Al crear su base de conocimiento, puede crear su propio rol personalizado o dejar que Amazon Bedrock cree uno por usted. La forma de configurar los permisos depende de si va a crear un rol nuevo o si está utilizando uno existente. Si ya tienes una función de IAM, debes asegurarte de que la política de acceso de tu dominio no impida que las funciones de tu cuenta realicen las acciones de API necesarias OpenSearch .

Si decide dejar que Amazon Bedrock Knowledge Bases cree el rol de IAM por usted, debe asegurarse de que la política de acceso de su dominio conceda los permisos para que los roles de su cuenta realicen las acciones de OpenSearch API requeridas. Si su dominio tiene una política de acceso restrictiva, puede impedir que su rol lleve a cabo estas acciones. El siguiente ejemplo muestra una política restrictiva basada en recursos.

En este caso, puede:
+ Cree su base de conocimientos utilizando un rol de IAM existente al que su OpenSearch dominio pueda conceder acceso a este rol para realizar las operaciones necesarias.
+ También puede dejar que Amazon Bedrock cree un nuevo rol por usted. En este caso, debes asegurarte de que la política de acceso del dominio otorgue los permisos necesarios para que los roles de tu cuenta realicen las acciones de OpenSearch API necesarias.

En las siguientes secciones se muestra un ejemplo de política de IAM que concede los permisos necesarios y cómo se puede actualizar la política de acceso del dominio para que conceda permisos para realizar las operaciones de OpenSearch API necesarias.

**Topics**
+ [Políticas basadas en identidad y basadas en recursos de ejemplo](#kb-osm-permissions-iam)
+ [Creación de un rol de servicio para Bases de conocimiento de Amazon Bedrock](#kb-osm-permissions-slr)
+ [Actualización de las políticas basadas en recursos](#kb-osm-permissions-console-rbp)

## Políticas basadas en identidad y basadas en recursos de ejemplo
<a name="kb-osm-permissions-iam"></a>

Esta sección proporciona un ejemplo de política de identidad y una política basada en recursos que puede configurar para su OpenSearch dominio al integrarlo con las bases de conocimiento de Amazon Bedrock. Debe conceder permisos a Amazon Bedrock para realizar estas acciones en el índice que proporciona a su base de conocimiento.


****  

| Action | Recurso | Description (Descripción) | 
| --- | --- | --- | 
| es:ESHttpPost | arn:<partition>:es:<region>:<accountId>:domain/<domainName>/<indexName> | Para insertar información en el índice | 
| es:ESHttpGet |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/kb-osm-permissions-slr-rbp.html)  | Para buscar información en el índice. Esta acción se configura tanto en el nivel de domain/index como en el nivel de domain/index/\$1. En el nivel de domain/index, puede obtener detalles generales sobre el índice, como el tipo de motor. Para recuperar los detalles almacenados en el índice, se requieren permisos en el nivel de domain/index/\$1. | 
| es:ESHttpHead |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/kb-osm-permissions-slr-rbp.html)  | Para obtener información del índice. Esta acción se configura tanto en el nivel de domain/index como en el nivel de domain/index/\$1, en caso de que sea necesario obtener información en un nivel superior, por ejemplo, si existe un índice en particular. | 
| es:ESHttpDelete | arn:<partition>:es:<region>:<accountId>:domain/<domainName>/<indexName> | Para eliminar información del índice | 
| es:DescribeDomain | arn:<partition>:es:<region>:<accountId>:domain/<domainName> | Para realizar validaciones en el dominio, como la versión del motor utilizada. | 

### Política basada en identidades de ejemplo
<a name="kb-osm-permissions-idpolicy"></a>

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "OpenSearchIndexAccess",
            "Effect": "Allow",
            "Action": [
                "es:ESHttpGet",
                "es:ESHttpPost",
                "es:ESHttpPut",
                "es:ESHttpDelete"
            ],
            "Resource": [
                "arn:aws:es:us-east-1:123456789012:domain/domainName/indexName/*"
            ]
        },
        {
            "Sid": "OpenSearchIndexGetAccess",
            "Effect": "Allow",
            "Action": [
                "es:ESHttpGet",
                "es:ESHttpHead"
            ],
            "Resource": [
            "arn:aws:es:us-east-1:123456789012:domain/domainName/indexName"
            ]
        },
        {
            "Sid": "OpenSearchDomainValidation",
            "Effect": "Allow",
            "Action": [
                "es:DescribeDomain"
            ],
            "Resource": [
            "arn:aws:es:us-east-1:123456789012:domain/domainName"
            ]
        }
    ]
}
```

------

### Política basada en recursos de ejemplo
<a name="kb-osm-permissions-rbp"></a>

**nota**  
Asegúrese de que el rol de servicio se haya creado para usarlo en la política basada en recursos.

## Creación de un rol de servicio para Bases de conocimiento de Amazon Bedrock
<a name="kb-osm-permissions-slr"></a>

Al crear la base de conocimiento, puede elegir la opción de crear y utilizar un nuevo rol de servicio. En esta sección, se explica cómo crear el rol de servicio de Bases de conocimiento de Amazon Bedrock. Al asignar las políticas basadas en recursos y las políticas de acceso detalladas a esta función, otorgará a Amazon Bedrock los permisos para realizar solicitudes al dominio. OpenSearch 

**Cómo especificar el rol de servicio de Bases de conocimiento de Amazon Bedrock**

1. En la consola de Amazon Bedrock, vaya a [Bases de conocimiento](https://console.aws.amazon.com/bedrock/home#/knowledge-bases).

1. Elija **Crear** y, a continuación, elija **Base de conocimientos con almacén vectorial**.

1. Elija **Crear y utilizar un nuevo rol de servicio**. Puede usar el nombre predeterminado o proporcionar un nombre de rol personalizado. Amazon Bedrock creará automáticamente el rol de servicio de la base de conocimiento para usted.

1. Siga navegando por la consola para configurar el origen de datos y las estrategias de análisis y fragmentación.

1. Elige un modelo de Embeddings y, a continuación, en **Elige un almacén vectorial existente**, selecciona **Amazon OpenSearch** Managed Cluster.

**importante**  
Antes de continuar con la creación de la base de conocimiento, realice los siguientes pasos para configurar las políticas basadas en recursos y las políticas de acceso detalladas. Para ver los pasos detallados de creación de la base de conocimiento, consulte [Creación de una base de conocimiento conectándola a un origen de datos de Bases de conocimiento de Amazon Bedrock](knowledge-base-create.md).

## Actualización de las políticas basadas en recursos
<a name="kb-osm-permissions-console-rbp"></a>

Si tu OpenSearch dominio tiene una política de acceso restrictiva, puedes seguir las instrucciones de esta página para actualizar la política basada en los recursos. Estos permisos permiten a Knowledge Bases utilizar el índice que usted proporciona y recuperar la definición del OpenSearch dominio para realizar la validación necesaria en el dominio.

**Para configurar las políticas basadas en recursos desde el Consola de administración de AWS**

1. Ve a la [consola OpenSearch de Amazon Service](https://console.aws.amazon.com/aos/home?region=us-east-1#opensearch/dashboard).

1. Vaya al dominio que creó y, a continuación, vaya a **Configuraciones de seguridad**, donde está configurada la política basada en recursos.

1. Edite la política en la pestaña **JSON** y, a continuación, actualice la política de forma similar a la [Política basada en recursos de ejemplo](#kb-osm-permissions-rbp).

1. Ahora puede volver a la consola de Amazon Bedrock y proporcionar los detalles de su OpenSearch dominio e índice tal y como se describe en [Configuración de la base de conocimientos para clústeres gestionados](knowledge-base-setup.md#knowledge-base-setup-osm).

# Configurar OpenSearch los permisos con un control de acceso detallado
<a name="kb-osm-permissions-console-fgap"></a>

Si bien es opcional, te recomendamos encarecidamente que habilites un control de acceso detallado para tu dominio. OpenSearch Con un control de acceso detallado, puede utilizar un control de acceso basado en roles, que le permite crear un OpenSearch rol con permisos específicos y asignarlo al rol del servicio de Knowledge Base. El mapeo otorga a su base de conocimientos los permisos mínimos necesarios que le permiten acceder al dominio y al índice y realizar operaciones en ellos. OpenSearch 

Cómo configurar y usar el control de acceso detallado:

1. Asegúrese de que el OpenSearch dominio que está utilizando tenga habilitado un control de acceso detallado.

1. Para tu dominio que usa un control de acceso detallado, configura los permisos con políticas específicas en forma de rol. OpenSearch

1. Para el dominio para el que cree un rol, agregue una asignación de roles al rol de servicio de la base de conocimiento.

Los siguientes pasos muestran cómo configurar su OpenSearch función y garantizar la asignación correcta entre la función y la función del servicio de OpenSearch Knowledge Base.

**Para crear un OpenSearch rol y configurar los permisos**  
Una vez que haya activado un control de acceso detallado y haya configurado Amazon Bedrock para que se conecte al OpenSearch Servicio, podrá configurar los permisos mediante el enlace OpenSearch Dashboards de cada dominio. OpenSearch 

**Cómo configurar permisos de un dominio para permitir el acceso a Amazon Bedrock:**

1. Abra el OpenSearch panel de control del OpenSearch dominio con el que desee trabajar. Para encontrar el enlace a los paneles, vaya al dominio que creó en la consola de OpenSearch servicio. En el caso de los dominios en ejecución OpenSearch, la URL tiene el formato,`domain-endpoint/_dashboards/`. Para obtener más información, consulta los [paneles](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/dashboards.html) en la *guía para desarrolladores OpenSearch de Amazon Service*.

1. En el OpenSearch panel de control, selecciona **Seguridad** y, a continuación, selecciona **Funciones**.

1. Elija **Crear rol**.

1. Proporcione cualquier nombre para el rol, por ejemplo, **kb\$1opensearch\$1role**.

1. En **Permisos del clúster**, añada los siguientes permisos:
   + `indices:data/read/msearch`
   + `indices:data/write/bulk*`
   + `indices:data/read/mget*`

1. En **Permisos de índice**, proporcione un nombre para el índice vectorial. Elija **Crear nuevo grupo de permisos** y, a continuación, elija **Crear nuevo grupo de acciones**. Añada los siguientes permisos a un grupo de acciones, como `KnowledgeBasesActionGroup`. Añada los siguientes permisos a un grupo de acciones.
   + `indices:admin/get`
   + `indices:data/read/msearch`
   + `indices:data/read/search`
   + `indices:data/write/index`
   + `indices:data/write/update`
   + `indices:data/write/delete`
   + `indices:data/write/delete/byquery`
   + `indices:data/write/bulk*`
   + `indices:admin/mapping/put`
   + `indices:data/read/mget*`  
![\[Los grupos de acciones que se van a crear en los OpenSearch paneles para añadir permisos de clúster e indexación.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/kb/kb-test-os-action-groups.png)

1. Elija **Crear** para crear el OpenSearch rol.

A continuación, se muestra un ejemplo de OpenSearch rol con los permisos agregados.

![\[Un ejemplo de OpenSearch rol en los OpenSearch paneles de control con los permisos agregados.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/kb/kb-test-os-dashboards-permissions.png)


**Cómo crear una asignación de roles a su rol de servicio de la base de conocimiento**

1. Identifique el rol de IAM que será necesario asignar.
   + Si ha creado su propio rol de IAM personalizado, puede copiar el ARN de este rol desde la consola de IAM.
   + Si permite que Bases de conocimiento cree el rol por usted, puede anotar el ARN del rol al crear su base de conocimiento y, a continuación, copiar el ARN de este rol.

1. Abre el OpenSearch panel de control del OpenSearch dominio con el que quieres trabajar. El formato de la URL es `domain-endpoint/_dashboards/`.

1. En el panel de navegación, elija **Seguridad**.

1. Busque el rol que acaba de crear en la lista (por ejemplo, **kb\$1opensearch\$1role**) y ábralo.

1. En la pestaña **Usuarios asignados**, elija **Administrar asignación**.

1. En la sección **Funciones de backend**, introduzca el ARN de la función de IAM gestionada para AWS las bases de conocimiento. En función de si ha creado su propio rol personalizado o ha dejado que Knowledge Bases cree el rol por usted, copie la información del ARN del rol de la consola de IAM o de la consola de Amazon Bedrock y, a continuación, introduzca esa información para los roles de **backend** en la consola. OpenSearch A continuación se muestra un ejemplo.

   ```
   arn:aws:iam::<accountId>:role/service-role/<knowledge-base-service-role>
   ```

1. Elija **Asignar**.

   El rol del Servicio de Base de Conocimientos ahora puede conectarse al OpenSearch rol y realizar las operaciones necesarias en el dominio y el índice.

# Creación de una base de conocimiento conectándola a un origen de datos de Bases de conocimiento de Amazon Bedrock
<a name="knowledge-base-create"></a>

Al crear una base de conocimiento conectándola a un origen de datos, debe configurar o especificar 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, las configuraciones de almacenamiento del servicio en el que se almacenarán las incrustaciones y, opcionalmente, una ubicación de S3 para almacenar los datos multimodales

**nota**  
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.

Amplíe la sección que se corresponda con su caso de uso:

## Uso de la consola
<a name="knowledge-base-create-console"></a>

**Cómo configurar una base de conocimiento**

1. Inicie sesión Consola de administración de AWS con una identidad de IAM que tenga permisos para usar la consola Amazon Bedrock. A continuación, abra la consola de Amazon Bedrock en [https://console.aws.amazon.com/bedrock.](https://console.aws.amazon.com/bedrock)

1. En el panel de navegación izquierdo, elija **Bases de conocimientos**.

1. En la sección **Bases de conocimientos**, elija el botón Crear y, a continuación, elija una base de conocimiento con un almacén de vectores.

1. (Opcional) Cambie el nombre predeterminado y proporcione una descripción para la base de conocimiento.

1. Elija un rol AWS Identity and Access Management (IAM) que otorgue permiso a Amazon Bedrock para acceder a otros servicios necesariosAWS. Puede dejar que Amazon Bedrock cree el rol de servicio por usted o puede elegir usar el [rol personalizado que creó para Análisis por Amazon Neptune](kb-permissions.md#kb-permissions-neptune).

1. Elija el origen de datos al que desea conectar la base de conocimiento.

1. (Opcional) Añada etiquetas a la base de conocimientos. Para obtener más información, consulte [Etiquetado de los recursos de Amazon Bedrock](tagging.md).

1. (Opcional) Configure los servicios para entregar registros de actividad para su base de conocimiento.

1. Vaya a la siguiente sección y siga los pasos que se indican en [Conexión de un origen de datos a la base de conocimiento](data-source-connectors.md) para configurar un origen de datos.

1. En la sección **Modelo de inscrustaciones**, proceda de la forma siguiente:

   1. Elija un modelo de incrustaciones para convertir los datos en incrustaciones vectoriales. Para datos multimodales (imágenes, audio y vídeo), seleccione un modelo de incrustación multimodal como Amazon Titan Multimodal Embeddings G1 o Cohere Embed v3.
**nota**  
Al usar Amazon Titan Multimodal Embeddings G1, debe proporcionar un depósito de contenido S3 y solo puede usar el analizador predeterminado. Este modelo está optimizado para casos de uso de búsqueda de imágenes. Para obtener una guía completa sobre cómo elegir entre enfoques multimodales, consulte[Cree una base de conocimientos para contenido multimodal](kb-multimodal.md).

   1. (Opcional) Expanda la sección **Configuraciones adicionales** para ver las siguientes opciones de configuración (no todos los modelos admiten todas las configuraciones):
      + **Tipo de incrustaciones**: si desea convertir los datos en incrustaciones vectoriales de punto flotante (float32) (más precisas, pero más costosas) o incrustaciones vectoriales binarias (menos precisas, pero menos costosas). Para obtener información sobre qué modelos de incrustaciones admiten vectores binarios, consulte los [modelos de incrustaciones compatibles](knowledge-base-supported.md).
      + **Dimensiones vectoriales**: los valores más altos mejoran la precisión, pero aumentan el costo y la latencia.

1. En la sección **Base de datos vectorial**, proceda de la forma siguiente:

   1. Elija un almacén de vectores para almacenar las incrustaciones de vectores que se utilizarán en la consulta. Dispone de las opciones siguientes:
      + **Cree rápidamente un nuevo almacén de vectores**: elija uno de los almacenes de vectores disponibles para que Amazon Bedrock lo cree. Si lo desea, también puede configurar el cifrado de AWS KMS claves para su almacén de vectores.
**nota**  
Al utilizar esta opción, Amazon Bedrock gestiona automáticamente la ubicación de los metadatos de cada almacén de vectores.
        + **Amazon OpenSearch Serverless** — Amazon Bedrock Knowledge Bases crea un índice y una colección de búsquedas vectoriales de Amazon OpenSearch Serverless y los configura automáticamente con los campos obligatorios.
        + **Amazon Aurora PostgreSQL sin servidor**: Amazon Bedrock configura un almacén de vectores de Amazon Aurora PostgreSQL sin servidor. Este proceso toma datos de texto no estructurados de un bucket de Amazon S3, los transforma en fragmentos de texto y vectores y, a continuación, los almacena en una base de datos de PostgreSQL. Para obtener más información, consulte [Creación rápida de una base de conocimiento de Amazon Bedrock para Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.quickcreatekb.html).
        + **Análisis por Amazon Neptune**: Amazon Bedrock utiliza técnicas de generación aumentada por recuperación (RAG) combinadas con gráficos para mejorar las aplicaciones de IA generativa, de modo que los usuarios finales puedan obtener respuestas más precisas y completas.
        + **Amazon S3 Vectors**: Bases de conocimiento de Amazon Bedrock crea un bucket de vectores de S3 y un índice vectorial que almacenarán las incrustaciones generadas a partir de sus orígenes de datos.

          Puede crear una base de conocimientos para Amazon S3 Vectors en todos los sitios en Región de AWS los que estén disponibles Amazon Bedrock y Amazon S3 Vectors. Para obtener más información, consulte [Amazon S3 Vectors](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors.html) en la *Guía del usuario de Amazon S3*.
**nota**  
Al utilizar Amazon S3 Vectors con las bases de conocimiento de Amazon Bedrock, puede adjuntar hasta 1 KB de metadatos personalizados (incluidos los metadatos filtrables y no filtrables) y 35 claves de metadatos por vector. Para obtener información detallada sobre las limitaciones de los metadatos, consulte en. [Compatibilidad con metadatos](knowledge-base-setup.md#metadata-support) [Requisitos previos para usar un almacén de vectores que haya creado para una base de conocimiento](knowledge-base-setup.md)
      + **Elija un almacén de vectores que haya creado**: seleccione un almacén de vectores compatible e identifique 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](knowledge-base-setup.md).
**nota**  
Si tu fuente de datos es una instancia de Confluence SharePoint, Microsoft o Salesforce, el único servicio de almacén vectorial compatible es Amazon OpenSearch Serverless.

   1. (Opcional) Amplíe la sección **Configuraciones adicionales** y modifique las configuraciones que correspondan.

1. Si su origen de datos contiene imágenes, especifique el URI de Amazon S3 en el que desee almacenar las imágenes que el analizador extraerá de los datos en el **destino de almacenamiento multimodal**. Las imágenes se pueden devolver durante la consulta. Si lo desea, también puede elegir una clave gestionada por el cliente en lugar de la predeterminada Clave administrada de AWS para cifrar los datos.
**nota**  
Los datos multimodales solo se admiten con Amazon S3 y orígenes de datos personalizados.
**nota**  
Cuando se utilizan modelos de incrustación multimodales:  
Amazon Titan Multimodal Embeddings G1 requiere un depósito de contenido S3 y funciona mejor con conjuntos de datos de solo imágenes que utilizan el analizador predeterminado
Cohere Embed v3 admite conjuntos de datos mixtos de texto e imágenes y se puede usar con cualquier configuración de analizador
Para los casos prácticos de búsqueda de imágenes, evite utilizar Bedrock Data Automation (BDA) o analizadores de modelos básicos con Titan G1 debido a las limitaciones de los tokens
El destino de almacenamiento multimodal crea copias de los archivos con fines de recuperación, lo que puede generar cargos de almacenamiento adicionales

1. 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.
**nota**  
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.

## Uso de la API de
<a name="knowledge-base-create-api"></a>

Para crear una base de conocimiento, envíe una solicitud [CreateKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html) con un [punto de conexión en tiempo de compilación de Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt).

**nota**  
Si prefiere dejar que Amazon Bedrock cree y administre un almacén de vectores por usted, utilice la consola. Para obtener más información, amplíe la sección **Uso de la consola** de este tema.

Los siguientes campos son obligatorios:


****  

| Campo | Descripción básica | 
| --- | --- | 
| name | Un nombre para la base de conocimiento | 
| roleArn | El ARN de un [rol de servicio para Bases de conocimiento de Amazon Bedrock](kb-permissions.md) | 
| knowledgeBaseConfiguration | Contiene configuraciones para la base de conocimiento. Consulte los detalles que se indican a continuación. | 
| storageConfiguration | (Solo es necesario si se conecta a un origen de datos no estructurados). Contiene las configuraciones para el servicio de origen de datos que elija. | 

Los siguientes campos son opcionales:


****  

| Campo | Caso de uso | 
| --- | --- | 
| description | Una descripción de la base de conocimiento. | 
| clientToken | Para garantizar que la solicitud de la API se complete solo una vez. Para obtener más información, consulte [Ensuring idempotency](https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html). | 
| etiquetas | Para asociar etiquetas con el flujo. Para obtener más información, consulte [Etiquetado de los recursos de Amazon Bedrock](tagging.md). | 

En el `knowledgeBaseConfiguration` campo, que se asigna a un [KnowledgeBaseConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_KnowledgeBaseConfiguration.html)objeto, especifique `VECTOR` en el `type` campo e incluya un objeto. [VectorKnowledgeBaseConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_VectorKnowledgeBaseConfiguration.html) En el objeto, incluya los siguientes campos:
+ `embeddingModelArn`: el ARN del modelo de incrustación que se va a utilizar.
+ `embeddingModelConfiguration`: configuraciones del modelo de incrustación. Para ver los valores posibles que puede especificar para cada modelo compatible, consulte [Modelos y regiones admitidos para las bases de conocimiento de Amazon Bedrock](knowledge-base-supported.md).
+ (Si planea incluir datos multimodales, que incluyen imágenes, figuras, gráficos o tablas, en su base de conocimientos)`supplementalDataStorageConfiguration`: se asigna a un [SupplementalDataStorageLocation](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_SupplementalDataStorageLocation.html)objeto, en el que se especifica la ubicación de S3 en la que se almacenarán los datos extraídos. Para obtener más información, consulte [Opciones de análisis del origen de datos](kb-advanced-parsing.md).

En el `storageConfiguration` campo, que se asigna a un [StorageConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StorageConfiguration.html)objeto, especifique el almacén de vectores al que se va a conectar en el `type` campo e incluya el campo que corresponda a ese almacén de vectores. Consulte cada tipo de configuración de almacén de vectores en [StorageConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StorageConfiguration.html)para obtener detalles sobre la información que debe proporcionar.

A continuación, se muestra un ejemplo de solicitud para crear una base de conocimientos conectada a una colección de Amazon OpenSearch Serverless. Los datos de las fuentes de datos conectadas se convertirán en incrustaciones de vectores binarios con Amazon Titan Text Embeddings V2 y los datos multimodales extraídos por el analizador se configurarán para almacenarse en un depósito llamado. *MyBucket*

```
PUT /knowledgebases/ HTTP/1.1
Content-type: application/json

{
   "name": "MyKB",
   "description": "My knowledge base",
   "roleArn": "arn:aws:iam::111122223333:role/service-role/AmazonBedrockExecutionRoleForKnowledgeBase_123",
   "knowledgeBaseConfiguration": {
      "type": "VECTOR",
      "vectorKnowledgeBaseConfiguration": { 
         "embeddingModelArn": "arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-embed-text-v2:0",
         "embeddingModelConfiguration": { 
            "bedrockEmbeddingModelConfiguration": { 
               "dimensions": 1024,
               "embeddingDataType": "BINARY"
            }
         },
         "supplementalDataStorageConfiguration": { 
            "storageLocations": [ 
               { 
                  "s3Location": { 
                     "uri": "arn:aws:s3:::MyBucket"
                  },
                  "type": "S3"
               }
            ]
         }
      }
   },
   "storageConfiguration": { 
      "opensearchServerlessConfiguration": { 
         "collectionArn": "arn:aws:aoss:us-east-1:111122223333:collection/abcdefghij1234567890",
         "fieldMapping": { 
            "metadataField": "metadata",
            "textField": "text",
            "vectorField": "vector"
         },
         "vectorIndexName": "MyVectorIndex"
      }
   }
}
```

**Topics**
+ [Conexión de un origen de datos a la base de conocimiento](data-source-connectors.md)
+ [Personalización de la ingesta de un origen de datos](kb-data-source-customize-ingestion.md)
+ [Configuraciones de seguridad para la base de conocimientos](kb-create-security.md)

# Conexión de un origen de datos a la base de conocimiento
<a name="data-source-connectors"></a>

Una vez finalizadas las configuraciones de la base de conocimiento, debe conectar un origen de datos compatible a la base de conocimiento.

Las bases de conocimiento de Amazon Bedrock permiten la conexión a orígenes de datos no estructurados o a almacenes de datos estructurados mediante un motor de consultas. Seleccione un tema para obtener información sobre cómo conectarse a ese tipo de origen de datos:

**Soporte de contenido multimodal**  
El contenido multimodal (archivos de imágenes, audio y vídeo) solo es compatible con Amazon S3 y las fuentes de datos personalizadas. Otros tipos de fuentes de datos omitirán los archivos multimodales durante la ingesta. Para obtener una guía completa sobre cómo trabajar con contenido multimodal, consulte. [Cree una base de conocimientos para contenido multimodal](kb-multimodal.md)

Para obtener información sobre cómo conectarse a un origen de datos mediante la consola de Amazon Bedrock, seleccione el tema que corresponda a su tipo de origen de datos en la parte inferior de esta página:

Para conectarse a una fuente de datos mediante la API de Amazon Bedrock, envíe una [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html)solicitud con un punto de [ejecución de Agents for Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-rt).

Los siguientes campos son obligatorios:


****  

| Campo | Descripción básica | 
| --- | --- | 
| knowledgeBaseId | El ID de la base de conocimientos. | 
| name | Un nombre para la base de conocimiento. | 
| dataSourceConfiguration | Especifique el tipo o servicio del origen de datos en el campo type e incluya el campo correspondiente. Para obtener más información sobre las configuraciones específicas de un servicio, seleccione el tema del servicio en los temas que aparecen al final de esta página. | 

Los siguientes campos son opcionales:


****  

| Campo | Caso de uso | 
| --- | --- | 
| description | Proporcionar una descripción del origen de datos. | 
| vectorIngestionConfiguration | Contiene configuraciones para personalizar el proceso de ingesta. Para obtener más información, consulte [Personalización de la ingesta de un origen de datos](kb-data-source-customize-ingestion.md). | 
| dataDeletionPolicy | Especificar si se van a mantener (RETAIN) las incrustaciones de vectores en el almacén de vectores o si se van a eliminar (DELETE). | 
| serverSideEncryptionConfiguración | Para cifrar los datos transitorios durante la sincronización de datos con una clave administrada por el cliente, especifique su ARN en el campo kmsKeyArn. | 
| clientToken | Para garantizar que la solicitud de la API se complete solo una vez. Para obtener más información, consulte [Ensuring idempotency](https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html). | 

Seleccione un tema para obtener más información sobre un servicio y cómo configurarlo.

**Topics**
+ [Conexión a Amazon S3 para la base de conocimiento](s3-data-source-connector.md)
+ [Conexión a Confluence para la base de conocimiento](confluence-data-source-connector.md)
+ [Conéctese a Microsoft SharePoint para su base de conocimientos](sharepoint-data-source-connector.md)
+ [Conexión a Salesforce para su base de conocimiento](salesforce-data-source-connector.md)
+ [Rastreo de páginas web para la base de conocimiento](webcrawl-data-source-connector.md)
+ [Conexión de una base de conocimiento a un origen de datos personalizado](custom-data-source-connector.md)

# Conexión a Amazon S3 para la base de conocimiento
<a name="s3-data-source-connector"></a>

Amazon S3 es un servicio de almacenamiento de objetos que almacena datos como objetos dentro de buckets. Puede conectarse a su bucket de Amazon S3 para su base de conocimientos de Amazon Bedrock mediante la [consola de AWS administración de Amazon Bedrock](https://console.aws.amazon.com/bedrock/home) o la [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html)API (consulte Amazon Bedrock [compatible SDKs ](https://docs.aws.amazon.com/bedrock/latest/APIReference/welcome.html) y). AWS CLI

**Soporte de contenido multimodal**  
Las fuentes de datos de Amazon S3 admiten contenido multimodal, incluidos archivos de imágenes, audio y vídeo. Para obtener una guía completa sobre cómo trabajar con contenido multimodal, consulte. [Cree una base de conocimientos para contenido multimodal](kb-multimodal.md)

Puede cargar un lote pequeño de archivos en un bucket de Amazon S3 con la consola o la API de Amazon S3. También puede usarlo [AWS DataSync](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html)para cargar varios archivos a S3 de forma continua y transferir archivos de forma programada desde una ubicación local, perimetral, otra nube o AWS almacenamiento.

Actualmente, solo se admiten los buckets de S3 de uso general.

Existen límites en cuanto al número de archivos y MB por archivo que pueden rastrearse. Consulte [Cuotas de las bases de conocimientos](https://docs.aws.amazon.com/bedrock/latest/userguide/quotas.html).

**Topics**
+ [Características admitidas](#supported-features-s3-connector)
+ [Requisitos previos](#prerequisites-s3-connector)
+ [Configuración de la conexión](#configuration-s3-connector)

## Características admitidas
<a name="supported-features-s3-connector"></a>
+ Campos de metadatos del documento
+ Prefijos de inclusión
+ El contenido incremental se sincroniza para añadir, actualizar o eliminar contenido

## Requisitos previos
<a name="prerequisites-s3-connector"></a>

**En Amazon S3, asegúrese de**:
+ Tomar nota del URI del bucket de Amazon S3, el nombre de recurso de Amazon (ARN) y el ID de la cuenta de AWS del propietario del bucket. Puede encontrar el URI y el ARN en la sección de propiedades de la consola de Amazon S3. Su bucket debe estar en la misma región que su base de conocimiento de Amazon Bedrock. Debe disponer de permiso para acceder al bucket.

**En tu AWS cuenta, asegúrate de**:
+ Incluya los permisos necesarios para conectarse a su fuente de datos en la role/permissions política AWS Identity and Access Management (IAM) de su base de conocimientos. Para obtener información sobre los permisos necesarios para que esta fuente de datos se añada a su IAM función de base de conocimientos, consulte [Permisos para acceder a las fuentes de datos](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html#kb-permissions-access-ds).

**nota**  
Si usa la consola, puede crear automáticamente el IAM rol con todos los permisos necesarios como parte de los pasos para crear una base de conocimientos. Una vez que haya configurado el origen de datos y otras configuraciones, el rol de IAM con todos los permisos necesarios se aplicará a su base de conocimientos específica.

## Configuración de la conexión
<a name="configuration-s3-connector"></a>

Para conectarse al bucket de Amazon S3, debe proporcionar la información de configuración necesaria para que Amazon Bedrock pueda acceder a sus datos y rastrearlos. También debe seguir los [Requisitos previos](#prerequisites-s3-connector).

En esta sección se incluye un ejemplo de configuración para este origen de datos.

Para obtener más información sobre los filtros de inclusión o exclusión, los campos de metadatos del documento, la sincronización incremental y su funcionamiento, seleccione lo siguiente:

### Campos de metadatos del documento
<a name="ds-s3-metadata-fields"></a>

Puede incluir un archivo independiente que especifique los metadatos del documento fields/attributes para cada archivo de la fuente de datos de Amazon S3 y si desea incluirlos en las incrustaciones al indexar la fuente de datos en el almacén vectorial. Por ejemplo, puede crear un archivo con el siguiente formato, asignarle un nombre *fileName.extension.metadata.json* y subirlo a su bucket de S3.

```
{
  "metadataAttributes": {
    "company": {
      "value": {
        "type": "STRING",
        "stringValue": "BioPharm Innovations"
      },
      "includeForEmbedding": true
    },
    "created_date": {
      "value": {
        "type": "NUMBER",
        "numberValue": 20221205
      },
      "includeForEmbedding": true
    },
    "author": {
      "value": {
        "type": "STRING",
        "stringValue": "Lisa Thompson"
      },
      "includeForEmbedding": true
    },
    "origin": {
      "value": {
        "type": "STRING",
        "stringValue": "Overview"
      },
      "includeForEmbedding": true
    }
  }
}
```

El archivo de metadatos debe usar el mismo nombre que el archivo de documento de origen asociado, con `.metadata.json` adjunto al final del nombre del archivo. El archivo de metadatos debe estar almacenado en la misma carpeta o ubicación que el archivo de origen en su bucket de Amazon S3. El archivo no debe superar el límite de 10 KB. Para obtener información sobre los tipos de attribute/field datos compatibles y los operadores de filtrado que puede aplicar a sus campos de metadatos, consulte [Metadatos y filtrado](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html).

### Prefijos de inclusión
<a name="ds-s3-inclusion-exclusion"></a>

Puede especificar un prefijo de inclusión, que es un prefijo de ruta de Amazon S3, donde puede usar un archivo o una carpeta de S3 en lugar de todo el bucket para crear el conector de origen de datos de S3.

### Sincronización incremental
<a name="ds-s3-incremental-sync"></a>

El conector de fuentes de datos rastrea el contenido nuevo, modificado y eliminado cada vez que la fuente de datos se sincroniza con la base de conocimientos. Amazon Bedrockpuede utilizar el mecanismo de la fuente de datos para realizar un seguimiento de los cambios en el contenido y rastrear el contenido modificado desde la última sincronización. Al sincronizar el origen de datos con la base de conocimientos por primera vez, todo el contenido se rastrea de forma predeterminada.

Para sincronizar la fuente de datos con la base de conocimientos, usa la [StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html)API o selecciona tu base de conocimientos en la consola y selecciona **Sincronizar** en la sección de información general de la fuente de datos.

**importante**  
Todos los datos que sincronice desde el origen de datos estarán disponibles para cualquier persona que tenga permisos `bedrock:Retrieve` para obtenerlos. Esto también puede incluir los datos con permisos de orígenes de datos controlados. Para obtener más información, consulte [Permisos de la base de conocimientos](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html).

------
#### [ Console ]

**Cómo conectar un bucket de Amazon S3 a su base de conocimiento**

1. Siga los pasos que se indican en [Creación de una base de conocimiento conectándola a un origen de datos de Bases de conocimiento de Amazon Bedrock](knowledge-base-create.md) y elija **Amazon S3** como el origen de datos.

1. Proporcione un nombre para el origen de datos.

1. Especifique si el bucket de Amazon S3 está en su AWS cuenta corriente o en otra AWS cuenta. Su bucket debe estar en la misma región que la base de conocimiento.

1. (Opcional) Si el bucket de Amazon S3 está cifrado con una clave de KMS, incluya la clave. Para obtener más información, consulte [Permisos para descifrar la AWS KMS clave de las fuentes de datos en Amazon S3](encryption-kb.md#encryption-kb-ds).

1. (Opcional) En la sección **Análisis y fragmentación del contenido**, puede personalizar la forma de analizar y fragmentar los datos. Para obtener más información sobre estas personalizaciones, consulte los siguientes recursos:
   + Para obtener más información sobre las opciones de análisis, consulte [Opciones de análisis del origen de datos](kb-advanced-parsing.md).
   + Para obtener más información sobre las estrategias de fragmentación, consulte [Funcionamiento de la fragmentación de contenido para las bases de conocimiento](kb-chunking.md).
**aviso**  
No puede cambiar la configuración de fragmentación después de conectarse al origen de datos.
   + Para obtener más información acerca de cómo personalizar la fragmentación de datos y el procesamiento de los metadatos con una función de Lambda, consulte [Uso de una función de Lambda de transformación personalizada para definir cómo se ingieren los datos](kb-custom-transformation.md).

1. En la sección **Configuración avanzada**, si lo desea, puede configurar lo siguiente:
   + **Clave de KMS para el almacenamiento de datos transitorios:** — Puede cifrar los datos transitorios y, al mismo tiempo, convertirlos en incrustaciones con la clave KMS predeterminada Clave administrada de AWS o con su propia clave KMS. Para obtener más información, consulte [Cifrado del almacenamiento de datos transitorios durante la ingesta de datos](encryption-kb.md#encryption-kb-ingestion).
   + **Política de eliminación de datos**: puede eliminar las incrustaciones vectoriales de su origen de datos que están almacenadas en el almacén de vectores de forma predeterminada u optar por conservar los datos del almacén de vectores.

1. Continúe eligiendo un modelo de incrustación y un almacén de vectores. Para ver los pasos restantes, regrese a [Creación de una base de conocimiento conectándola a un origen de datos de Bases de conocimiento de Amazon Bedrock](knowledge-base-create.md) y continúe desde allí después de conectar el origen de datos.

------
#### [ API ]

El siguiente es un ejemplo de una configuración para conectarse a Amazon S3 para la base de conocimientos de Amazon Bedrock. La fuente de datos se configura mediante la API con el SDK compatible AWS CLI o compatible, como Python. Después de llamar [CreateKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html), llamas [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html)para crear tu fuente de datos con la información de conexión`dataSourceConfiguration`.

Para obtener información sobre las personalizaciones que puede aplicar a la ingesta mediante la inclusión del campo `vectorIngestionConfiguration` opcional, consulte [Personalización de la ingesta de un origen de datos](kb-data-source-customize-ingestion.md).

**AWS Command Line Interface**

```
aws bedrock-agent create-data-source \
 --name "S3-connector" \
 --description "S3 data source connector for Amazon Bedrock to use content in S3" \
 --knowledge-base-id "your-knowledge-base-id" \
 --data-source-configuration file://s3-bedrock-connector-configuration.json \
 --data-deletion-policy "DELETE" \
 --vector-ingestion-configuration '{"chunkingConfiguration":{"chunkingStrategy":"FIXED_SIZE","fixedSizeChunkingConfiguration":{"maxTokens":100,"overlapPercentage":10}}}'
                    
s3-bedrock-connector-configuration.json
{
    "s3Configuration": {
	    "bucketArn": "arn:aws:s3:::bucket-name",
	    "bucketOwnerAccountId": "000000000000",
	    "inclusionPrefixes": [
	        "documents/"
	    ]
    },
    "type": "S3"	
}
```

------

# Conexión a Confluence para la base de conocimiento
<a name="confluence-data-source-connector"></a>

Atlassian Confluence is es una herramienta colaborativa de administración del trabajo diseñada para compartir, almacenar y trabajar en la planificación de proyectos, el desarrollo de software y la administración de productos. Puede conectarse a la instancia de Confluence para su base de conocimientos de Amazon Bedrock mediante la [Consola de administración de AWS de Amazon Bedrock](https://console.aws.amazon.com/bedrock/home) o la API de [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) (consulte los [SDK compatibles con Amazon Bedrock y AWS CLI](https://docs.aws.amazon.com/bedrock/latest/APIReference/welcome.html)).

**nota**  
El conector del origen de datos de Confluence está en versión preliminar y sujeta a cambios.  
Los orígenes de datos de Confluence no admiten datos multimodales, como tablas, gráficos, diagramas u otras imágenes.

Amazon Bedrock admite la conexión a instancias de Confluence Cloud. Actualmente, solo el almacén vectorial de Amazon OpenSearch sin servidor se puede usar con este origen de datos.

Existen límites en cuanto al número de archivos y MB por archivo que pueden rastrearse. Consulte [Cuotas de las bases de conocimientos](https://docs.aws.amazon.com/bedrock/latest/userguide/quotas.html).

**Topics**
+ [Características admitidas](#supported-features-confluence-connector)
+ [Requisitos previos](#prerequisites-confluence-connector)
+ [Configuración de la conexión](#configuration-confluence-connector)

## Características admitidas
<a name="supported-features-confluence-connector"></a>
+ Detección automática de los campos principales del documento
+ Filtros de inclusión o exclusión de contenido
+ El contenido incremental se sincroniza para añadir, actualizar o eliminar contenido
+ Autenticación OAuth 2.0, autenticación con token de la API de Confluence

## Requisitos previos
<a name="prerequisites-confluence-connector"></a>

**En Confluence, asegúrese de**:
+ Tomar nota de la dirección URL de la instancia de Confluence. Por ejemplo, para Confluence Cloud, *https://example.atlassian.net*. La URL de Confluence Cloud debe ser la URL básica y terminar en *.atlassian.net*.
+ Configure las credenciales de autenticación básicas que contengan un nombre de usuario (correo electrónico de la cuenta de administrador) y una contraseña (token de API de Confluence) para permitir que Amazon Bedrock se conecte a su instancia de Confluence Cloud. Para obtener más información sobre cómo crear un token de la API de Confluence, consulte [Manage API tokens for your Atlassian account](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/#Create-an-API-token) en el sitio web de Atlassian.
+ (Opcional) Configure una aplicación OAuth 2.0 con las credenciales de una clave de aplicación, un secreto de aplicación, un token de acceso y un token de actualización. Para obtener más información, consulte [OAuth 2.0 apps](https://developer.atlassian.com/cloud/confluence/oauth-2-3lo-apps/) en el sitio web de Atlassian.
+ Debe activar ciertos permisos de lectura o ámbitos para que la aplicación de OAuth 2.0 se conecte a Confluence.

  API de Confluence:
  + offline\$1access
  + read:content:confluence: muestra contenido detallado 
  + read:content-details:confluence: muestra los detalles del contenido 
  + read:space-details:confluence: muestra los detalles del espacio
  + read:audit-log:confluence: muestra los registros de auditoría 
  + read:page:confluence: muestra las páginas 
  + read:attachment:confluence: muestra y descarga los archivos adjuntos de contenido 
  + read:blogpost:confluence: muestra las publicaciones de blog 
  + read:custom-content:confluence: muestra el contenido personalizado 
  + read:comment:confluence: muestra los comentarios 
  + read:template:confluence: muestra las plantillas de contenido 
  + read:label:confluence: muestra las etiquetas 
  + read:watcher:confluence: muestra los observadores de contenido 
  + read:relation:confluence: muestra las relaciones entre entidades 
  + read:user:confluence: muestra los detalles del usuario 
  + read:configuration:confluence: muestra la configuración de Confluence 
  + read:space:confluence: muestra los detalles del espacio 
  + read:space.property:confluence: muestra las propiedades del espacio 
  + read:user.property:confluence: muestra las propiedades del usuario 
  + read:space.setting:confluence: muestra la configuración del espacio 
  + read:analytics.content:confluence: muestra el análisis de contenido
  + read:content.property:confluence: muestra las propiedades del contenido
  + read:content.metadata:confluence: muestra los resúmenes de contenido 
  + read:inlinetask:confluence: muestra las tareas 
  + read:task:confluence: muestra las tareas 
  + read:whiteboard:confluence: muestra las pizarras 
  + read:app-data:confluence: lee los datos de la aplicación 
  + read:folder:confluence: muestra las carpetas
  + read:embed:confluence: muestra los datos de Smart Link

**En la cuenta de AWS, asegúrese de**:
+ Almacenar sus credenciales de autenticación en un [secreto de AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html) y tomar nota del nombre de recurso de Amazon (ARN) del secreto. Siga las instrucciones de la sección **Configuración de la conexión** que aparecen en esta página para incluir los pares clave-valor que deben incluirse en el secreto.
+ Incluir los permisos necesarios para conectarse al origen de datos en la política de roles y permisos de AWS Identity and Access Management (IAM) de su base de conocimientos. Para obtener más información sobre los permisos necesarios para que este origen de datos se añada a su rol de IAM en la base de conocimientos, consulte [Permisos para acceder a los orígenes de datos](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html#kb-permissions-access-ds).

**nota**  
Si utiliza la consola, puede ir a AWS Secrets Manager para agregar el secreto o usar un secreto existente como parte del paso de configuración del origen de datos. El rol de IAM con todos los permisos necesarios se puede crear automáticamente como parte de los pasos de la consola para crear una base de conocimientos. Una vez que haya configurado el origen de datos y otras configuraciones, el rol de IAM con todos los permisos necesarios se aplicará a su base de conocimientos específica.  
Le recomendamos que actualice o modifique con regularidad las credenciales y el secreto. Por su propia seguridad, proporcione solo el nivel de acceso necesario. No recomendamos reutilizar las credenciales y los secretos en distintos orígenes de datos.

## Configuración de la conexión
<a name="configuration-confluence-connector"></a>

Para conectarse a la instancia de Confluence, debe proporcionar la información de configuración necesaria para que Amazon Bedrock pueda acceder a sus datos y rastrearlos. También debe seguir los [Requisitos previos](#prerequisites-confluence-connector).

En esta sección se incluye un ejemplo de configuración para este origen de datos.

Para obtener más información sobre la detección de campos de documento, los filtros de inclusión o exclusión, la sincronización incremental, las credenciales de autenticación secretas y su funcionamiento, seleccione lo siguiente:

### Detección automática de los campos principales del documento
<a name="ds-confluence-document-fields"></a>

El conector del origen de datos detecta y rastrea automáticamente todos los campos de metadatos principales de sus documentos o del contenido. Por ejemplo, el conector del origen de datos puede rastrear el equivalente del cuerpo del documento de sus documentos, el título del documento, la fecha de creación o modificación del documento u otros campos principales que puedan aplicarse a los documentos.

**importante**  
Si el contenido incluye información confidencial, Amazon Bedrock podría responder utilizando información confidencial.

Puede aplicar operadores de filtrado a los campos de metadatos para mejorar aún más la relevancia de las respuestas. Por ejemplo, documente “epoch\$1modification\$1time” o el número de segundos transcurridos desde el 1 de enero de 1970 hasta que se actualizó el documento por última vez. Puede filtrar por los datos más recientes, donde “epoch\$1modification\$1time” es *mayor que* un número determinado. Para obtener más información sobre los operadores de filtrado que puede aplicar a los campos de metadatos, consulte [Metadatos y filtrado](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html).

### Filtros de inclusión/exclusión
<a name="ds-confluence-inclusion-exclusion"></a>

Puede incluir o excluir el rastreo de determinado contenido. Por ejemplo, puede especificar un patrón de exclusión de prefijo o expresión regular para evitar el rastreo de cualquier archivo que contenga la palabra “privado” en el nombre del archivo. También puede especificar un patrón de exclusión de prefijo o expresión regular para incluir determinadas entidades o tipos de contenido. Si especifica un filtro de inclusión y exclusión y ambos coinciden con un documento, el filtro de exclusión tiene prioridad y el documento no se rastrea.

Un ejemplo de patrón de expresiones regulares para excluir o filtrar archivos PDF que contienen la palabra “privado” en el nombre del archivo: *".\$1private.\$1\$1\$1.pdf"*.

Puede aplicar filtros de inclusión o exclusión a los siguientes tipos de contenido:
+ `Space`: tecla de espacio única
+ `Page`: título de la página principal
+ `Blog`: título principal del blog
+ `Comment`: comentarios que pertenecen a una determinada página o blog. Especifique *Re: Page/Blog Title*.
+ `Attachment`: nombre del archivo asociado con su extensión

### Sincronización incremental
<a name="ds-confluence-incremental-sync"></a>

El conector del origen de datos rastrea el contenido nuevo, modificado y eliminado cada vez que el origen de datos se sincroniza con la base de conocimientos. Amazon Bedrock puede utilizar el mecanismo del origen de datos para realizar un seguimiento de los cambios en el contenido y rastrear el contenido modificado desde la última sincronización. Al sincronizar el origen de datos con la base de conocimientos por primera vez, todo el contenido se rastrea de forma predeterminada.

Para sincronizar el origen de datos con la base de conocimientos, utilice la API de [StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html) o seleccione su base de conocimientos en la consola y seleccione **Sincronizar** en la sección de información general del origen de datos.

**importante**  
Todos los datos que sincronice desde el origen de datos estarán disponibles para cualquier persona que tenga permisos `bedrock:Retrieve` para obtenerlos. Esto también puede incluir los datos con permisos de orígenes de datos controlados. Para obtener más información, consulte [Permisos de la base de conocimientos](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html).

### Credenciales de autenticación secretas
<a name="ds-confluence-secret-auth-credentials"></a>

(Si utiliza la autenticación básica) Las credenciales de autenticación secretas en AWS Secrets Manager deben incluir los siguientes pares clave-valor:
+ `username`: *dirección de correo electrónico del usuario administrador de la cuenta de Atlassian*
+ `password`: *token de la API de Confluence*

(Si utiliza la autenticación OAuth 2.0) Las credenciales de autenticación secretas en AWS Secrets Manager deben incluir los siguientes pares clave-valor:
+ `confluenceAppKey`: *clave de aplicación*
+ `confluenceAppSecret`: *secreto de aplicación*
+ `confluenceAccessToken`: *token de acceso a la aplicación*
+ `confluenceRefreshToken`: *token de actualización de la aplicación*

**nota**  
El token de **acceso** a OAuth 2.0 de Confluence tiene un período de caducidad predeterminado de 60 minutos. Si este token caduca mientras se está sincronizando el origen de datos (trabajo de sincronización), Amazon Bedrock utilizará el token de **actualización** proporcionado para regenerar este token. Esta regeneración actualiza los tokens de acceso y de actualización. Para mantener los tokens actualizados desde el trabajo de sincronización actual al siguiente trabajo de sincronización, Amazon Bedrock necesita permisos de escritura o colocación para las credenciales secretas como parte del rol de IAM en la base de conocimientos.

**nota**  
Su secreto en AWS Secrets Manager debe usar la misma región que su base de conocimiento.

------
#### [ Console ]

**Conexión de una instancia de Confluence a la base de conocimiento**

1. Siga los pasos que se indican en [Creación de una base de conocimiento conectándola a un origen de datos de Bases de conocimiento de Amazon Bedrock](knowledge-base-create.md) y elija **Confluence** como el origen de datos.

1. Proporcione un nombre y una descripción opcional para el origen de datos.

1. Proporcione la URL de la instancia de Confluence. Por ejemplo, para Confluence Cloud, *https://example.atlassian.net*. La URL de Confluence Cloud debe ser la URL básica y terminar en *.atlassian.net*.

1. En la sección **Configuración avanzada**, si lo desea, puede configurar lo siguiente:
   + **Clave de KMS para el almacenamiento de datos transitorios:** puede cifrar los datos transitorios y, al mismo tiempo, convertirlos en incrustaciones con la Clave administrada de AWS predeterminada o con su propia clave de KMS. Para obtener más información, consulte [Cifrado del almacenamiento de datos transitorios durante la ingesta de datos](encryption-kb.md#encryption-kb-ingestion).
   + **Política de eliminación de datos**: puede eliminar las incrustaciones vectoriales de su origen de datos que están almacenadas en el almacén de vectores de forma predeterminada u optar por conservar los datos del almacén de vectores.

1. Proporcione la información de autenticación para conectarse a la instancia de Confluence:
   + Para la autenticación básica, vaya a AWS Secrets Manager para añadir sus credenciales de autenticación secretas o utilice un nombre de recurso de Amazon (ARN) existente para el secreto que ha creado. El secreto debe contener la dirección de correo electrónico del usuario administrador de la cuenta de Atlassian como nombre de usuario y un token de la API de Confluence en lugar de una contraseña. Para obtener más información sobre cómo crear un token de la API de Confluence, consulte [Manage API tokens for your Atlassian account](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/#Create-an-API-token) en el sitio web de Atlassian.
   + Para la autenticación OAuth 2.0, vaya a AWS Secrets Manager para añadir sus credenciales de autenticación secretas o utilice un nombre de recurso de Amazon (ARN) existente para el secreto que ha creado. El secreto debe contener la clave de la aplicación de Confluence, el secreto de la aplicación, el token de acceso y el token de actualización. Para obtener más información, consulte [OAuth 2.0 apps](https://developer.atlassian.com/cloud/confluence/oauth-2-3lo-apps/) en el sitio web de Atlassian.

1. (Opcional) En la sección **Análisis y fragmentación del contenido**, puede personalizar la forma de analizar y fragmentar los datos. Para obtener más información sobre estas personalizaciones, consulte los siguientes recursos:
   + Para obtener más información sobre las opciones de análisis, consulte [Opciones de análisis del origen de datos](kb-advanced-parsing.md).
   + Para obtener más información sobre las estrategias de fragmentación, consulte [Funcionamiento de la fragmentación de contenido para las bases de conocimiento](kb-chunking.md).
**aviso**  
No puede cambiar la configuración de fragmentación después de conectarse al origen de datos.
   + Para obtener más información acerca de cómo personalizar la fragmentación de datos y el procesamiento de los metadatos con una función de Lambda, consulte. [Uso de una función de Lambda de transformación personalizada para definir cómo se ingieren los datos](kb-custom-transformation.md)

1. Elija usar patrones de filtros o expresiones regulares para incluir o excluir determinado contenido. De lo contrario, se rastreará todo el contenido estándar.

1. Continúe eligiendo un modelo de incrustación y un almacén de vectores. Para ver los pasos restantes, regrese a [Creación de una base de conocimiento conectándola a un origen de datos de Bases de conocimiento de Amazon Bedrock](knowledge-base-create.md) y continúe desde allí después de conectar el origen de datos.

------
#### [ API ]

El siguiente es un ejemplo de una configuración para conectarse a Confluence Cloud para la base de conocimientos de Amazon Bedrock. El origen de datos se configura mediante la API con la AWS CLI o un SDK compatible, como Python. Después de llamar a [CreateKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html), llame a [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) para crear el origen de datos con la información de conexión en `dataSourceConfiguration`.

Para obtener información sobre las personalizaciones que puede aplicar a la ingesta mediante la inclusión del campo `vectorIngestionConfiguration` opcional, consulte [Personalización de la ingesta de un origen de datos](kb-data-source-customize-ingestion.md).

**AWS Command Line Interface**

```
aws bedrock create-data-source \
 --name "Confluence Cloud/SaaS connector" \
 --description "Confluence Cloud/SaaS data source connector for Amazon Bedrock to use content in Confluence" \
 --knowledge-base-id "your-knowledge-base-id" \
 --data-source-configuration file://confluence-bedrock-connector-configuration.json \
 --data-deletion-policy "DELETE" \
 --vector-ingestion-configuration '{"chunkingConfiguration":[{"chunkingStrategy":"FIXED_SIZE","fixedSizeChunkingConfiguration":[{"maxTokens":"100","overlapPercentage":"10"}]}]}'

confluence-bedrock-connector-configuration.json
{
    "confluenceConfiguration": {
        "sourceConfiguration": {
            "hostUrl": "https://example.atlassian.net",
            "hostType": "SAAS",
            "authType": "OAUTH2_CLIENT_CREDENTIALS",
            "credentialsSecretArn": "arn:aws::secretsmanager:your-region:secret:AmazonBedrock-Confluence"
        },
        "crawlerConfiguration": {
            "filterConfiguration": {
                "type": "PATTERN",
                "patternObjectFilter": {
                    "filters": [
                        {
                            "objectType": "Attachment",
                            "inclusionFilters": [
                                ".*\\.pdf"
                            ],
                            "exclusionFilters": [
                                ".*private.*\\.pdf"
                            ]
                        }
                    ]
                }
            }
        }
    },
    "type": "CONFLUENCE"
}
```

------

# Conéctese a Microsoft SharePoint para su base de conocimientos
<a name="sharepoint-data-source-connector"></a>

Microsoft SharePoint es un servicio colaborativo basado en la web para trabajar en documentos, páginas web, sitios web, listas y mucho más. Puede conectarse a su SharePoint instancia para su base de conocimientos de Amazon Bedrock mediante la [consola de AWS administración de Amazon Bedrock](https://console.aws.amazon.com/bedrock/home) o la [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html)API (consulte Amazon Bedrock [compatible SDKs ](https://docs.aws.amazon.com/bedrock/latest/APIReference/welcome.html) y). AWS CLI

**nota**  
SharePoint El conector de la fuente de datos se encuentra en versión preliminar y está sujeto a cambios.  
Las fuentes de SharePoint datos de Microsoft no admiten datos multimodales, como tablas, gráficos, diagramas u otras imágenes.

Amazon Bedrock admite la conexión a instancias SharePoint en línea. Actualmente, no se OneNote admite el rastreo de documentos. Actualmente, solo el almacén vectorial Amazon OpenSearch Serverless está disponible para su uso con esta fuente de datos.

Existen límites en cuanto al número de archivos y MB por archivo que pueden rastrearse. Consulte [Cuotas de las bases de conocimientos](https://docs.aws.amazon.com/bedrock/latest/userguide/quotas.html).

**Topics**
+ [Características admitidas](#supported-features-sharepoint-connector)
+ [Requisitos previos](#prerequisites-sharepoint-connector)
+ [Configuración de la conexión](#configuration-sharepoint-connector)

## Características admitidas
<a name="supported-features-sharepoint-connector"></a>
+ Detección automática de los campos principales del documento
+ Filtros de inclusión o exclusión de contenido
+ El contenido incremental se sincroniza para añadir, actualizar o eliminar contenido
+ SharePoint Autenticación solo mediante aplicaciones

## Requisitos previos
<a name="prerequisites-sharepoint-connector"></a>

### SharePoint (En línea)
<a name="prerequisites-sharepoint-connector-online"></a>

**En su cuenta SharePoint (en línea), complete los siguientes pasos para usar la autenticación SharePoint solo mediante aplicaciones:**
+ Tome nota de la URL/ de su sitio SharePoint en línea. URLs Por ejemplo, *https://yourdomain.sharepoint.com/sites/mysite*. La URL debe empezar por *https* y contener *sharepoint.com*. La URL de su sitio debe ser el SharePoint sitio real, no *sharepoint.com/* o *sites/mysite/home.aspx*
+ Toma nota del nombre de dominio de la URL de tu instancia SharePoint online/URLs.
+ Copie su ID de inquilino de Microsoft 365. Puede encontrar su ID de inquilino en las propiedades de su portal de Microsoft Entra. Consulte [Find your Microsoft 365 tenant ID](https://learn.microsoft.com/en-us/sharepoint/find-your-office-365-tenant-id) para obtener más información.
**nota**  
Para ver un ejemplo de aplicación, consulte [Registro de una aplicación cliente en Microsoft Entra ID](https://learn.microsoft.com/en-us/azure/healthcare-apis/register-application) (anteriormente conocido como Azure Active Directory) en el sitio web de Microsoft Learn. 
+ Configura las credenciales exclusivas de la SharePoint aplicación.
+ Copie el ID del cliente y el valor del secreto del cliente al conceder el permiso a SharePoint App-Only. Para obtener más información, consulte [Concesión de acceso mediante SharePoint ](https://learn.microsoft.com/en-us/sharepoint/dev/solution-guidance/security-apponly-azureacs) App-Only.
**nota**  
No necesita configurar ningún permiso de API para App-Only. SharePoint Sin embargo, debes configurar los permisos de la APLICACIÓN de forma paralela. SharePoint Para obtener más información sobre los permisos de aplicación necesarios, consulte la documentación de Microsoft sobre cómo [conceder acceso mediante solo SharePoint aplicaciones.](https://learn.microsoft.com/en-us/sharepoint/dev/solution-guidance/security-apponly-azureacs)

### Cuenta de AWS
<a name="prerequisites-sharepoint-connector-account"></a>

**En tu AWS cuenta, asegúrate de**:
+ Almacenar sus credenciales de autenticación en un [secreto de AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html) y tomar nota del nombre de recurso de Amazon (ARN) del secreto. Siga las instrucciones de la sección **Configuración de la conexión** que aparecen en esta página para incluir los pares clave-valor que deben incluirse en el secreto.
+ Incluya los permisos necesarios para conectarse a su fuente de datos en la role/permissions política AWS Identity and Access Management (IAM) de su base de conocimientos. Para obtener información sobre los permisos necesarios para que esta fuente de datos se añada a su IAM función de base de conocimientos, consulte [Permisos para acceder a las fuentes de datos](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html#kb-permissions-access-ds).

**nota**  
Si usa la consola, puede ir AWS Secrets Manager a para agregar su secreto o usar uno existente como parte del paso de configuración de la fuente de datos. El IAM rol con todos los permisos necesarios se puede crear automáticamente como parte de los pasos de la consola para crear una base de conocimientos. Una vez que haya configurado la fuente de datos y otras configuraciones, el IAM rol con todos los permisos necesarios se aplicará a su base de conocimientos específica.  
Le recomendamos que actualice o modifique con regularidad las credenciales y el secreto. Por su propia seguridad, proporcione solo el nivel de acceso necesario. No recomendamos reutilizar las credenciales y los secretos en distintos orígenes de datos.

## Configuración de la conexión
<a name="configuration-sharepoint-connector"></a>

Para conectarse a su SharePoint instancia, debe proporcionar la información de configuración necesaria para que Amazon Bedrock pueda acceder a sus datos y rastrearlos. También debe seguir los [Requisitos previos](#prerequisites-sharepoint-connector).

En esta sección se incluye un ejemplo de configuración para este origen de datos.

Para obtener más información sobre la detección de campos de documento, los filtros de inclusión o exclusión, la sincronización incremental, las credenciales de autenticación secretas y su funcionamiento, seleccione lo siguiente:

### Detección automática de los campos principales del documento
<a name="ds-sharepoint-document-fields"></a>

El conector del origen de datos detecta y rastrea automáticamente todos los campos de metadatos principales de sus documentos o del contenido. Por ejemplo, el conector del origen de datos puede rastrear el equivalente del cuerpo del documento de sus documentos, el título del documento, la fecha de creación o modificación del documento u otros campos principales que puedan aplicarse a los documentos.

**importante**  
Si su contenido incluye información confidencial, Amazon Bedrock podría responder utilizando información confidencial.

Puede aplicar operadores de filtrado a los campos de metadatos para mejorar aún más la relevancia de las respuestas. Por ejemplo, documente “epoch\$1modification\$1time” o el número de segundos transcurridos desde el 1 de enero de 1970 hasta que se actualizó el documento por última vez. Puede filtrar por los datos más recientes, donde “epoch\$1modification\$1time” es *mayor que* un número determinado. Para obtener más información sobre los operadores de filtrado que puede aplicar a los campos de metadatos, consulte [Metadatos y filtrado](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html).

### Filtros de inclusión/exclusión
<a name="ds-sharepoint-inclusion-exclusion"></a>

Puede incluir o excluir el rastreo de determinado contenido. Por ejemplo, puedes especificar un patrón de prefix/regular expresión de exclusión para evitar el rastreo de cualquier archivo que contenga la palabra «privado» en el nombre del archivo. También puede especificar un patrón de prefix/regular expresión de inclusión para incluir determinadas entidades o tipos de contenido. Si especifica un filtro de inclusión y exclusión y ambos coinciden con un documento, el filtro de exclusión tiene prioridad y el documento no se rastrea.

Un ejemplo de patrón de expresiones regulares para excluir o filtrar archivos PDF que contienen la palabra “privado” en el nombre del archivo: *".\$1private.\$1\$1\$1.pdf"*.

Puede aplicar inclusion/exclusion filtros a los siguientes tipos de contenido:
+ `Page`: título de la página principal
+ `Event`: nombre del evento
+ `File`: nombre del archivo con su extensión para los archivos adjuntos y todos los archivos del documento

Actualmente, no se admite el rastreo de OneNote documentos.

### Sincronización incremental
<a name="ds-sharepoint-incremental-sync"></a>

El conector de fuentes de datos rastrea el contenido nuevo, modificado y eliminado cada vez que la fuente de datos se sincroniza con la base de conocimientos. Amazon Bedrock puede usar el mecanismo de la fuente de datos para realizar un seguimiento de los cambios en el contenido y rastrear el contenido que ha cambiado desde la última sincronización. Al sincronizar el origen de datos con la base de conocimientos por primera vez, todo el contenido se rastrea de forma predeterminada.

Para sincronizar la fuente de datos con la base de conocimientos, usa la [StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html)API o selecciona tu base de conocimientos en la consola y selecciona **Sincronizar** en la sección de información general de la fuente de datos.

**importante**  
Todos los datos que sincronice desde el origen de datos estarán disponibles para cualquier persona que tenga permisos `bedrock:Retrieve` para obtenerlos. Esto también puede incluir los datos con permisos de orígenes de datos controlados. Para obtener más información, consulte [Permisos de la base de conocimientos](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html).

### Credenciales de autenticación secretas
<a name="ds-sharepoint-secret-auth-credentials"></a>

Cuando utilices la autenticación SharePoint solo por aplicación, tus credenciales de autenticación secretas AWS Secrets Manager deben incluir los siguientes pares clave-valor:
+ `clientId`: *client ID associated with your Microsoft Entra SharePoint application*
+ `clientSecret`: *client secret associated with your Microsoft Entra SharePoint application*
+ `sharePointClientId`: *client ID generated when registering your SharePoint app for App-Only authentication*
+ `sharePointClientSecret`: *client secret generated when registering your SharePoint app for App-Only authentication*

**nota**  
Su clave secreta AWS Secrets Manager debe usar la misma región de su base de conocimientos.

------
#### [ Console ]

**Conecta una SharePoint instancia a tu base de conocimientos**<a name="connect-sharepoint-console"></a>

1. Siga los pasos que se indican en [Creación de una base de conocimiento conectándola a un origen de datos de Bases de conocimiento de Amazon Bedrock](knowledge-base-create.md) y elija **SharePoint**la fuente de datos.

1. Proporcione un nombre y una descripción opcional para el origen de datos.

1. Proporcione la URL de su SharePoint sitio web/URLs. Por ejemplo, para SharePoint Online,*https://yourdomain.sharepoint.com/sites/mysite*. La URL debe empezar por *https* y contener *sharepoint.com*. La URL de su sitio debe ser el SharePoint sitio real, no *sharepoint.com/* o *sites/mysite/home.aspx*

1. Proporcione el nombre de dominio de la SharePoint instancia.

1. En la sección **Configuración avanzada**, si lo desea, puede configurar lo siguiente:
   + **Clave de KMS para el almacenamiento de datos transitorios:** — Puede cifrar los datos transitorios y, al mismo tiempo, convertirlos en incrustaciones con la clave KMS predeterminada Clave administrada de AWS o con su propia clave KMS. Para obtener más información, consulte [Cifrado del almacenamiento de datos transitorios durante la ingesta de datos](encryption-kb.md#encryption-kb-ingestion).
   + **Política de eliminación de datos**: puede eliminar las incrustaciones vectoriales de su origen de datos que están almacenadas en el almacén de vectores de forma predeterminada u optar por conservar los datos del almacén de vectores.

1. Proporcione la información de autenticación para conectarse a la instancia. SharePoint Para la SharePoint autenticación solo mediante aplicaciones:

   1. Proporcione el ID de inquilino. Puede encontrar su ID de inquilino en las propiedades del portal de Azure Active Directory.

   1. Vaya AWS Secrets Manager a para añadir sus credenciales secretas o utilice un nombre de recurso de Amazon (ARN) existente para el secreto que ha creado. Su secreto debe contener el ID de SharePoint cliente y el secreto de SharePoint cliente generados al registrar la aplicación Solo a nivel de inquilino o sitio, y el ID de cliente de Entra y el secreto de cliente de Entra generados al registrar la aplicación en Entra.

1. (Opcional) En la sección **Análisis y fragmentación del contenido**, puede personalizar la forma de analizar y fragmentar los datos. Para obtener más información sobre estas personalizaciones, consulte los siguientes recursos:
   + Para obtener más información sobre las opciones de análisis, consulte [Opciones de análisis del origen de datos](kb-advanced-parsing.md).
   + Para obtener más información sobre las estrategias de fragmentación, consulte [Funcionamiento de la fragmentación de contenido para las bases de conocimiento](kb-chunking.md).
**aviso**  
No puede cambiar la configuración de fragmentación después de conectarse al origen de datos.
   + Para obtener más información acerca de cómo personalizar la fragmentación de datos y el procesamiento de los metadatos con una función de Lambda, consulte [Uso de una función de Lambda de transformación personalizada para definir cómo se ingieren los datos](kb-custom-transformation.md).

1. Elija usar patrones de filters/regular expresiones para incluir o excluir cierto contenido. De lo contrario, se rastreará todo el contenido estándar.

1. Continúe eligiendo un modelo de incrustación y un almacén de vectores. Para ver los pasos restantes, regrese a [Creación de una base de conocimiento conectándola a un origen de datos de Bases de conocimiento de Amazon Bedrock](knowledge-base-create.md) y continúe desde allí después de conectar el origen de datos.

------
#### [ API ]

El siguiente es un ejemplo de una configuración para conectarse a SharePoint Online para su base de conocimiento de Amazon Bedrock. La fuente de datos se configura mediante la API con el SDK compatible AWS CLI o compatible, como Python. Después de llamar [CreateKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html), llamas [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html)para crear tu fuente de datos con la información de conexión`dataSourceConfiguration`.

Para obtener información sobre las personalizaciones que puede aplicar a la ingesta mediante la inclusión del campo `vectorIngestionConfiguration` opcional, consulte [Personalización de la ingesta de un origen de datos](kb-data-source-customize-ingestion.md).

**AWS Command Line Interface**

```
aws bedrock-agent create-data-source \
 --name "SharePoint Online connector" \
 --description "SharePoint Online data source connector for Amazon Bedrock to use content in SharePoint" \
 --knowledge-base-id "your-knowledge-base-id" \
 --data-source-configuration file://sharepoint-bedrock-connector-configuration.json \
 --data-deletion-policy "DELETE"
```

**Contenido de `sharepoint-bedrock-connector-configuration.json`**

```
{
    "sharePointConfiguration": {
        "sourceConfiguration": {
            "tenantId": "888d0b57-69f1-4fb8-957f-e1f0bedf64de",
            "hostType": "ONLINE",
            "domain": "yourdomain",
            "siteUrls": [
                "https://yourdomain.sharepoint.com/sites/mysite"
            ],
            "authType": "OAUTH2_SHAREPOINT_APP_ONLY_CLIENT_CREDENTIALS",
            "credentialsSecretArn": "arn:aws::secretsmanager:your-region:secret:AmazonBedrock-SharePoint"
        },
        "crawlerConfiguration": {
            "filterConfiguration": {
                "type": "PATTERN",
                "patternObjectFilter": {
                    "filters": [
                        {
                            "objectType": "File",
                            "inclusionFilters": [
                                ".*\\.pdf"
                            ],
                            "exclusionFilters": [
                                ".*private.*\\.pdf"
                            ]
                        }
                    ]
                }
            }
        }
    },
    "type": "SHAREPOINT"
}
```

------

**importante**  
No se recomienda la autenticación OAuth2 2.0. Se recomienda utilizar la autenticación solo por SharePoint aplicación.

## Uso de 0. OAuth2
<a name="sharepoint-connector-oauth"></a>

Con la OAuth versión 2.0, puede autenticar y autorizar el acceso a SharePoint los recursos de los SharePoint conectores integrados en las bases de conocimiento.

### Requisitos previos
<a name="sharepoint-connector-oauth-prereq"></a>

**En SharePoint, para la autenticación OAuth 2.0, asegúrese de**:
+ Tome nota de la URL/ URLs de su sitio SharePoint en línea. Por ejemplo, *https://yourdomain.sharepoint.com/sites/mysite*. La URL debe empezar por *https* y contener *sharepoint.com*. La URL de su sitio debe ser el SharePoint sitio real, no *sharepoint.com/* o *sites/mysite/home.aspx*
+ Toma nota del nombre de dominio de la URL de tu instancia SharePoint online/URLs.
+ Copie su ID de inquilino de Microsoft 365. Puede encontrar su ID de inquilino en las propiedades de su portal Microsoft Entra o en su OAuth aplicación.

  Tome nota del nombre de usuario y la contraseña de la SharePoint cuenta de administrador y copie el ID de cliente y el valor secreto del cliente al registrar una aplicación.
**nota**  
Para ver un ejemplo de aplicación, consulte [Registro de una aplicación cliente en Microsoft Entra ID](https://learn.microsoft.com/en-us/azure/healthcare-apis/register-application) (anteriormente conocido como Azure Active Directory) en el sitio web de Microsoft Learn. 
+ Se requieren ciertos permisos de lectura para poder conectarse SharePoint cuando se registra una aplicación.
  + SharePoint: AllSites .Read (delegado): lee los elementos de todas las colecciones de sitios
+ Es posible que tenga que desactivar **Valores predeterminados de seguridad** en el portal de Azure mediante un usuario administrador. Para obtener más información sobre la administración de la configuración predeterminada de seguridad en el portal de Azure, consulte la [documentación de Microsoft sobre cómo establecer la configuración predeterminada enable/disable de seguridad](https://learn.microsoft.com/en-us/microsoft-365/business-premium/m365bp-conditional-access?view=o365-worldwide&tabs=secdefaults#security-defaults-1).
+ Es posible que tengas que desactivar la autenticación multifactor (MFA) en SharePoint tu cuenta para que Amazon Bedrock no pueda rastrear tu contenido. SharePoint 

Para cumplir los requisitos previos, asegúrese de haber realizado los pasos que se detallan en [Cuenta de AWS](#prerequisites-sharepoint-connector-account).

### Credenciales de autenticación secretas
<a name="sharepoint-secret-auth-credentials-oauth"></a>

Para configurar la conexión para OAuth2 .0, puede realizar los mismos pasos para la detección automática de los campos principales del documento, los inclusion/exclusion filtros y la sincronización incremental, tal como se describe en. [Configuración de la conexión](#configuration-sharepoint-connector)

**Para la autenticación OAuth 2.0, sus credenciales de autenticación secretas AWS Secrets Manager deben incluir estos pares clave-valor**.
+ `username`: *SharePoint admin username*
+ `password`: *SharePoint admin password*
+ `clientId`: *OAuth app client ID*
+ `clientSecret`: *OAuth app client secret*

### Conecta una SharePoint instancia a tu base de conocimientos
<a name="sharepoint-connector-oauth-using"></a>

Para conectar una SharePoint instancia a tu base de conocimientos cuando utilices OAuth2 .0:
+ (consola) En la consola, sigue los mismos pasos que se describen en [Conectar una SharePoint instancia a la base de conocimientos](https://docs.aws.amazon.com/bedrock/latest/userguide/sharepoint-data-source-connector.html#connect-sharepoint-console). Cuando quieras proporcionar la información de autenticación para conectarte a tu SharePoint instancia.
  + Proporcione el ID de inquilino. Puede encontrar su ID de inquilino en las propiedades del portal de Azure Active Directory.
  + Vaya AWS Secrets Manager a para añadir sus credenciales de autenticación secretas o utilice un nombre de recurso de Amazon (ARN) existente para el secreto que ha creado. Su secreto debe contener el nombre de usuario y la contraseña del SharePoint administrador, así como el ID de cliente y el secreto de cliente de la aplicación registrados. Para ver un ejemplo de aplicación, consulte [Registro de una aplicación cliente en Microsoft Entra ID](https://learn.microsoft.com/en-us/azure/healthcare-apis/register-application) (anteriormente conocido como Azure Active Directory) en el sitio web de Microsoft Learn.
+ (API) A continuación, se muestra un ejemplo del uso de la `CreateDataSource` API para crear la fuente de datos con la información de conexión de OAuth2 .0.

  ```
  aws bedrock-agent create-data-source \
   --name "SharePoint Online connector" \
   --description "SharePoint Online data source connector for Amazon Bedrock to use content in SharePoint" \
   --knowledge-base-id "your-knowledge-base-id" \
   --data-source-configuration file://sharepoint-bedrock-connector-configuration.json \
   --data-deletion-policy "DELETE"
  ```

  **Contenido de `sharepoint-bedrock-connector-configuration.json`**

  ```
  {
      "sharePointConfiguration": {
          "sourceConfiguration": {
              "tenantId": "888d0b57-69f1-4fb8-957f-e1f0bedf64de",
              "hostType": "ONLINE",
              "domain": "yourdomain",
              "siteUrls": [
                  "https://yourdomain.sharepoint.com/sites/mysite"
              ],
              "authType": "OAUTH2_CLIENT_CREDENTIALS",
              "credentialsSecretArn": "arn:aws::secretsmanager:your-region:secret:AmazonBedrock-SharePoint"
          },
          "crawlerConfiguration": {
              "filterConfiguration": {
                  "type": "PATTERN",
                  "patternObjectFilter": {
                      "filters": [
                          {
                              "objectType": "File",
                              "inclusionFilters": [
                                  ".*\\.pdf"
                              ],
                              "exclusionFilters": [
                                  ".*private.*\\.pdf"
                              ]
                          }
                      ]
                  }
              }
          }
      },
      "type": "SHAREPOINT"
  }
  ```

# Conexión a Salesforce para su base de conocimiento
<a name="salesforce-data-source-connector"></a>

Salesforce es una herramienta de gestión de relaciones con los clientes (CRM) para administrar los equipos de soporte, ventas y marketing. Puede conectarse a la instancia de Salesforce para su base de conocimientos de Amazon Bedrock mediante la [Consola de administración de AWS de Amazon Bedrock](https://console.aws.amazon.com/bedrock/home) o la API de [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) (consulte los [SDK compatibles con Amazon Bedrock y AWS CLI](https://docs.aws.amazon.com/bedrock/latest/APIReference/welcome.html)).

**nota**  
El conector del origen de datos de Salesforce está en versión preliminar y sujeta a cambios.  
Los orígenes de datos de Salesforce no admiten datos multimodales, como tablas, gráficos, diagramas u otras imágenes.

Actualmente, solo el almacén vectorial de Amazon OpenSearch sin servidor se puede usar con este origen de datos.

Existen límites en cuanto al número de archivos y MB por archivo que pueden rastrearse. Consulte [Cuotas de las bases de conocimientos](https://docs.aws.amazon.com/bedrock/latest/userguide/quotas.html).

**Topics**
+ [Características admitidas](#supported-features-salesforce-connector)
+ [Requisitos previos](#prerequisites-salesforce-connector)
+ [Configuración de la conexión](#configuration-salesforce-connector)

## Características admitidas
<a name="supported-features-salesforce-connector"></a>
+ Detección automática de los campos principales del documento
+ Filtros de inclusión o exclusión de contenido
+ El contenido incremental se sincroniza para añadir, actualizar o eliminar contenido
+ Autenticación OAuth 2.0

## Requisitos previos
<a name="prerequisites-salesforce-connector"></a>

**En Salesforce, asegúrese de**:
+ Tomar nota de la URL de su instancia de Salesforce. Por ejemplo, *https://company.salesforce.com/*. La instancia debe ejecutar una aplicación conectada de Salesforce.
+ Crear una aplicación conectada de Salesforce y configurar las credenciales del cliente. A continuación, para la aplicación que haya seleccionado, copie la clave de consumidor (ID de cliente) y el secreto de consumidor (secreto de cliente) de la configuración de OAuth. Para obtener más información, consulte la documentación de Salesforce sobre cómo [Create a Connected App](https://help.salesforce.com/s/articleView?id=sf.connected_app_create.htm&type=5) y [Configure a Connected App for the OAuth 2.0 Client Credentials](https://help.salesforce.com/s/articleView?id=sf.connected_app_client_credentials_setup.htm&type=5).
**nota**  
En el caso de las aplicaciones conectadas de Salesforce, en Flujo de credenciales de cliente, asegúrese de buscar y seleccionar el nombre de usuario o el alias para las credenciales de sus clientes en el campo Ejecutar como.

**En la cuenta de AWS, asegúrese de**:
+ Almacenar sus credenciales de autenticación en un [secreto de AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html) y tomar nota del nombre de recurso de Amazon (ARN) del secreto. Siga las instrucciones de la sección **Configuración de la conexión** que aparecen en esta página para incluir los pares clave-valor que deben incluirse en el secreto.
+ Incluir los permisos necesarios para conectarse al origen de datos en la política de roles y permisos de AWS Identity and Access Management (IAM) de su base de conocimientos. Para obtener más información sobre los permisos necesarios para que este origen de datos se añada a su rol de IAM en la base de conocimientos, consulte [Permisos para acceder a los orígenes de datos](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html#kb-permissions-access-ds).

**nota**  
Si utiliza la consola, puede ir a AWS Secrets Manager para agregar el secreto o usar un secreto existente como parte del paso de configuración del origen de datos. El rol de IAM con todos los permisos necesarios se puede crear automáticamente como parte de los pasos de la consola para crear una base de conocimientos. Una vez que haya configurado el origen de datos y otras configuraciones, el rol de IAM con todos los permisos necesarios se aplicará a su base de conocimientos específica.  
Le recomendamos que actualice o modifique con regularidad las credenciales y el secreto. Por su propia seguridad, proporcione solo el nivel de acceso necesario. No recomendamos reutilizar las credenciales y los secretos en distintos orígenes de datos.

## Configuración de la conexión
<a name="configuration-salesforce-connector"></a>

Para conectarse a la instancia de Salesforce, debe proporcionar la información de configuración necesaria para que Amazon Bedrock pueda acceder a sus datos y rastrearlos. También debe seguir los [Requisitos previos](#prerequisites-salesforce-connector).

En esta sección se incluye un ejemplo de configuración para este origen de datos.

Para obtener más información sobre la detección de campos de documento, los filtros de inclusión o exclusión, la sincronización incremental, las credenciales de autenticación secretas y su funcionamiento, seleccione lo siguiente:

### Detección automática de los campos principales del documento
<a name="ds-salesforce-document-fields"></a>

El conector del origen de datos detecta y rastrea automáticamente todos los campos de metadatos principales de sus documentos o del contenido. Por ejemplo, el conector del origen de datos puede rastrear el equivalente del cuerpo del documento de sus documentos, el título del documento, la fecha de creación o modificación del documento u otros campos principales que puedan aplicarse a los documentos.

**importante**  
Si el contenido incluye información confidencial, Amazon Bedrock podría responder utilizando información confidencial.

Puede aplicar operadores de filtrado a los campos de metadatos para mejorar aún más la relevancia de las respuestas. Por ejemplo, documente “epoch\$1modification\$1time” o el número de segundos transcurridos desde el 1 de enero de 1970 hasta que se actualizó el documento por última vez. Puede filtrar por los datos más recientes, donde “epoch\$1modification\$1time” es *mayor que* un número determinado. Para obtener más información sobre los operadores de filtrado que puede aplicar a los campos de metadatos, consulte [Metadatos y filtrado](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html).

### Filtros de inclusión/exclusión
<a name="ds-salesforce-inclusion-exclusion"></a>

Puede incluir o excluir el rastreo de determinado contenido. Por ejemplo, puede especificar un patrón de exclusión de prefijo o expresión regular para evitar el rastreo de cualquier archivo que contenga la palabra “privado” en el nombre del archivo. También puede especificar un patrón de exclusión de prefijo o expresión regular para incluir determinadas entidades o tipos de contenido. Si especifica un filtro de inclusión y exclusión y ambos coinciden con un documento, el filtro de exclusión tiene prioridad y el documento no se rastrea.

Un ejemplo de patrón de expresiones regulares para excluir o filtrar campañas que contienen la palabra “privado” en el nombre del archivo: *“.\$1privado.\$1”*.

Puede aplicar filtros de inclusión o exclusión a los siguientes tipos de contenido:
+ `Account`: número o identificador de la cuenta
+ `Attachment`: nombre del archivo asociado con su extensión
+ `Campaign`: nombre de la campaña e identificadores asociados
+ `ContentVersion`: versión del documento e identificadores asociados
+ `Partner`: campos de información sobre los socios, incluidos los identificadores asociados
+ `Pricebook2`: nombre de la lista de productos o precios
+ `Case`: número de consulta o problema del cliente y otros campos de información, incluidos los identificadores asociados (tenga en cuenta que pueden contener información personal y que puede optar por excluirla o filtrarla)
+ `Contact`: campos de información del cliente (tenga en cuenta que pueden contener información personal y que puede optar por excluirla o filtrarla)
+ `Contract`: nombre del contrato e identificadores asociados
+ `Document`: nombre del archivo con su extensión
+ `Idea`: campos de información de la idea e identificadores asociados
+ `Lead`: campos de información del nuevo cliente potencial (tenga en cuenta que pueden contener información personal y que puede optar por excluirla o filtrarla)
+ `Opportunity`: campos de información de la idea o venta pendientes e identificadores asociados
+ `Product2`: campos de información del producto e identificadores asociados
+ `Solution`: nombre de la solución para una consulta o problema de un cliente e identificadores asociados
+ `Task`: campos de información de la tarea e identificadores asociados
+ `FeedItem`: identificador de la publicación del feed de conversación
+ `FeedComment`: identificador de la publicación del feed de chat a la que pertenecen los comentarios
+ `Knowledge__kav`: título del artículo de conocimiento
+ `User`: alias de usuario dentro de su organización
+ `CollaborationGroup`: nombre del grupo de chat (único)

### Sincronización incremental
<a name="ds-salesforce-incremental-sync"></a>

El conector del origen de datos rastrea el contenido nuevo, modificado y eliminado cada vez que el origen de datos se sincroniza con la base de conocimientos. Amazon Bedrock puede utilizar el mecanismo del origen de datos para realizar un seguimiento de los cambios en el contenido y rastrear el contenido modificado desde la última sincronización. Al sincronizar el origen de datos con la base de conocimientos por primera vez, todo el contenido se rastrea de forma predeterminada.

Para sincronizar el origen de datos con la base de conocimientos, utilice la API de [StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html) o seleccione su base de conocimientos en la consola y seleccione **Sincronizar** en la sección de información general del origen de datos.

**importante**  
Todos los datos que sincronice desde el origen de datos estarán disponibles para cualquier persona que tenga permisos `bedrock:Retrieve` para obtenerlos. Esto también puede incluir los datos con permisos de orígenes de datos controlados. Para obtener más información, consulte [Permisos de la base de conocimientos](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html).

### Credenciales de autenticación secretas
<a name="ds-salesforce-secret-auth-credentials"></a>

(Si utiliza la autenticación OAuth 2.0) Las credenciales de autenticación secretas en AWS Secrets Manager deben incluir los siguientes pares clave-valor:
+ `consumerKey`: *ID de cliente de la aplicación*
+ `consumerSecret`: *secreto del cliente de la aplicación*
+ `authenticationUrl`: *URL de la instancia de Salesforce o URL desde la que se solicita el token de autenticación*

**nota**  
Su secreto en AWS Secrets Manager debe usar la misma región que su base de conocimiento.

------
#### [ Console ]

**Conexión de una instancia de Salesforce para la base de conocimiento**

1. Siga los pasos que se indican en [Creación de una base de conocimiento conectándola a un origen de datos de Bases de conocimiento de Amazon Bedrock](knowledge-base-create.md) y elija **Salesforce** como el origen de datos.

1. Proporcione un nombre y una descripción opcional para el origen de datos.

1. Proporcione la URL de su instancia de Salesforce. Por ejemplo, *https://company.salesforce.com/*. La instancia debe ejecutar una aplicación conectada de Salesforce.

1. En la sección **Configuración avanzada**, si lo desea, puede configurar lo siguiente:
   + **Clave de KMS para el almacenamiento de datos transitorios:** : puede cifrar los datos transitorios y, al mismo tiempo, convertirlos en incrustaciones con la Clave administrada de AWS predeterminada o con su propia clave de KMS. Para obtener más información, consulte [Cifrado del almacenamiento de datos transitorios durante la ingesta de datos](encryption-kb.md#encryption-kb-ingestion).
   + **Política de eliminación de datos**: puede eliminar las incrustaciones vectoriales de su origen de datos que están almacenadas en el almacén de vectores de forma predeterminada u optar por conservar los datos del almacén de vectores.

1. Proporcione la información de autenticación para conectarse a la instancia de Salesforce:

   1. Para la autenticación OAuth 2.0, vaya a AWS Secrets Manager para añadir sus credenciales de autenticación secretas o utilice un nombre de recurso de Amazon (ARN) existente para el secreto que ha creado. Su secreto debe contener la clave de consumidor de la aplicación conectada de Salesforce (ID de cliente), el secreto de consumidor (secreto de cliente) y la URL de la instancia de Salesforce o la URL para solicitar el token de autenticación. Para obtener más información, consulte la documentación de Salesforce sobre cómo [Create a Connected App](https://help.salesforce.com/s/articleView?id=sf.connected_app_create.htm&type=5) y [Configure a Connected App for the OAuth 2.0 Client Credentials](https://help.salesforce.com/s/articleView?id=sf.connected_app_client_credentials_setup.htm&type=5).

1. (Opcional) En la sección **Análisis y fragmentación del contenido**, puede personalizar la forma de analizar y fragmentar los datos. Para obtener más información sobre estas personalizaciones, consulte los siguientes recursos:
   + Para obtener más información sobre las opciones de análisis, consulte [Opciones de análisis del origen de datos](kb-advanced-parsing.md).
   + Para obtener más información sobre las estrategias de fragmentación, consulte [Funcionamiento de la fragmentación de contenido para las bases de conocimiento](kb-chunking.md).
**aviso**  
No puede cambiar la configuración de fragmentación después de conectarse al origen de datos.
   + Para obtener más información acerca de cómo personalizar la fragmentación de datos y el procesamiento de los metadatos con una función de Lambda, consulte [Uso de una función de Lambda de transformación personalizada para definir cómo se ingieren los datos](kb-custom-transformation.md).

1. Elija usar patrones de filtros o expresiones regulares para incluir o excluir determinado contenido. De lo contrario, se rastreará todo el contenido estándar.

1. Continúe eligiendo un modelo de incrustación y un almacén de vectores. Para ver los pasos restantes, regrese a [Creación de una base de conocimiento conectándola a un origen de datos de Bases de conocimiento de Amazon Bedrock](knowledge-base-create.md) y continúe desde allí después de conectar el origen de datos.

------
#### [ API ]

El siguiente es un ejemplo de una configuración para conectarse a Salesforce para la base de conocimientos de Amazon Bedrock. El origen de datos se configura mediante la API con la AWS CLI o un SDK compatible, como Python. Después de llamar a [CreateKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html), llame a [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) para crear el origen de datos con la información de conexión en `dataSourceConfiguration`.

Para obtener información sobre las personalizaciones que puede aplicar a la ingesta mediante la inclusión del campo `vectorIngestionConfiguration` opcional, consulte [Personalización de la ingesta de un origen de datos](kb-data-source-customize-ingestion.md).

**AWS Command Line Interface**

```
aws bedrock create-data-source \
 --name "Salesforce connector" \
 --description "Salesforce data source connector for Amazon Bedrock to use content in Salesforce" \
 --knowledge-base-id "your-knowledge-base-id" \
 --data-source-configuration file://salesforce-bedrock-connector-configuration.json \
 --data-deletion-policy "DELETE" \
 --vector-ingestion-configuration '{"chunkingConfiguration":[{"chunkingStrategy":"FIXED_SIZE","fixedSizeChunkingConfiguration":[{"maxTokens":"100","overlapPercentage":"10"}]}]}'

salesforce-bedrock-connector-configuration.json
{
    "salesforceConfiguration": {
        "sourceConfiguration": {
            "hostUrl": "https://company.salesforce.com/",
            "authType": "OAUTH2_CLIENT_CREDENTIALS",
            "credentialsSecretArn": "arn:aws::secretsmanager:your-region:secret:AmazonBedrock-Salesforce"
        },
        "crawlerConfiguration": {
            "filterConfiguration": {
                "type": "PATTERN",
                "patternObjectFilter": {
                    "filters": [
                        {
                            "objectType": "Campaign",
                            "inclusionFilters": [
                                ".*public.*"
                            ],
                            "exclusionFilters": [
                                ".*private.*"
                            ]
                        }
                    ]
                }
            }
        }
    },
    "type": "SALESFORCE"
}
```

------

# Rastreo de páginas web para la base de conocimiento
<a name="webcrawl-data-source-connector"></a>

El rastreador web proporcionado por Amazon Bedrock se conecta con y rastrea las URL que ha seleccionado para usarlas en su base de conocimientos de Amazon Bedrock. Puede rastrear las páginas de sitios web de acuerdo con el alcance o los límites que ha establecido para las URL que ha seleccionado. Puede rastrear páginas de sitios web mediante la [Consola de administración de AWS para Amazon Bedrock](https://console.aws.amazon.com/bedrock/home) o la API [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) (consulte los [SDK y la AWS CLI compatibles](https://docs.aws.amazon.com/bedrock/latest/APIReference/welcome.html) con Amazon Bedrock). Actualmente, solo el almacén vectorial de Amazon OpenSearch sin servidor se puede usar con este origen de datos.

**nota**  
El conector del origen de datos del Rastreador web está en versión preliminar y sujeto a cambios.

Al seleccionar los sitios web que se van a rastrear, se debe respetar la [Política de uso aceptable de Amazon](https://aws.amazon.com/aup/) y todas las demás condiciones de Amazon. Recuerde que solo debe utilizar el Rastreador web para indexar sus propias páginas web o las páginas web que tenga autorización para rastrear, y que debe respetar las configuraciones de robots-txt.

El rastreador web respeta robots.txt de acuerdo con [RFC 9309](https://www.rfc-editor.org/rfc/rfc9309.html)

Hay límites en cuanto al número de elementos de contenido de una página web y a los MB por elemento de contenido que se pueden rastrear. Consulte [Cuotas de las bases de conocimientos](https://docs.aws.amazon.com/bedrock/latest/userguide/quotas.html).

**Topics**
+ [Características admitidas](#supported-features-webcrawl-connector)
+ [Requisitos previos](#prerequisites-webcrawl-connector)
+ [Configuración de la conexión](#configuration-webcrawl-connector)

## Características admitidas
<a name="supported-features-webcrawl-connector"></a>

El rastreador web se conecta a las páginas HTML y las rastrea a partir de la URL inicial, recorriendo todos los enlaces secundarios situados bajo el mismo dominio principal y la misma ruta. Si alguna de las páginas HTML hace referencia a documentos compatibles, el rastreador web obtendrá estos documentos, independientemente de si se encuentran dentro del mismo dominio primario superior. Puede modificar el comportamiento de rastreo cambiando la configuración del rastreo. Para ello, consulte [Configuración de la conexión](#configuration-webcrawl-connector).

Se admite lo siguiente:
+ Seleccionar varias URL de origen para rastrearlas y establecer el alcance de las URL para que rastreen solo el host o también incluyan subdominios
+ Rastrear las páginas web estáticas que forman parte de las URL de origen
+ Especificar un sufijo de agente de usuario personalizado para establecer reglas para su propio rastreador
+ Incluir o excluir determinadas URL que coincidan con un patrón de filtro
+ Respete las directivas estándar de robots.txt como “Allow” y “Disallow”.
+ Limite el alcance de las URL al rastreo y, si lo desea, excluya las URL que coincidan con un patrón de filtro.
+ Limitar la velocidad de rastreo de las URL y el número máximo de páginas que se rastrean
+ Ver el estado de las URL rastreadas en Amazon CloudWatch

## Requisitos previos
<a name="prerequisites-webcrawl-connector"></a>

**Para usar el rastreador web, asegúrese de**:
+ Comprobar que tiene autorización para rastrear las URL de origen.
+ Comprobar que la ruta a robots.txt correspondiente a las URL de origen no impida el rastreo de las URL. El rastreador web sigue los estándares de robots.txt: `disallow` de forma predeterminada si no se encuentra robots.txt en el sitio web. El rastreador web respeta robots.txt de acuerdo con [RFC 9309](https://www.rfc-editor.org/rfc/rfc9309.html). También puede especificar un sufijo de agente de usuario personalizado para establecer reglas para su propio rastreador. Para obtener más información, consulte el acceso a la URL del Rastreador web en las instrucciones de [Configuración de la conexión](#configuration-webcrawl-connector) de esta página.
+ [Activar la entrega de Registros de CloudWatch](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-bases-logging.html) y seguir los ejemplos de registros del Rastreador web para ver el estado de su trabajo de ingesta de datos al ingerir contenido web y si no se pueden recuperar determinadas URL

**nota**  
Al seleccionar los sitios web que se van a rastrear, se debe respetar la [Política de uso aceptable de Amazon](https://aws.amazon.com/aup/) y todas las demás condiciones de Amazon. Recuerde que solo debe utilizar el rastreador web para indexar sus propias páginas web o las páginas web que tenga autorización para indexar.

## Configuración de la conexión
<a name="configuration-webcrawl-connector"></a>

Para obtener más información sobre el alcance de la sincronización para el rastreo de URL, los filtros de inclusión y exclusión, el acceso a URL, la sincronización incremental y su funcionamiento, seleccione lo siguiente:

### Ámbito de sincronización de las URL de rastreo
<a name="ds-sync-scope"></a>

Puede limitar el alcance de las URL a rastrear en función de la relación específica de cada URL de página con las URL semilla. Para que los rastreos sean más rápidos, puede limitar las URL a las que tengan el mismo host y la misma ruta URL inicial que la URL semilla. Para rastreos más amplios, puede elegir rastrear las URL con el mismo host o dentro de cualquier subdominio de la URL semilla.

Puede elegir entre las siguientes opciones.
+ Predeterminado: limita el rastreo a las páginas web que pertenecen al mismo host y con la misma ruta URL inicial. Por ejemplo, con una URL semilla “https://aws.amazon.com/bedrock/”, solo se rastreará esta ruta y las páginas web que se extiendan a partir de dicha ruta, como “https://aws.amazon.com/bedrock/agents/”. Por ejemplo, las URL hermanas, como “https://aws.amazon.com/ec2/”, no se rastrean.
+ Solo host: limita el rastreo a las páginas web que pertenecen al mismo host. Por ejemplo, con una URL semilla “https://aws.amazon.com/bedrock/”, también se rastrearán las páginas web “https://aws.amazon.com”, como “https://aws.amazon.com/ec2”.
+ Subdominios: incluyen el rastreo de cualquier página web que tenga el mismo dominio principal que la URL semilla. Por ejemplo, si la URL semilla es “https://aws.amazon.com/bedrock/”, se rastreará cualquier página web que contenga “amazon.com” (subdominio), como “https://www.amazon.com”.

**nota**  
Asegúrese de no rastrear páginas web potencialmente excesivas. No se recomienda rastrear sitios web grandes, como wikipedia.org, sin filtros ni límites de alcance. Rastrear sitios web de gran tamaño puede llevar mucho tiempo.  
Los [tipos de archivos compatibles](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-ds.html) se rastrean independientemente del alcance y si no existe un patrón de exclusión para el tipo de archivo.

El Rastreador web admite sitios web estáticos.

También puede limitar la velocidad de rastreo de las URL para controlar la limitación de velocidad de rastreo. Puede definir el número de direcciones URL rastreadas por host por minuto. Además, también puede establecer el número máximo (hasta 25 000) de páginas web totales que se van a rastrear. Tenga en cuenta que si el número total de páginas web de las URL de origen supera el máximo establecido, el trabajo de sincronización o ingesta del origen de datos fallará.

### Filtros de inclusión/exclusión
<a name="ds-inclusion-exclusion"></a>

Puede incluir o excluir determinadas URL de acuerdo con su alcance. Los [tipos de archivos compatibles](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-ds.html) se rastrean independientemente del alcance y si no existe un patrón de exclusión para el tipo de archivo. Si especifica un filtro de inclusión y exclusión, y ambos coinciden con una URL, el filtro de exclusión tiene prioridad y el documento no se rastrea.

**importante**  
Se rechazan los filtros de patrones de expresiones regulares problemáticos que provocan [retrocesos catastróficos](https://docs.aws.amazon.com/codeguru/detector-library/python/catastrophic-backtracking-regex/) y búsquedas anticipadas.

Se muestra un ejemplo de un patrón de filtro de expresiones regulares para excluir las direcciones URL que terminan en “.pdf” o los archivos adjuntos de páginas web en PDF: *“.\$1\$1.pdf\$1”*.

### Acceso del rastreador web a URL
<a name="ds-webcrawl-identity-crawling"></a>

Puede utilizar el rastreador web para rastrear las páginas de los sitios web que está autorizado a rastrear.

Al seleccionar los sitios web que se van a rastrear, se debe respetar la [Política de uso aceptable de Amazon](https://aws.amazon.com/aup/) y todas las demás condiciones de Amazon. Recuerde que solo debe utilizar el rastreador web para indexar sus propias páginas web o las páginas web que tenga autorización para indexar.

El rastreador web respeta robots.txt de acuerdo con [RFC 9309](https://www.rfc-editor.org/rfc/rfc9309.html)

Puede especificar que algunos bots del agente de usuario “permitan” o “no permitan” que el agente de usuario rastree las URL de origen. Puede modificar el archivo robots.txt de su sitio web para controlar la forma en que el Rastreador web rastrea las URL de origen. El rastreador buscará primero las reglas `bedrockbot-UUID ` y, después, las reglas `bedrockbot` genéricas en el archivo robots.txt.

También puede añadir un sufijo User-Agent para incluir su rastreador en una lista de rastreadores permitidos en los sistemas de protección contra bots. Tenga en cuenta que no es necesario añadir este sufijo al archivo `robots.txt` para garantizar que nadie pueda suplantar la cadena User Agent. Para permitir que el Rastreador web rastree todo el contenido del sitio web e impedir que otros robots lo rastreen, utilice la siguiente directiva:

```
User-agent: bedrockbot-UUID # Amazon Bedrock Web Crawler
Allow: / # allow access to all pages
User-agent: * # any (other) robot
Disallow: / # disallow access to any pages
```

### Sincronización incremental
<a name="ds-incremental-sync"></a>

Cada vez que se ejecuta el rastreador web, recupera el contenido de todas las URL a las que se puede acceder desde las URL de origen que coinciden con el alcance y los filtros. Para las sincronizaciones incrementales después de la primera sincronización de todo el contenido, Amazon Bedrock actualizará su base de conocimientos con contenido nuevo y modificado y eliminará el contenido antiguo que ya no esté presente. En ocasiones, es posible que el rastreador no pueda distinguir si el contenido se ha eliminado del sitio web y, en ese caso, conservará el contenido antiguo de su base de conocimientos.

Para sincronizar el origen de datos con la base de conocimientos, utilice la API de [StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html) o seleccione su base de conocimientos en la consola y seleccione **Sincronizar** en la sección de información general del origen de datos.

**importante**  
Todos los datos que sincronice desde el origen de datos estarán disponibles para cualquier persona que tenga permisos `bedrock:Retrieve` para obtenerlos. Esto también puede incluir los datos con permisos de orígenes de datos controlados. Para obtener más información, consulte [Permisos de la base de conocimientos](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html).

------
#### [ Console ]

**Conexión de un origen de datos del Rastreador web a la base de conocimiento**

1. Siga los pasos que se indican en [Creación de una base de conocimiento conectándola a un origen de datos de Bases de conocimiento de Amazon Bedrock](knowledge-base-create.md) y elija **Rastreador web** como el origen de datos.

1. Proporcione un nombre y una descripción opcional para el origen de datos.

1. Escriba las **URL de origen** de las URL que desea rastrear. Puede añadir hasta nueve direcciones URL adicionales seleccionando **Agregar URL de origen**. Al proporcionar una URL de origen, confirma que tiene autorización para rastrear su dominio.

1. En la sección **Configuración avanzada**, si lo desea, puede configurar lo siguiente:
   + **Clave de KMS para el almacenamiento de datos transitorios:** : puede cifrar los datos transitorios y, al mismo tiempo, convertirlos en incrustaciones con la Clave administrada de AWS predeterminada o con su propia clave de KMS. Para obtener más información, consulte [Cifrado del almacenamiento de datos transitorios durante la ingesta de datos](encryption-kb.md#encryption-kb-ingestion).
   + **Política de eliminación de datos**: puede eliminar las incrustaciones vectoriales de su origen de datos que están almacenadas en el almacén de vectores de forma predeterminada u optar por conservar los datos del almacén de vectores.

1. (Opcional) Proporcione un sufijo de agente de usuario para **bedrock-UUID-** que identifique el rastreador o el bot cuando accede a un servidor web.

1. Configure lo siguiente en la sección **Alcance de sincronización**:

   1. Seleccione un **intervalo de dominios de sitios web** para rastrear las URL de origen:
      + Predeterminado: limita el rastreo a las páginas web que pertenecen al mismo host y con la misma ruta URL inicial. Por ejemplo, con una URL semilla “https://aws.amazon.com/bedrock/”, solo se rastreará esta ruta y las páginas web que se extiendan a partir de dicha ruta, como “https://aws.amazon.com/bedrock/agents/”. Por ejemplo, las URL hermanas, como “https://aws.amazon.com/ec2/”, no se rastrean.
      + Solo host: limita el rastreo a las páginas web que pertenecen al mismo host. Por ejemplo, con una URL semilla “https://aws.amazon.com/bedrock/”, también se rastrearán las páginas web “https://aws.amazon.com”, como “https://aws.amazon.com/ec2”.
      + Subdominios: incluyen el rastreo de cualquier página web que tenga el mismo dominio principal que la URL semilla. Por ejemplo, si la URL semilla es “https://aws.amazon.com/bedrock/”, se rastreará cualquier página web que contenga “amazon.com” (subdominio), como “https://www.amazon.com”.
**nota**  
Asegúrese de no rastrear páginas web potencialmente excesivas. No se recomienda rastrear sitios web grandes, como wikipedia.org, sin filtros ni límites de alcance. Rastrear sitios web de gran tamaño puede llevar mucho tiempo.  
Los [tipos de archivos compatibles](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-ds.html) se rastrean independientemente del alcance y si no existe un patrón de exclusión para el tipo de archivo.

   1. Introduzca la **Limitación máxima de la velocidad de rastreo**. Introduzca entre 1 y 300 URL por host y por minuto. Una velocidad de rastreo más alta aumenta la carga, pero lleva menos tiempo.

   1. Introduzca un valor en **Cantidad máxima de páginas para la sincronización de orígenes de datos** comprendido entre 1 y 25 000. Limite el número máximo de páginas web rastreadas desde las URL de origen. Si las páginas web superan este número, se producirá un error en la sincronización del origen de datos y no se ingerirá ninguna página web. 

   1. Para los patrones de **expresiones regulares de URL** (opcional), puede añadir **patrones de inclusión** o de **exclusión**. Para ello, introduzca el patrón de expresión regular en el cuadro. Puede añadir hasta 25 patrones de filtro de inclusión y 25 de exclusión seleccionando **Agregar nuevo patrón**. Los patrones de inclusión y exclusión se rastrean de acuerdo con su alcance. Si hay un conflicto, prevalece el patrón de exclusión.

1. (Opcional) En la sección **Análisis y fragmentación del contenido**, puede personalizar la forma de analizar y fragmentar los datos. Para obtener más información sobre estas personalizaciones, consulte los siguientes recursos:
   + Para obtener más información sobre las opciones de análisis, consulte [Opciones de análisis del origen de datos](kb-advanced-parsing.md).
   + Para obtener más información sobre las estrategias de fragmentación, consulte [Funcionamiento de la fragmentación de contenido para las bases de conocimiento](kb-chunking.md).
**aviso**  
No puede cambiar la configuración de fragmentación después de conectarse al origen de datos.
   + Para obtener más información acerca de cómo personalizar la fragmentación de datos y el procesamiento de los metadatos con una función de Lambda, consulte [Uso de una función de Lambda de transformación personalizada para definir cómo se ingieren los datos](kb-custom-transformation.md).

1. Continúe eligiendo un modelo de incrustación y un almacén de vectores. Para ver los pasos restantes, regrese a [Creación de una base de conocimiento conectándola a un origen de datos de Bases de conocimiento de Amazon Bedrock](knowledge-base-create.md) y continúe desde allí después de conectar el origen de datos.

------
#### [ API ]

Para conectar una base de conocimiento a un origen de datos mediante WebCrawler, envíe una solicitud [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) con un [punto de conexión en tiempo de compilación de Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt), especifique `WEB` en el campo `type` de [DataSourceConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DataSourceConfiguration.html) e incluya el campo `webConfiguration`. El siguiente ejemplo muestra la configuración del rastreador web para su base de conocimientos de Amazon Bedrock.

```
{
    "webConfiguration": {
        "sourceConfiguration": {
            "urlConfiguration": {
                "seedUrls": [{
                    "url": "https://www.examplesite.com"
                }]
            }
        },
        "crawlerConfiguration": {
            "crawlerLimits": {
                "rateLimit": 50,
                "maxPages": 100
            },
            "scope": "HOST_ONLY",
            "inclusionFilters": [
                "https://www\.examplesite\.com/.*\.html"
            ],
            "exclusionFilters": [
                "https://www\.examplesite\.com/contact-us\.html"
            ],
            "userAgent": "CustomUserAgent"
        }
    },
    "type": "WEB"
}
```

Para obtener información sobre las personalizaciones que puede aplicar a la ingesta mediante la inclusión del campo `vectorIngestionConfiguration` opcional, consulte [Personalización de la ingesta de un origen de datos](kb-data-source-customize-ingestion.md).

------

# Conexión de una base de conocimiento a un origen de datos personalizado
<a name="custom-data-source-connector"></a>

En lugar de elegir un servicio de origen de datos compatible, puede conectarse a un origen de datos personalizado para disfrutar de las siguientes ventajas:
+ Flexibilidad y control sobre los tipos de datos a los que desea que tenga acceso su base de conocimiento
+ La capacidad de utilizar las operaciones de la API `KnowledgeBaseDocuments` para ingerir o eliminar documentos directamente sin necesidad de sincronizar los cambios
+ La capacidad de ver los documentos de su origen de datos directamente a través de la consola o la API de Amazon Bedrock
+ La posibilidad de cargar documentos en la fuente de datos directamente en la fuente de datos Consola de administración de AWS o agregarlos en línea.
+ La capacidad de añadir metadatos directamente a cada documento para añadir o actualizar un documento en el origen de datos Para obtener más información sobre cómo utilizar los metadatos para filtrar al recuperar información de un origen de datos, consulte la pestaña **Metadatos y filtrado** en [Configuración y personalización de las consultas y la generación de respuestas](kb-test-config.md).

**Soporte de contenido multimodal**  
Las fuentes de datos personalizadas admiten contenido multimodal, incluidos archivos de imágenes, audio y vídeo de hasta 10 MB codificados en base64. Para obtener una guía completa sobre cómo trabajar con contenido multimodal, consulte. [Cree una base de conocimientos para contenido multimodal](kb-multimodal.md)

Para conectar una base de conocimientos a una fuente de datos personalizada, envíe una [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html)solicitud a un punto límite de tiempo de [compilación de Agents for Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt). Especifique el `knowledgeBaseId` de la base de conocimiento a la que desea conectarse, asigne un `name` al origen de datos y especifique el campo `type` en `dataSourceConfiguration` como `CUSTOM`. A continuación, se muestra un ejemplo mínimo para crear este origen de datos:

```
PUT /knowledgebases/KB12345678/datasources/ HTTP/1.1
Content-type: application/json

{
    "name": "MyCustomDataSource",
    "dataSourceConfiguration": {
        "type": "CUSTOM"
    }
}
```

Puede incluir cualquiera de los siguientes campos opcionales para configurar el origen de datos:


****  

| Campo | Caso de uso | 
| --- | --- | 
| description | Proporcionar una descripción del origen de datos. | 
| clientToken | Para garantizar que la solicitud de la API se complete solo una vez. Para obtener más información, consulte [Ensuring idempotency](https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html). | 
| serverSideEncryptionConfiguración | Especificar una clave de KMS personalizada para el almacenamiento de datos transitorios y, al mismo tiempo, convertir los datos en incrustaciones. Para obtener más información, consulte [Cifrado del almacenamiento de datos transitorios durante la ingesta de datos](encryption-kb.md#encryption-kb-ingestion) | 
| dataDeletionPolicy | Configurar lo que se debe hacer con las incrustaciones vectoriales del origen de datos en el almacén de vectores si se elimina el origen de datos. Especifique RETAIN si desea conservar los datos en el almacén de vectores o la opción predeterminada DELETE para eliminarlos. | 
| vectorIngestionConfiguration | Configurar las opciones de ingesta del origen de datos. Para obtener más información, consulte las secciones siguientes. | 

El `vectorIngestionConfiguration` campo se asigna a un [VectorIngestionConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_VectorIngestionConfiguration.html)objeto que contiene los siguientes campos:
+ chunkingConfiguration: para configurar la estrategia que se utilizará para fragmentar los documentos del origen de datos. Para obtener más información sobre las estrategias de fragmentación, consulte [Funcionamiento de la fragmentación de contenido para las bases de conocimiento](kb-chunking.md).
+ parsingConfiguration: para configurar la estrategia que se utilizará para analizar el origen de datos. Para obtener más información sobre las opciones de análisis, consulte [Opciones de análisis del origen de datos](kb-advanced-parsing.md).
+ customTransformationConfiguration — Para personalizar la forma en que se transforman los datos y aplicar una función Lambda para una mayor personalización. Para obtener más información acerca de cómo personalizar la fragmentación de datos y el procesamiento de los metadatos con una función de Lambda, consulte [Uso de una función de Lambda de transformación personalizada para definir cómo se ingieren los datos](kb-custom-transformation.md).

Tras configurar el origen de datos personalizado, puede añadirle documentos e ingerirlos directamente en la base de conocimiento. A diferencia de otros orígenes de datos, no es necesario sincronizar un origen de datos personalizado. Para obtener información sobre cómo ingerir documentos directamente, consulte [Ingesta de cambios directamente en una base de conocimiento](kb-direct-ingestion.md).

# Personalización de la ingesta de un origen de datos
<a name="kb-data-source-customize-ingestion"></a>

Puede personalizar la ingesta de vectores al conectar una fuente de datos Consola de administración de AWS o al modificar el valor del `vectorIngestionConfiguration` campo al enviar una [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html)solicitud.

Seleccione un tema para obtener información acerca de cómo incluir configuraciones para personalizar la ingesta al conectarse a un origen de datos:

**Topics**
+ [Selección de la herramienta que se utilizará para el análisis](#kb-data-source-customize-parsing)
+ [Selección de una estrategia de fragmentación](#kb-data-source-customize-chunking)
+ [Uso de una función de Lambda durante la ingesta](#kb-data-source-customize-lambda)

## Selección de la herramienta que se utilizará para el análisis
<a name="kb-data-source-customize-parsing"></a>

Puede personalizar la forma en que se analizan los documentos en sus datos. Para obtener más información sobre las opciones de análisis de datos en Bases de conocimiento de Amazon Bedrock, consulte [Opciones de análisis del origen de datos](kb-advanced-parsing.md).

**aviso**  
No puede cambiar la configuración de análisis después de conectarse al origen de datos. Para usar una estrategia de análisis diferente, puede añadir un nuevo origen de datos.  
No puede añadir una ubicación de S3 para almacenar datos multimodales (incluidas imágenes, figuras, gráficos y tablas) después de haber creado una base de conocimiento. Si desea incluir datos multimodales y usar un analizador que los admita, debe crear una base de conocimiento nueva.

Los pasos necesarios para elegir una estrategia de análisis dependen de si utiliza la API Consola de administración de AWS o la de Amazon Bedrock y del método de análisis que elija. Si elige un método de análisis que admite datos multimodales, debe especificar un URI de S3 en el que almacenar los datos multimodales extraídos de sus documentos. Estos datos se pueden devolver en una consulta a la base de conocimiento.
+ En el Consola de administración de AWS, haga lo siguiente:

  1. Seleccione la estrategia de análisis cuando se conecte a un origen de datos mientras configura una base de conocimiento o cuando añada un nuevo origen de datos a su base de conocimiento existente.

  1. (Si elige Automatización de Datos de Amazon Bedrock o un modelo fundacional como estrategia de análisis) Especifique un URI de S3 en el que almacenar los datos multimodales extraídos de sus documentos en la sección **Destino de almacenamiento multimodal** cuando seleccione un modelo de incrustaciones y configure su almacén de vectores. Si lo desea, también puede utilizar una clave administrada por el cliente para cifrar sus datos de S3 en este paso.
+ En la API de Amazon Bedrock, haga lo siguiente:

  1. (Si planea utilizar Amazon Bedrock Data Automation o un modelo básico como estrategia de análisis) Incluya un [SupplementalDataStorageLocation](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_SupplementalDataStorageLocation.html)en [VectorKnowledgeBaseConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_VectorKnowledgeBaseConfiguration.html)la solicitud. [CreateKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html)

  1. Incluya una [ParsingConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ParsingConfiguration.html)en el `parsingConfiguration` campo de [VectorIngestionConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_VectorIngestionConfiguration.html)la [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html)solicitud.
**nota**  
Si omite esta configuración, Bases de conocimiento de Amazon Bedrock utilizará el analizador predeterminado de Amazon Bedrock.

Para obtener más información sobre cómo especificar una estrategia de análisis en la API, amplíe la sección correspondiente a la estrategia de análisis que desee utilizar:

### Analizador predeterminado de Amazon Bedrock
<a name="w2aac28c10c23c15c17c11c13b1"></a>

Para usar el analizador predeterminado, no incluya ningún campo `parsingConfiguration` dentro de `VectorIngestionConfiguration`.

### Analizador de Automatización de Datos de Amazon Bedrock (versión preliminar)
<a name="w2aac28c10c23c15c17c11c13b3"></a>

Para utilizar el analizador de Amazon Bedrock Data Automation, especifique `BEDROCK_DATA_AUTOMATION` en el `parsingStrategy` campo `ParsingConfiguration` e incluya una [BedrockDataAutomationConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_BedrockDataAutomationConfiguration.html)en el `bedrockDataAutomationConfiguration` campo, con el siguiente formato:

```
{
    "parsingStrategy": "BEDROCK_DATA_AUTOMATION",
    "bedrockDataAutomationConfiguration": {
        "parsingModality": "string"
    }
}
```

### Modelo fundacional
<a name="w2aac28c10c23c15c17c11c13b5"></a>

Para utilizar un modelo base como analizador, especifique el `BEDROCK_FOUNDATION_MODEL` en el `parsingStrategy` campo del `ParsingConfiguration` e incluya un [BedrockFoundationModelConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_BedrockFoundationModelConfiguration.html)en el `bedrockFoundationModelConfiguration` campo, como en el siguiente formato:

```
{
    "parsingStrategy": "BEDROCK_FOUNDATION_MODEL",
    "bedrockFoundationModelConfiguration": {
        "modelArn": "string",
        "parsingModality": "string",
        "parsingPrompt": {
            "parsingPromptText": "string"
        }
    }
}
```

## Selección de una estrategia de fragmentación
<a name="kb-data-source-customize-chunking"></a>

Puede personalizar la forma en que se fragmentan los documentos de sus datos para su almacenamiento y recuperación. Para obtener más información sobre las opciones de fragmentación de datos en Bases de conocimiento de Amazon Bedrock, consulte [Funcionamiento de la fragmentación de contenido para las bases de conocimiento](kb-chunking.md).

**aviso**  
No puede cambiar la configuración de fragmentación después de conectarse al origen de datos.

En el Consola de administración de AWS , usted elige la estrategia de fragmentación al conectarse a una fuente de datos. Con la API de Amazon Bedrock, incluye un [ChunkingConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ChunkingConfiguration.html)en el `chunkingConfiguration` campo de. [VectorIngestionConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_VectorIngestionConfiguration.html)

**nota**  
Si omite esta configuración, Amazon Bedrock divide el contenido en fragmentos de aproximadamente 300 tokens, preservando los límites de las oraciones.

Amplíe la sección correspondiente a la estrategia de análisis que desea utilizar:

### Sin fragmentación
<a name="w2aac28c10c23c15c17c13c13b1"></a>

Para tratar cada documento del origen de datos como un fragmento de origen único, especifique `NONE` en el campo `chunkingStrategy` de `ChunkingConfiguration`, como en el siguiente formato:

```
{
    "chunkingStrategy": "NONE"
}
```

### Fragmentación de tamaño fijo
<a name="w2aac28c10c23c15c17c13c13b3"></a>

Para dividir cada documento de la fuente de datos en fragmentos de aproximadamente el mismo tamaño, especifique `FIXED_SIZE` en el `chunkingStrategy` campo `ChunkingConfiguration` e incluya una [FixedSizeChunkingConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_FixedSizeChunkingConfiguration.html)en el `fixedSizeChunkingConfiguration` campo, con el siguiente formato:

```
{
    "chunkingStrategy": "FIXED_SIZE",
    "fixedSizeChunkingConfiguration": {
        "maxTokens": number,
        "overlapPercentage": number
    }
}
```

### Fragmentación jerárquica
<a name="w2aac28c10c23c15c17c13c13b5"></a>

Para dividir cada documento del origen de datos en dos niveles, donde la segunda capa contenga fragmentos más pequeños obtenidos de la primera capa, especifique `HIERARCHICAL` en el campo `chunkingStrategy` de `ChunkingConfiguration` e incluya el campo `hierarchicalChunkingConfiguration`, como en el siguiente formato:

```
{
    "chunkingStrategy": "HIERARCHICAL",
    "hierarchicalChunkingConfiguration": {
        "levelConfigurations": [{
            "maxTokens": number
        }],
        "overlapTokens": number
    }
}
```

### Fragmentación semántica
<a name="w2aac28c10c23c15c17c13c13b7"></a>

Para dividir cada documento del origen de datos en fragmentos que prioricen el significado semántico sobre la estructura sintáctica, especifique `SEMANTIC` en el campo `chunkingStrategy` de `ChunkingConfiguration` e incluya el campo `semanticChunkingConfiguration`, como en el siguiente formato:

```
{
    "chunkingStrategy": "SEMANTIC",
    "semanticChunkingConfiguration": {
        "breakpointPercentileThreshold": number,
        "bufferSize": number,
        "maxTokens": number
    }
}
```

## Uso de una función de Lambda durante la ingesta
<a name="kb-data-source-customize-lambda"></a>

Puede posprocesar la forma en que se escriben los fragmentos de origen de sus datos en el almacén de vectores con una función de Lambda de las siguientes maneras:
+ Incluya una lógica de fragmentación para proporcionar una estrategia de fragmentación personalizada.
+ Incluya la lógica para especificar los metadatos de nivel de fragmento.

Para obtener información acerca de cómo escribir una función de Lambda personalizada para ingesta, consulte [Uso de una función de Lambda de transformación personalizada para definir cómo se ingieren los datos](kb-custom-transformation.md). En el Consola de administración de AWS , elige la función Lambda al conectarse a una fuente de datos. Con la API de Amazon Bedrock, debe incluir un [CustomTransformationConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CustomTransformationConfiguration.html)en el `CustomTransformationConfiguration` campo [VectorIngestionConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_VectorIngestionConfiguration.html)y especificar el ARN de la Lambda, con el siguiente formato:

```
{
    "transformations": [{
        "transformationFunction": {
            "transformationLambdaConfiguration": {
                "lambdaArn": "string"
            }
        },
        "stepToApply": "POST_CHUNKING"
    }],
    "intermediateStorage": {
        "s3Location": {
            "uri": "string"
        }
    }
}
```

También debe especificar la ubicación de S3 en la que se almacenará la salida después de aplicar la función de Lambda.

Puede incluir el campo `chunkingConfiguration` para aplicar la función de Lambda después de aplicar una de las opciones de fragmentación que ofrece Amazon Bedrock.

# Configuraciones de seguridad para la base de conocimientos
<a name="kb-create-security"></a>

Después de crear una base de conocimientos, es posible que tenga que configurar los siguientes ajustes de seguridad:

**Topics**
+ [Configuración de políticas de acceso a datos para la base de conocimientos](#kb-create-security-data)
+ [Configure políticas de acceso a la red para su base de conocimiento de Amazon OpenSearch Serverless](#kb-create-security-network)

## Configuración de políticas de acceso a datos para la base de conocimientos
<a name="kb-create-security-data"></a>

Si utiliza un [rol personalizado](kb-permissions.md), establezca las configuraciones de seguridad para la base de conocimientos recién creada. Si permite que Amazon Bedrock cree un rol de servicio para usted, puede omitir este paso. Siga los pasos de la pestaña correspondiente a la base de datos que configuró.

------
#### [ Amazon OpenSearch Serverless ]

Para restringir el acceso a la colección Amazon OpenSearch Serverless a la función de servicio de la base de conocimientos, cree una política de acceso a los datos. Puede hacerlo de las siguientes maneras:
+ Usa la consola de Amazon OpenSearch Service siguiendo los pasos que se indican en [Creación de políticas de acceso a datos (consola)](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html#serverless-data-access-console) en la Guía para desarrolladores de Amazon OpenSearch Service.
+ Usa la AWS API enviando una [CreateAccessPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_CreateAccessPolicy.html)solicitud con un [punto final OpenSearch sin servidor](https://docs.aws.amazon.com/general/latest/gr/opensearch-service.html#opensearch-service-regions). Para ver un AWS CLI ejemplo, consulte [Creación de políticas de acceso a datos (AWS CLI).](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html#serverless-data-access-cli)

Utilice la siguiente política de acceso a datos, especificando la recopilación de Amazon OpenSearch Serverless y su función de servicio:

```
[
    {
        "Description": "${data access policy description}",
        "Rules": [
          {
            "Resource": [
              "index/${collection_name}/*"
            ],
            "Permission": [
                "aoss:DescribeIndex",
                "aoss:ReadDocument",
                "aoss:WriteDocument"
            ],
            "ResourceType": "index"
          }
        ],
        "Principal": [
            "arn:aws:iam::${account-id}:role/${kb-service-role}"
        ]
    }
]
```

------
#### [ Piña, Redis Enterprise Cloud or MongoDB Atlas ]

Para integrar un Pinecone índice vectorial de MongoDB Atlas, adjunte la siguiente política basada en la identidad a su rol de servicio de la base de conocimientos para permitirle acceder al secreto AWS Secrets Manager del índice vectorial. Redis Enterprise Cloud

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
        "Effect": "Allow",
        "Action": [
            "bedrock:AssociateThirdPartyKnowledgeBase"
        ],
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "bedrock:ThirdPartyKnowledgeBaseCredentialsSecretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:${secret-id}"
            }
        }
    }]
}
```

------

------

## Configure políticas de acceso a la red para su base de conocimiento de Amazon OpenSearch Serverless
<a name="kb-create-security-network"></a>

Si utiliza una colección privada de Amazon OpenSearch Serverless para su base de conocimientos, solo podrá acceder a ella a través de un punto de enlace de AWS PrivateLink VPC. Puede crear una colección privada de Amazon OpenSearch Serverless al [configurar su colección vectorial de Amazon OpenSearch Serverless o puede hacer que una colección](knowledge-base-setup.md) Amazon OpenSearch Serverless existente (incluida una que la consola de Amazon Bedrock haya creado para usted) sea privada al configurar su política de acceso a la red.

Los siguientes recursos de la Guía para desarrolladores de Amazon OpenSearch Service le ayudarán a comprender la configuración necesaria para las colecciones privadas de Amazon OpenSearch Serverless:
+ Para obtener más información sobre cómo configurar un punto de enlace de VPC para una colección privada de Amazon OpenSearch Serverless, consulte Acceder a [Amazon OpenSearch Serverless mediante un punto de enlace de interfaz](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-vpc.html) (). AWS PrivateLink
+ Para obtener más información sobre las políticas de acceso a la red en Amazon OpenSearch Serverless, consulte [Acceso a la red para Amazon OpenSearch Serverless](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-network.html).

Para permitir que una base de conocimiento de Amazon Bedrock acceda a una colección privada de Amazon OpenSearch Serverless, debe editar la política de acceso a la red de la colección Amazon OpenSearch Serverless para permitir que Amazon Bedrock sea un servicio de origen. Elija la pestaña del método que prefiera y siga estos pasos:

------
#### [ Console ]

1. Abre la consola OpenSearch de Amazon Service en [https://console.aws.amazon.com/aos/](https://console.aws.amazon.com/aos/).

1. En el panel de navegación de la izquierda, seleccione **Colecciones**. A continuación, elija su colección.

1. En la sección **Red**, seleccione **Política asociada**.

1. Elija **Edit (Edición de)**.

1. Para **Seleccionar método de definición de política**, realice una de las siguientes acciones:
   + Deje **Seleccionar método de definición de política** como **Editor visual** y configure los siguientes ajustes en la sección **Regla 1**:

     1. (Opcional) En el campo **Nombre de la regla**, introduzca un nombre para la regla de acceso a la red.

     1. En **Obtener acceso a las colecciones desde**, seleccione **Privado (recomendado)**.

     1. Seleccione **Acceso privado a los servicios de AWS**. Escriba **bedrock.amazonaws.com** en el cuadro de texto.

     1. Anule la selección de **Habilitar el acceso a los OpenSearch paneles de control**.
   + Elija **JSON** y pegue la siguiente política en el **Editor JSON**.

     ```
     [
         {                                        
             "AllowFromPublic": false,
             "Description":"${network access policy description}",
             "Rules":[
                 {
                     "ResourceType": "collection",
                     "Resource":[
                         "collection/${collection-id}"
                     ]
                 }
             ],
             "SourceServices":[
                 "bedrock.amazonaws.com"
             ]
         }
     ]
     ```

1. Elija **Actualizar**.

------
#### [ API ]

Para editar la política de acceso a la red de su colección de Amazon OpenSearch Serverless, haga lo siguiente:

1. Envíe una [GetSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_GetSecurityPolicy.html)solicitud con un punto final [OpenSearch sin servidor](https://docs.aws.amazon.com/general/latest/gr/opensearch-service.html#opensearch-service-regions). Especifique el `name` de la política y el `type` como `network`. Tenga en cuenta los `policyVersion` en la respuesta.

1. Envíe una [UpdateSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_UpdateSecurityPolicy.html)solicitud con un punto final [OpenSearch sin servidor](https://docs.aws.amazon.com/general/latest/gr/opensearch-service.html#opensearch-service-regions). Debe especificar al menos los siguientes campos:  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/kb-create-security.html)

   ```
   [
       {                                        
           "AllowFromPublic": false,
           "Description":"${network access policy description}",
           "Rules":[
               {
                   "ResourceType": "collection",
                   "Resource":[
                       "collection/${collection-id}"
                   ]
               }
           ],
           "SourceServices":[
               "bedrock.amazonaws.com"
           ]
       }
   ]
   ```

Para ver un AWS CLI ejemplo, consulte [Creación de políticas de acceso a datos (AWS CLI).](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html#serverless-data-access-cli)

------
+ Usa la consola de Amazon OpenSearch Service siguiendo los pasos que se indican en [Creación de políticas de red (consola)](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-network.html#serverless-network-console). En lugar de crear una política de red, tome nota de la **política asociada** de la subsección **Red** en los detalles de la colección.

# Sincronización de los datos con la base de conocimientos de Amazon Bedrock
<a name="kb-data-source-sync-ingest"></a>

Tras crear la base de conocimientos, puede ingerir o sincronizar los datos para poder consultarlos. La ingesta 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.

Antes de iniciar la ingesta, compruebe que el origen de datos cumpla las siguientes condiciones:
+ Se ha configurado la información de conexión del origen de datos. Para configurar un conector de origen de datos para que rastree los datos del repositorio de orígenes de datos, consulte [Supported data source connectors](https://docs.aws.amazon.com/bedrock/latest/userguide/data-source-connectors.html). Se ha configurado el origen de datos como parte de los pasos de creación de la base de conocimientos.
+ Se ha configurado el modelo de incrustación vectorial y el almacén vectorial elegidos. Consulte los [modelos de incrustaciones vectoriales compatibles](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-supported.html) y los [almacenes vectoriales para bases de conocimientos](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-setup.html). Se han configurado las incrustaciones vectoriales como parte de los pasos de creación de la base de conocimientos.
+ Los archivos son del formato admitido. Para obtener más información, consulte [Formatos de documentos admitidos](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-ds.html#kb-ds-supported-doc-formats-limits).
+ Los archivos no deben superar el **Tamaño del archivo de trabajo de ingesta** especificado en los [Amazon Bedrock endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/bedrock.html) en la Referencia general de AWS.
+ Si el origen de datos contiene archivos de metadatos, compruebe las siguientes condiciones para asegurarse de que no se omitan los archivos de metadatos:
  + Cada archivo `.metadata.json` comparte el mismo nombre y extensión que el archivo de origen al que está asociado.
  + Si el índice vectorial de la base de conocimientos se encuentra en un almacén vectorial de Amazon OpenSearch sin servidor, compruebe que el índice vectorial esté configurado con el motor `faiss`. Si el índice vectorial está configurado con el motor `nmslib`, deberá realizar una de las siguientes acciones:
    + [Crear una nueva base de conocimientos](knowledge-base-create.md) en la consola y dejar que Amazon Bedrock cree automáticamente un índice vectorial en Amazon OpenSearch sin servidor por usted.
    + [Crear otro índice vectorial](knowledge-base-setup.md) en el almacén vectorial y seleccionar `faiss` como el **motor**. A continuación, [cree una nueva base de conocimientos](knowledge-base-create.md) y especifique el nuevo índice vectorial.
  + Si el índice vectorial de la base de conocimiento se encuentra en un clúster de bases de datos de Amazon Aurora, le recomendamos que utilice el campo de metadatos personalizado para almacenar todos los metadatos en una sola columna y crear un índice en esa columna. Si no proporciona el campo de metadatos personalizado, compruebe que la tabla del índice contenga una columna para cada propiedad de metadatos de los archivos de metadatos antes de iniciar la ingesta. Para obtener más información, consulte [Requisitos previos para usar un almacén de vectores que haya creado para una base de conocimiento](knowledge-base-setup.md).

Cada vez que añada, modifique o elimine archivos del origen de datos, debe sincronizar el origen de datos para volver a indexarlo en la base de conocimientos. La sincronización es incremental, por lo que Amazon Bedrock solo procesa los documentos añadidos, modificados o eliminados desde la última sincronización.

Para obtener más información sobre cómo ingerir los datos en la base de conocimiento y sincronizarlos con los datos más recientes, seleccione la pestaña correspondiente al método que prefiera y siga estos pasos:

------
#### [ Console ]

**Ingesta de los datos en la base de conocimientos y sincronización con los datos más actuales**

1. Abra la consola de Amazon Bedrock en [https://console.aws.amazon.com/bedrock/](https://console.aws.amazon.com/bedrock/).

1. En el panel de navegación izquierdo, seleccione **Base de conocimientos** y elija su base de conocimientos.

1. En la sección **Origen de datos**, seleccione **Sincronizar** para iniciar la ingesta de datos o para sincronizar con los datos más recientes. Para detener la sincronización actual de un origen de datos, seleccione **Detener**. Un origen de datos debe estar sincronizándose para poder detener la sincronización. Puede seleccionar **Sincronizar** para ingerir el resto de los datos.

1. Cuando se complete la ingesta de datos, aparecerá un banner verde de confirmación si se ha realizado correctamente.
**nota**  
Una vez finalizada la sincronización de datos, es posible que las incrustaciones vectoriales de los datos que se acaban de sincronizar tarden unos minutos en reflejarse en la base de conocimientos y estar disponibles para realizar consultas si utiliza un almacén vectorial que no sea Amazon Aurora (RDS).

1. Puede elegir un origen de datos para ver su **Historial de sincronización**. Seleccione **Ver advertencias** para ver por qué ha fallado un trabajo de ingesta de datos.

------
#### [ API ]

Para ingerir los datos en la base de conocimientos y sincronizarlos con los datos más recientes, envíe una solicitud [StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html) con un [punto de conexión en tiempo de compilación de Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt). Especifique el `knowledgeBaseId` y el `dataSourceId`. También puede detener un trabajo de ingesta de datos que se esté ejecutando actualmente enviando una solicitud [StopIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StopIngestionJob.html). Especifique los valores de `dataSourceId`, `ingestionJobId` y `knowledgeBaseId`. Debe haber un trabajo de ingesta de datos en ejecución para detener la ingesta de datos. Puede volver a enviar una solicitud `StartIngestionJob` para ingerir el resto de los datos cuando esté listo.

Utilice el `ingestionJobId` devuelto en la respuesta a una solicitud [GetIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetIngestionJob.html) con un [punto de conexión en tiempo de compilación de Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) para realizar un seguimiento del estado del trabajo de ingesta. Además, especifique el `knowledgeBaseId` y el `dataSourceId`.
+ Cuando finalice el trabajo de ingesta, el `status` de la respuesta es `COMPLETE`.
**nota**  
Una vez finalizada la ingesta de datos, es posible que las incrustaciones vectoriales de los datos que se acaban de ingerir tarden unos minutos en estar disponibles en el almacén vectorial para realizar consultas si utiliza un almacén vectorial que no sea Amazon Aurora (RDS).
+ El objeto `statistics` de la respuesta devuelve información sobre si la ingesta se realizó correctamente o no en el caso de los documentos del origen de datos.

También puede ver la información de todos los trabajos de ingesta de un origen de datos enviando una solicitud [ListIngestionJobs](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListIngestionJobs.html) con un [punto de conexión en tiempo de compilación de Agentas para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt). Especifique el `dataSourceId` y el `knowledgeBaseId` de la base de conocimientos desde los que se ingieren los datos.
+ Filtre los resultados especificando el estado que desee buscar en el objeto `filters`.
+ Puede ordenarlos por la hora en que se inició el trabajo o por el estado de un trabajo especificando el objeto `sortBy`. Puede especificar un orden ascendente o descendente.
+ Especifique el número máximo de resultados que se devuelven en una respuesta en el campo `maxResults`. Si hay más resultados que la cantidad que ha establecido, la respuesta devuelve un `nextToken` que puede enviar en otra solicitud [ListIngestionJobs](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListIngestionJobs.html) para ver el siguiente lote de trabajos.

------

# Ingesta de cambios directamente en una base de conocimiento
<a name="kb-direct-ingestion"></a>

Bases de conocimiento de Amazon Bedrock le permite modificar su origen de datos y sincronizar los cambios en un solo paso. Puede emplear esta característica si su base de conocimiento está conectada a uno de los siguientes tipos de orígenes de datos:
+ Amazon S3
+ Personalizado

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.

## Diferencias con la sincronización de un origen de datos
<a name="kb-direct-ingestion-sync-diff"></a>

Bases de conocimiento de Amazon Bedrock también ofrece un conjunto de operaciones de la API `IngestionJob` relacionadas con la [sincronización del origen de datos](kb-data-source-sync-ingest.md). Cuando sincroniza el origen de datos con una solicitud [StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html), Bases de conocimiento de Amazon Bedrock analiza cada documento del origen de datos conectado y verifica si ya se ha indexado en el almacén de vectores configurado para la base de conocimiento. Si no lo ha hecho, se indexa en el almacén de vectores.

Con una solicitud [IngestKnowledgeBaseDocuments](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_IngestKnowledgeBaseDocuments.html), envía una matriz de documentos para indexarlos directamente en el almacén de vectores. Por lo tanto, se omite este paso de adición de documentos al origen de datos. Consulte los párrafos siguientes para ver el caso de uso de estos dos conjuntos de operaciones de API:

**Si usa un origen de datos personalizado**  
No es necesario sincronizar ni utilizar las operaciones `IngestionJob`. Los documentos que añada, modifique o elimine con las operaciones `KnowledgeBaseDocuments` o en la Consola de administración de AWS pasan a formar parte tanto del origen de datos personalizado como de su base de conocimiento.

**Si utiliza un origen de datos de Amazon S3**  
Utiliza los dos conjuntos de operaciones en casos de uso distintos:
+ Tras conectar la base de conocimiento al origen de datos de S3 por primera vez, debe sincronizar el origen de datos en la Consola de administración de AWS o enviando una solicitud [StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html) a través de la API de Amazon Bedrock.
+ Indexe los documentos en el almacén de vectores configurado para su base de conocimiento o elimine los documentos indexados de las siguientes maneras:

  1. Añada documentos a su ubicación de S3 o elimine documentos de ella. A continuación, sincronice su origen de datos en la Consola de administración de AWS o envíe una solicitud `StartIngestionJob` en la API. Para obtener más información sobre la sincronización y la operación `StartIngestionJob`, consulte [Sincronización de los datos con la base de conocimientos de Amazon Bedrock](kb-data-source-sync-ingest.md).

  1. Ingiera los documentos de S3 en la base de conocimiento directamente con una solicitud `IngestKnowledgeBaseDocuments`. Para obtener más información sobre la ingesta directa de documentos, consulte [Ingesta directa de documentos en una base de conocimiento](kb-direct-ingestion-add.md).
**aviso**  
Para los orígenes de datos de S3, los cambios que se indexen en la base de conocimiento directamente en la Consola de administración de AWS o con las operaciones de la API `KnowledgeBaseDocuments` no se reflejan en la ubicación de S3. Puede usar estas operaciones de la API para hacer que los cambios en su base de conocimiento estén disponibles de forma inmediata en un solo paso. Sin embargo, debe realizar los mismos cambios en su ubicación de S3 para que no se sobrescriban la próxima vez que sincronice su origen de datos en la Consola de administración de AWS o con `StartIngestionJob`.  
No envíe una solicitud `IngestKnowledgeBaseDocuments` y `StartIngestionJob` al mismo tiempo.

Seleccione un tema para obtener información sobre cómo realizar la ingesta directa de los documentos de sus orígenes de datos:

**Topics**
+ [Diferencias con la sincronización de un origen de datos](#kb-direct-ingestion-sync-diff)
+ [Requisitos previos de la ingesta directa](kb-direct-ingestion-prereq.md)
+ [Ingesta directa de documentos en una base de conocimiento](kb-direct-ingestion-add.md)
+ [Consulta de información sobre los documentos del origen de datos](kb-direct-ingestion-view.md)
+ [Eliminación de documentos directamente de una base de conocimiento](kb-direct-ingestion-delete.md)

# Requisitos previos de la ingesta directa
<a name="kb-direct-ingestion-prereq"></a>

Para utilizar la ingesta directa, un rol de IAM debe tener permisos para usar las operaciones de la API `KnowledgeBaseDocs`. Si su función de IAM tiene la política [AmazonBedrockFullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonBedrockFullAccess)AWSgestionada adjunta, puede omitir esta sección.

La siguiente política se puede asociar a un rol de IAM para que pueda realiza la ingesta directa en las bases de conocimiento que especifique en el campo `Resource`.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DirectIngestion",
            "Effect": "Allow",
            "Action": [
                "bedrock:StartIngestionJob",
                "bedrock:IngestKnowledgeBaseDocuments",
                "bedrock:GetKnowledgeBaseDocuments",
                "bedrock:ListKnowledgeBaseDocuments",
                "bedrock:DeleteKnowledgeBaseDocuments"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/${KnowledgeBaseId}"
            ]
        }
    ]
}
```

------

Para restringir aún más los permisos, puede omitir acciones o puede especificar recursos y claves de condición para filtrar los permisos. Para obtener más información sobre las acciones, los recursos y las claves de condición, consulte los siguientes temas en la *Referencia de autorizaciones de servicio*:
+ [Acciones definidas por Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-actions-as-permissions): obtenga información sobre las acciones, los tipos de recursos a los que puede aplicarlas en el campo `Resource` y las claves de condición que puede usar para filtrar los permisos en el campo `Condition`.
+ [Tipos de recursos definidos por Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-resources-for-iam-policies): obtenga información sobre los tipos de recursos de Amazon Bedrock.
+ [Claves de condición de Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys): obtenga información sobre las claves de condición de Amazon Bedrock.

# Ingesta directa de documentos en una base de conocimiento
<a name="kb-direct-ingestion-add"></a>

En este tema se explica cómo ingerir documentos directamente en una base de conocimiento. Se aplican restricciones a los tipos de documentos que puede ingerir directamente en función del origen de datos. Consulte la siguiente tabla para ver las restricciones sobre los métodos que puede utilizar para especificar los documentos que desea ingerir:


****  

| Data source type | Documento definido como insertado | Documento en una ubicación de Amazon S3 | 
| --- | --- | --- | 
| Amazon S3 | ![\[Red circular icon with an X symbol, indicating cancellation or denial.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/icons/icon-no.png)No | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/icons/icon-yes.png)Sí | 
| Personalizada | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/icons/icon-yes.png)Sí | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/icons/icon-yes.png)Sí | 

Amplíe la sección que se corresponda con su caso de uso:

**nota**  
Al utilizar la consola, puede ingerir 10 documentos directamente en su base de conocimiento. Si, en su lugar, utiliza la API `IngestKnowledgeBaseDocuments`, puede ingerir hasta 25 documentos en su base de conocimiento. Para obtener más información acerca de esta cuota, consulte [Cuotas de servicio de Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#limits_bedrock) en la *guía Referencia general de AWS *.

## Uso de la consola
<a name="kb-direct-ingestion-add-console"></a>

Para añadir o modificar documentos directamente en el Consola de administración de AWS, haga lo siguiente:

1. Inicie sesión Consola de administración de AWS con una identidad de IAM que tenga permisos para usar la consola Amazon Bedrock. A continuación, abra la consola de Amazon Bedrock en [https://console.aws.amazon.com/bedrock.](https://console.aws.amazon.com/bedrock)

1. En el panel de navegación izquierdo, elija **Bases de conocimientos**.

1. En la sección **Bases de conocimiento**, seleccione la base de conocimiento en la que desea ingerir documentos.

1. En la sección **Origen de datos**, seleccione el origen de datos para el que quiera añadir, modificar o eliminar documentos.

1. En la sección **Documentos**, elija **Agregar documentos**. A continuación, lleve a cabo alguna de las operaciones siguientes:
   + Para añadir o modificar un documento directamente, seleccione **Agregar documentos directamente**. A continuación, proceda del modo siguiente:

     1. En el campo **Identificador del documento**, especifique un nombre exclusivo para el documento. Si especifica un nombre que ya existe en el origen de datos, se reemplazará el documento.

     1. Para cargar un documento, seleccione **Cargar**. Para definir un documento insertado, seleccione **Agregar documento en línea**, elija un formato e introduzca el texto del documento en el cuadro.

     1. (Opcional) Para asociar los metadatos al documento, seleccione **Agregar metadatos** e introduzca una clave, un tipo y un valor.
   + Para añadir o modificar un documento especificando su ubicación en S3, seleccione **Agregar documentos de S3**. A continuación, proceda del modo siguiente:

     1. En el campo **Identificador del documento**, especifique un nombre exclusivo para el documento. Si especifica un nombre que ya existe en el origen de datos, se reemplazará el documento.

     1. Especifique si la **ubicación S3** del documento se encuentra en su AWS cuenta corriente o en otra diferente. A continuación, especifique el URI de S3 del documento.

     1. (Opcional) Para asociar los metadatos al documento, elija un **origen de metadatos**. Especifique el URI de S3 de los metadatos o seleccione **Agregar metadatos** e introduzca una clave, un tipo y un valor.

1. Para ingerir el documento y cualquier metadato asociado, seleccione **Agregar**.

## Uso de la API de
<a name="kb-direct-ingestion-add-api"></a>

Para incorporar documentos directamente a una base de conocimientos mediante la API de Amazon Bedrock, envíe una [IngestKnowledgeBaseDocuments](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_IngestKnowledgeBaseDocuments.html)solicitud con un [punto límite de tiempo de compilación de Agents for Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) y especifique el ID de la base de conocimientos y de la fuente de datos a la que está conectada.

**nota**  
Si especifica un identificador de documento o una ubicación de S3 que ya exista en la base de conocimiento, el documento se sobrescribirá con el nuevo contenido.

El cuerpo de la solicitud contiene un campo que se asigna a una serie de [KnowledgeBaseDocument](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_KnowledgeBaseDocument.html)objetos, cada uno de los cuales representa el contenido y los metadatos opcionales de un documento para añadirlos a la fuente de datos e incorporarlos a la base de conocimientos. `documents` Un objeto [KnowledgeBaseDocument](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_KnowledgeBaseDocument.html) contiene los siguientes campos:
+ contenido: se asigna a un [DocumentContent](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DocumentContent.html)objeto que contiene información sobre el contenido del documento que se va a añadir.
+ metadatos: (opcional) se asigna a un [DocumentMetadata](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DocumentMetadata.html)objeto que contiene información sobre los metadatos del documento que se va a añadir. Para obtener más información sobre cómo utilizar los metadatos durante la recuperación, consulte la sección **Metadatos y filtrado** en [Configuración y personalización de las consultas y la generación de respuestas](kb-test-config.md).

Seleccione un tema para obtener información sobre cómo ingerir documentos de diferentes tipos de orígenes de datos o para ver ejemplos:

**Topics**
+ [Ingesta de un documento en una base de conocimiento conectada a un origen de datos personalizado](#kb-direct-ingestion-add-custom)
+ [Ingesta de un documento en una base de conocimiento conectada a un origen de datos de Amazon S3](#kb-direct-ingestion-add-s3)
+ [Ejemplo de cuerpos de solicitud](#w2aac28c10c23c19c17c11b3c19)

### Ingesta de un documento en una base de conocimiento conectada a un origen de datos personalizado
<a name="kb-direct-ingestion-add-custom"></a>

`dataSourceId`Si los que especifique pertenecen a una fuente de datos personalizada, puede añadir contenido y metadatos para cada [KnowledgeBaseDocument](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_KnowledgeBaseDocument.html)objeto de la `documents` matriz.

El contenido de un documento agregado a un origen de datos personalizado se puede definir de las siguientes maneras:

#### Definición del documento como insertado
<a name="kb-direct-ingestion-add-custom-inline"></a>

Puede definir los siguientes tipos de documentos como insertados:

------
#### [ Text ]

Si el documento es texto, el [DocumentContent](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DocumentContent.html)objeto debe tener el siguiente formato:

```
{ 
    "custom": { 
        "customDocumentIdentifier": { 
            "id": "string"
        },
        "inlineContent": { 
            "textContent": { 
                "data": "string"
            },
            "type": "TEXT"
        },
        "sourceType": "IN_LINE"
    },
    "dataSourceType": "CUSTOM"
}
```

Incluya un ID del documento en el campo `id` y el texto del documento en el campo `data`.

------
#### [ Bytes ]

Si el documento contiene más que texto, conviértalo en una cadena Base64. En ese caso, el [DocumentContent](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DocumentContent.html)objeto debería tener el siguiente formato:

```
{ 
    "custom": { 
        "customDocumentIdentifier": { 
            "id": "string"
        },
        "inlineContent": { 
            "byteContent": { 
                "data": blob,
                "mimeType": "string"
            },
            "type": "BYTE"
        },
        "sourceType": "IN_LINE"
    },
    "dataSourceType": "CUSTOM"
}
```

Incluya un ID del documento en el campo `id`, el documento codificado en Base64 en el campo `data` y el tipo MIME en el campo `mimeType`.

------

#### Ingesta del documento desde S3
<a name="w2aac28c10c23c19c17c11b3c15b7b3"></a>

Si va a ingerir un documento desde una ubicación de S3, el [DocumentContent](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DocumentContent.html)objeto del `content` campo debe tener el siguiente formato:

```
{ 
    "custom": { 
        "customDocumentIdentifier": { 
            "id": "string"
        },
        "s3Location": { 
            "bucketOwnerAccountId": "string",
            "uri": "string"
        },
        "sourceType": "S3"
    },
    "dataSourceType": "CUSTOM"
}
```

Incluya un ID del documento en el campo `id`, el propietario del bucket de S3 que contiene el documento en el campo `bucketOwnerAccountId` y el URI de S3 del documento en el campo `uri`.

Los metadatos de un documento se pueden definir de las siguientes maneras:

#### Definición de los metadatos como insertados
<a name="w2aac28c10c23c19c17c11b3c15c11b1"></a>

Si define los metadatos en línea, el [DocumentMetadata](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DocumentMetadata.html)objeto del `metadata` campo debe tener el siguiente formato:

```
{ 
    "inlineAttributes": [ 
        { 
            "key": "string",
            "value": { 
                "stringValue": "string",
                "booleanValue": boolean,
                "numberValue": number,
                "stringListValue": [ "string" ],
                "type": "STRING" | "BOOLEAN" | "NUMBER" | "STRING_LIST"
            }
        }
    ],
    "type": "IN_LINE_ATTRIBUTE"
}
```

Para cada atributo que añada, defina la clave en el campo `key`. Especifique el tipo de datos del valor en el campo `type` e incluya el campo que corresponda al tipo de datos. Por ejemplo, si incluye una cadena, el atributo tendría el siguiente formato:

```
{ 
    "key": "string",
    "value": { 
        "stringValue": "string",
        "type": "STRING"
    }
}
```

#### Ingesta de los metadatos desde S3
<a name="w2aac28c10c23c19c17c11b3c15c11b3"></a>

También puede ingerir metadatos de un archivo con la extensión `.metadata.json` en una ubicación de S3. Para obtener más información sobre el formato de un archivo de metadatos, consulte la sección **Campos de metadatos del documento** en [Conexión a Amazon S3 para la base de conocimiento](s3-data-source-connector.md).

Si los metadatos provienen de un archivo S3, el [DocumentMetadata](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DocumentMetadata.html)objeto del `metadata` campo debe tener el siguiente formato:

```
{
    "s3Location": { 
        "bucketOwnerAccountId": "string",
        "uri": "string"
    },
        "type": "S3_LOCATION"
    }
 }
```

Incluya el propietario del bucket de S3 que contiene el archivo de metadatos en el campo `bucketOwnerAccountId` y el URI de S3 del archivo de metadatos en el campo `uri`.

**aviso**  
Si ha definido el contenido como insertado, debe definir los metadatos como insertados.

### Ingesta de un documento en una base de conocimiento conectada a un origen de datos de Amazon S3
<a name="kb-direct-ingestion-add-s3"></a>

`dataSourceId`Si el que especifique pertenece a una fuente de datos de S3, puede añadir contenido y metadatos para cada [KnowledgeBaseDocument](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_KnowledgeBaseDocument.html)objeto de la `documents` matriz.

**nota**  
Para los orígenes de datos de S3, puede añadir contenido y metadatos solo desde una ubicación de S3.

El contenido de un documento de S3 que se va a añadir a S3 debe añadirse a un [DocumentContent](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DocumentContent.html)objeto con el siguiente formato:

```
{ 
    "dataSourceType": "string",
    "s3": { 
        "s3Location": { 
            "uri": "string"
        }
    }
}
```

Incluya el propietario del bucket de S3 que contiene el documento en el campo `bucketOwnerAccountId` y el URI de S3 del documento en el campo `uri`.

Los metadatos de un documento añadido a un origen de datos personalizado se pueden definir con el siguiente formato:

```
{
    "s3Location": { 
        "bucketOwnerAccountId": "string",
        "uri": "string"
    },
        "type": "S3_LOCATION"
    }
 }
```

**aviso**  
Los documentos que se ingieren directamente en una base de conocimiento conectada a un origen de datos de S3 no se añaden al propio bucket de S3. Le recomendamos que añada también estos documentos al origen de datos de S3 para que no se eliminen ni sobrescriban si sincroniza el origen de datos.

### Ejemplo de cuerpos de solicitud
<a name="w2aac28c10c23c19c17c11b3c19"></a>

Amplíe las siguientes secciones para ver los cuerpos de solicitud para diferentes casos de uso con `IngestKnowledgeBaseDocuments`:

#### Adición e ingesta de un documento de texto personalizado en un origen de datos personalizado
<a name="w2aac28c10c23c19c17c11b3c19b5b1"></a>

El siguiente ejemplo muestra la adición de un documento de texto a un origen de datos personalizado:

```
PUT /knowledgebases/KB12345678/datasources/DS12345678/documents HTTP/1.1
Content-type: application/json

{
   "documents": [ 
      { 
         "content": { 
            "dataSourceType": "CUSTOM",
            "custom": { 
               "customDocumentIdentifier": { 
                  "id": "MyDocument"
               },
               "inlineContent": { 
                  "textContent": { 
                     "data": "Hello world!"
                  },
                  "type": "TEXT"
               },
               "sourceType": "IN_LINE"
            }
         }
     }
   ]
}
```

#### Adición e ingesta de un documento codificado en Base64 en un origen de datos personalizado
<a name="w2aac28c10c23c19c17c11b3c19b5b3"></a>

El siguiente ejemplo muestra la adición de un documento PDF a un origen de datos personalizado:

```
PUT /knowledgebases/KB12345678/datasources/DS12345678/documents HTTP/1.1
Content-type: application/json

{
   "documents": [ 
      { 
         "content": { 
            "dataSourceType": "CUSTOM",
            "custom": { 
               "customDocumentIdentifier": { 
                  "id": "MyDocument"
               },
               "inlineContent": { 
                  "byteContent": { 
                     "data": "<Base64-encoded string>",
                     "mimeType": "application/pdf"
                  },
                  "type": "BYTE"
               },
               "sourceType": "IN_LINE"
            }
         }
     }
   ]
}
```

#### Adición e ingesta de un documento desde una ubicación de S3 en una base de conocimiento conectada a un origen de datos personalizado
<a name="w2aac28c10c23c19c17c11b3c19b5b5"></a>

El siguiente ejemplo muestra la adición de un documento de texto a un origen de datos personalizado desde una ubicación de S3:

```
PUT /knowledgebases/KB12345678/datasources/DS12345678/documents HTTP/1.1
Content-type: application/json

{
   "documents": [ 
      { 
         "content": { 
            "dataSourceType": "CUSTOM",
            "custom": { 
               "customDocumentIdentifier": { 
                  "id": "MyDocument"
               },
               "s3": {
                "s3Location": {
                    "uri": "amzn-s3-demo-bucket"
                }
               },
               "sourceType": "S3"
            }
         }
     }
   ]
}
```

#### Adición de un documento insertado a una base de conocimiento conectada a un origen de datos personalizado e inclusión de los metadatos insertados
<a name="w2aac28c10c23c19c17c11b3c19b5b7"></a>

En el siguiente ejemplo, se muestra la adición insertada de un documento a un origen de datos personalizado junto con los metadatos que contienen dos atributos:

```
PUT /knowledgebases/KB12345678/datasources/DS12345678/documents HTTP/1.1
Content-type: application/json

{
   "documents": [ 
      { 
         "content": { 
            "dataSourceType": "CUSTOM",
            "custom": { 
               "customDocumentIdentifier": { 
                  "id": "MyDocument"
               },
               "inlineContent": { 
                  "textContent": { 
                     "data": "Hello world!"
                  },
                  "type": "TEXT"
               },
               "sourceType": "IN_LINE"
            }
         },
         "metadata": {
            "inlineAttributes": [ 
               { 
                  "key": "genre",
                  "value": {
                     "stringValue": "pop",
                     "type": "STRING"
                  }
               },
               { 
                  "key": "year",
                  "value": { 
                     "numberValue": 1988,
                     "type": "NUMBER"
                  }
               }
            ],
            "type": "IN_LINE_ATTRIBUTE"
         }
     }
   ]
}
```

#### Adición de un documento insertado a una base de conocimiento conectada a un origen de datos de S3 e inclusión de sus metadatos
<a name="w2aac28c10c23c19c17c11b3c19b5b9"></a>

El siguiente ejemplo muestra la adición de un documento junto con los metadatos a un origen de datos de S3. Puede incluir los metadatos solo a través de S3:

```
PUT /knowledgebases/KB12345678/datasources/DS12345678/documents HTTP/1.1
Content-type: application/json

{
    "documents": [ 
        { 
            "content": { 
                "dataSourceType": "S3",
                "s3": { 
                "s3Location": {
                    "uri": "amzn-s3-demo-bucket"
                }
            }
        },
        "metadata": {
            "s3Location": {
                "bucketOwnerId": "111122223333",
                "uri": "amzn-s3-demo-bucket"
            },
                "type": "S3_LOCATION"
            }
        }
    ]
}
```

# Consulta de información sobre los documentos del origen de datos
<a name="kb-direct-ingestion-view"></a>

En los temas siguientes, se describe cómo ver los documentos del origen de datos. Si la base de conocimiento está conectada a un origen de datos de Amazon S3, puede ver los documentos del bucket de S3 conectado.

**nota**  
Si creó una nueva base de conocimiento conectándose a un origen de datos de S3, primero debe sincronizar el origen de datos antes de poder utilizar estas operaciones de API en el origen de datos.

Amplíe el método que se corresponda con su caso de uso:

## Uso de la consola
<a name="kb-direct-ingestion-view-console"></a>

Para ver los documentos del origen de datos que se han ingerido en la Consola de administración de AWS, haga lo siguiente:

1. 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/](https://console.aws.amazon.com/bedrock).

1. En el panel de navegación izquierdo, elija **Bases de conocimientos**.

1. En la sección **Bases de conocimiento**, seleccione la base de conocimiento cuyos documentos desea ver.

1. En la sección **Origen de datos**, seleccione el origen de datos cuyos documentos desea ver.

1. La sección **Documentos** muestra los documentos del origen de datos. Estos documentos también se han ingerido en la base de conocimiento.

## Uso de la API
<a name="kb-direct-ingestion-view-api"></a>

Con la API de Amazon Bedrock, puede ver un subconjunto o todos los documentos del origen de datos que se han ingerido en la base de conocimiento. Seleccione el tema que se aplique a su caso de uso.

**Topics**
+ [Consulta de información sobre un subconjunto de documentos en su base de conocimiento](#kb-direct-ingestion-get)
+ [Consulta de información sobre todos los documentos de su base de conocimiento](#kb-direct-ingestion-list)

### Consulta de información sobre un subconjunto de documentos en su base de conocimiento
<a name="kb-direct-ingestion-get"></a>

Para ver información sobre documentos específicos de su origen de datos, envíe una solicitud [GetKnowledgeBaseDocuments](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetKnowledgeBaseDocuments.html) con un [punto de conexión en tiempo de compilación de Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) y especifique los ID del origen de datos y de la base de conocimiento a la que está conectado.

Para cada documento del que desee obtener información, añada un elemento [DocumentIdentifier](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DocumentIdentifier.html) a la matriz `documentIdentifiers` en uno de los siguientes formatos:
+ Si el origen de datos es uno personalizado, especifique el ID del documento en el campo `id`:

  ```
  { 
      "custom": { 
          "id": "string"
      },
      "dataSourceType": "CUSTOM"
  }
  ```
+ Si el origen de datos es uno de Amazon S3, especifique el URI de S3 del documento en el campo `uri`:

  ```
  {
      "dataSourceType": "S3",
      "s3": { 
          "uri": "string"
      }
  }
  ```

La respuesta devuelve una matriz de elementos, cada uno de los cuales contiene información sobre un documento que ha solicitado.

### Consulta de información sobre todos los documentos de su base de conocimiento
<a name="kb-direct-ingestion-list"></a>

Para ver información sobre todos los documentos de un origen de datos, envíe una solicitud [ListKnowledgeBaseDocuments](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListKnowledgeBaseDocuments.html) con un [punto de conexión en tiempo de compilación de Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) y especifique el ID del origen de datos y de la base de conocimiento a la que está conectado. Dispone también de las opciones siguientes:
+ Especifique `maxResults` para limitar el número de resultados que se devuelven.
+ Si los resultados no caben en una respuesta, se devuelve un valor en el campo `nextToken` de la respuesta. Puede usar este valor en el campo `nextToken` de otra solicitud para obtener el siguiente lote de resultados.

# Eliminación de documentos directamente de una base de conocimiento
<a name="kb-direct-ingestion-delete"></a>

Si ya no necesita un documento de su base de conocimiento, puede eliminarlo directamente. Para obtener más información sobre cómo eliminar documentos de su origen de datos y su base de conocimiento, amplíe la sección que se corresponda con su caso de uso:

## Uso de la consola
<a name="kb-direct-ingestion-delete-console"></a>

Para eliminar documentos del origen de datos y la base de conocimiento directamente mediante la Consola de administración de AWS, haga lo siguiente:

1. 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/](https://console.aws.amazon.com/bedrock).

1. En el panel de navegación izquierdo, elija **Bases de conocimientos**.

1. En la sección **Bases de conocimiento**, seleccione la base de conocimiento de la que quiere eliminar los documentos.

1. En la sección **Origen de datos**, seleccione el origen de datos del que quiera eliminar documentos.

1. En la sección **Documentos**, seleccione el documento que desee eliminar. A continuación, elija **Eliminar documento**. Revise el mensaje y confirme la operación.

## Uso de la API
<a name="kb-direct-ingestion-delete-api"></a>

Para eliminar documentos específicos de su origen de datos a través de la API de Amazon Bedrock, envíe una solicitud [DeleteKnowledgeBaseDocuments](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DeleteKnowledgeBaseDocuments.html) con un [punto de conexión en tiempo de compilación de Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) y especifique los ID del origen de datos y de la base de conocimiento a la que está conectado.

Para cada documento que desee eliminar, añada un elemento [DocumentIdentifier](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DocumentIdentifier.html) a la matriz `documentIdentifiers` en uno de los siguientes formatos:
+ Si el origen de datos es uno personalizado, especifique el ID del documento en el campo `id`:

  ```
  { 
      "custom": { 
          "id": "string"
      },
      "dataSourceType": "CUSTOM"
  }
  ```
+ Si el origen de datos es uno de Amazon S3, especifique el URI de S3 del documento en el campo `uri`:

  ```
  {
      "dataSourceType": "S3",
      "s3": { 
          "uri": "string"
      }
  }
  ```

**aviso**  
Los documentos que se eliminan directamente de una base de conocimiento conectada a un origen de datos de S3 no se eliminan del propio bucket de S3. Le recomendamos que elimine estos documentos del bucket de S3 para que no se vuelvan a introducir si sincroniza el origen de datos.

# Visualización de la información del origen de datos de la base de conocimientos de Amazon Bedrock
<a name="kb-ds-info"></a>

Puede ver información sobre un origen de datos para la base de conocimientos, como la configuración y el historial de la sincronización.

Para supervisar la base de conocimientos, incluidos los orígenes de datos de la base de conocimientos, consulte [Knowledge base logging using Amazon CloudWatch](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-bases-logging.html).

Elija la pestaña del método que prefiera y siga estos pasos:

------
#### [ Console ]

**Visualización de la información acerca de un origen de datos**

1. 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/](https://console.aws.amazon.com/bedrock).

1. En el panel de navegación izquierdo, elija **Bases de conocimientos**.

1. En la sección **Origen de datos**, seleccione el origen de datos del que quiera ver los detalles.

1. **Información general del origen de datos** contiene detalles sobre el origen de datos.

1. **Historial de sincronización** contiene detalles sobre cuándo se sincronizó el origen de datos. Para ver los motivos por los que se ha producido un error de sincronización, seleccione un evento de sincronización y **Ver advertencias**.

------
#### [ API ]

Para obtener más información sobre un origen de datos, envíe una solicitud [GetDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetDataSource.html) a un [punto de conexión en tiempo de compilación de Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) y especifique el `dataSourceId` y el `knowledgeBaseId` de la base de conocimientos al que pertenece.

Para enumerar la información sobre los orígenes de datos de una base de conocimientos, envíe una solicitud [ListDataSources](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListDataSources.html) con un [punto de conexión en tiempo de compilación de Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) y especifique el ID de la base de conocimientos.
+ Especifique el número máximo de resultados que se devuelven en una respuesta en el campo `maxResults`.
+ Si hay más resultados que el número especificado, la respuesta devolverá un `nextToken`. Puede usar este valor en otra solicitud `ListDataSources` para ver el siguiente lote de resultados.

Para obtener más información sobre un evento de sincronización para un origen de datos, envíe una solicitud [GetIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetIngestionJob.html) con un [punto de conexión en tiempo de compilación de Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt). Especifique los valores de `dataSourceId`, `knowledgeBaseId` y `ingestionJobId`.

Para enumerar el historial de sincronización de un origen de datos de una base de conocimientos, envíe una solicitud [ListIngestionJobs](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListIngestionJobs.html) con un [punto de conexión en tiempo de compilación de Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt). Especifique el ID de la base de conocimientos y el origen de datos. Puede especificar las opciones siguientes.
+ Filtre los resultados especificando el estado que desee buscar en el objeto `filters`.
+ Puede ordenarlos por la hora en que se inició el trabajo o por el estado de un trabajo especificando el objeto `sortBy`. Puede especificar un orden ascendente o descendente.
+ Especifique el número máximo de resultados que se devuelven en una respuesta en el campo `maxResults`. Si hay más resultados que la cantidad que ha establecido, la respuesta devuelve un `nextToken` que puede enviar en otra solicitud [ListIngestionJobs](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListIngestionJobs.html) para ver el siguiente lote de trabajos.

------

# Modificación de un origen de datos para la base de conocimientos de Amazon Bedrock
<a name="kb-ds-update"></a>

Puede actualizar un origen de datos para la base de conocimientos, por ejemplo, cambiando las configuraciones del origen de datos.

Puede actualizar un origen de datos de las siguientes maneras:
+ Agregue, cambie o elimine archivos o contenido del origen de datos.
+ Cambie las configuraciones del origen de datos o la clave de KMS que se utilizará para cifrar los datos transitorios durante la ingesta de datos. Si cambia los detalles de configuración del origen o punto de conexión, debería actualizar o crear un nuevo rol de IAM con los permisos de acceso necesarios y el secreto de Secrets Manager (si corresponde).
+ Defina su política de eliminación de orígenes de datos como “Eliminar” o “Retener”. Puede eliminar todos los datos del origen de datos que se convierten en incrustaciones vectoriales al eliminar una base de conocimientos o un recurso de origen de datos. Puede retener todos los datos del origen de datos que se convierten en incrustaciones vectoriales al eliminar una base de conocimientos o un recurso de origen de datos. Tenga en cuenta que el **almacén vectorial en sí no se elimina** si elimina una base de conocimientos o un recurso de origen de datos.

Cada vez que añada, modifique o elimine archivos del origen de datos, debe sincronizar el origen de datos para volver a indexarlo en la base de conocimientos. La sincronización es incremental, por lo que Amazon Bedrock solo procesa los documentos añadidos, modificados o eliminados desde la última sincronización. Antes de iniciar la ingesta, compruebe que el origen de datos cumpla las siguientes condiciones:
+ Los archivos son del formato admitido. Para obtener más información, consulte [Formatos de documentos admitidos](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-ds.html#kb-ds-supported-doc-formats-limits).
+ Los archivos no deben superar el **Tamaño del archivo de trabajo de ingesta** especificado en los [Amazon Bedrock endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/bedrock.html) en la Referencia general de AWS.
+ Si el origen de datos contiene archivos de metadatos, compruebe las siguientes condiciones para asegurarse de que no se omitan los archivos de metadatos:
  + Cada archivo `.metadata.json` comparte el mismo nombre y extensión que el archivo de origen al que está asociado.
  + Si el índice vectorial de la base de conocimientos se encuentra en un almacén vectorial de Amazon OpenSearch sin servidor, compruebe que el índice vectorial esté configurado con el motor `faiss`. Si el índice vectorial está configurado con el motor `nmslib`, deberá realizar una de las siguientes acciones:
    + [Crear una nueva base de conocimientos](knowledge-base-create.md) en la consola y dejar que Amazon Bedrock cree automáticamente un índice vectorial en Amazon OpenSearch sin servidor por usted.
    + [Crear otro índice vectorial](knowledge-base-setup.md) en el almacén vectorial y seleccionar `faiss` como el **motor**. A continuación, [cree una nueva base de conocimientos](knowledge-base-create.md) y especifique el nuevo índice vectorial.
  + Si el índice vectorial de la base de conocimiento se encuentra en un clúster de bases de datos de Amazon Aurora, le recomendamos que utilice el campo de metadatos personalizado para almacenar todos los metadatos en una sola columna y crear un índice en esa columna. Si no proporciona el campo de metadatos personalizado, compruebe que la tabla del índice contenga una columna para cada propiedad de metadatos de los archivos de metadatos antes de iniciar la ingesta. Para obtener más información, consulte [Requisitos previos para usar un almacén de vectores que haya creado para una base de conocimiento](knowledge-base-setup.md).

Para obtener información sobre cómo actualizar un origen de datos, seleccione la pestaña correspondiente al método que prefiera y siga los pasos:

------
#### [ Console ]

**Actualización de un origen de datos**

1. 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/](https://console.aws.amazon.com/bedrock).

1. En el panel de navegación izquierdo, elija **Bases de conocimientos**.

1. Seleccione el nombre de la base de conocimientos.

1. En **Origen de datos**, elija el botón de opción situado junto al origen de datos que desea editar o sincronizar.

1. (Opcional) Seleccione **Editar**, cambie las configuraciones y elija **Enviar**. Si cambia los detalles de configuración del origen o punto de conexión, debería actualizar o crear un nuevo rol de IAM con los permisos de acceso necesarios y el secreto de Secrets Manager (si corresponde). Además, tenga en cuenta que no se pueden cambiar las configuraciones de fragmentación que se basan en los datos originales ingeridos. Tiene que volver a crear el origen de datos.
**nota**  
No puede cambiar las configuraciones de fragmentación. Tiene que volver a crear el origen de datos.

1. (Opcional) Elija editar la política de eliminación de datos de origen de datos como parte de la configuración avanzada:

   En cuanto a la configuración de la política de eliminación de datos, puede elegir cualquiera de las siguientes opciones:
   + Eliminar: elimina todos los datos del origen de datos que se convierten en incrustaciones vectoriales al eliminar una base de conocimientos o un recurso de origen de datos. Tenga en cuenta que el **almacén vectorial en sí no se elimina**, solo se eliminan los datos. Este indicador se ignora si se elimina una cuenta de AWS.
   + Retener: retiene todos los datos del origen de datos que se convierten en incrustaciones vectoriales al eliminar una base de conocimientos o un recurso de origen de datos. Tenga en cuenta que el **almacén vectorial en sí no se elimina** si elimina una base de conocimientos o un recurso de origen de datos.

1. Elija **Sincronizar**.

1. Aparece un banner verde cuando se completa la sincronización y el **estado** pasa a **Listo**.

------
#### [ API ]

**Actualización de un origen de datos**

1. (Opcional) Envíe una solicitud [UpdateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateDataSource.html) con un [punto de conexión en tiempo de compilación de Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt), modifique la configuración y especifique las mismas configuraciones que no desee cambiar. Si cambia los detalles de configuración del origen o punto de conexión, debería actualizar o crear un nuevo rol de IAM con los permisos de acceso necesarios y el secreto de Secrets Manager (si corresponde).
**nota**  
No puede cambiar la `chunkingConfiguration`. Envíe la solicitud con la `chunkingConfiguration` existente o vuelva a crear el origen de datos.

1. (Opcional) Cambie la `dataDeletionPolicy` para el origen de datos. Puede `DELETE` todos los datos del origen de datos que se convierten en incrustaciones vectoriales al eliminar una base de conocimientos o un recurso de origen de datos. Este indicador se ignora si se elimina una cuenta de AWS. Puede `RETAIN` todos los datos del origen de datos que se convierten en incrustaciones vectoriales al eliminar una base de conocimientos o un recurso de origen de datos. Tenga en cuenta que el **almacén vectorial en sí no se elimina** si elimina una base de conocimientos o un recurso de origen de datos.

1. Envíe una solicitud [StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html) con un [punto de conexión en tiempo de compilación de Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt), especificando el `dataSourceId` y el `knowledgeBaseId`.

------

# Eliminación de un origen de datos de la base de conocimientos de Amazon Bedrock
<a name="kb-ds-delete"></a>

Puede eliminar o quitar un origen de datos que ya no utilice o necesite para la base de conocimientos.

Elija la pestaña del método que prefiera y siga estos pasos:

------
#### [ Console ]

**Eliminación de un origen de datos**

1. 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/](https://console.aws.amazon.com/bedrock).

1. En el panel de navegación izquierdo, elija **Bases de conocimientos**.

1. En **Origen de datos**, elija el botón de opción situado junto al origen de datos que desea eliminar.

1. Elija **Eliminar**.

1. Aparece un banner verde cuando el origen de datos se haya eliminado correctamente.
**nota**  
La política de eliminación de datos del origen de datos está configurada en “Eliminar” (elimina todos los datos al eliminar el origen de datos, pero **no elimina el almacén vectorial en sí**) o en “Retener” (conserva todos los datos al eliminar el origen de datos). Si elimina una base de conocimientos o un origen de datos, el **almacén vectorial en sí no se elimina**. Si la política de eliminación de datos del origen de datos está configurada como “Eliminar”, es posible que el origen de datos complete sin éxito el proceso de eliminación debido a problemas con la configuración o el acceso al almacén vectorial. Puede comprobar el estado DELETE\$1UNSUCCESSFUL para ver el motivo por el que no se ha podido eliminar correctamente el origen de datos.

------
#### [ API ]

Para eliminar un origen de datos de una base de conocimientos, envíe una solicitud [DeleteDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DeletDataSource.html), especificando el `dataSourceId` y el `knowledgeBaseId`.

**nota**  
La política de eliminación de datos del origen de datos está configurada en `DELETE` (elimina todos los datos al eliminar el origen de datos, pero **no elimina el almacén vectorial en sí**) o en `RETAIN` (conserva todos los datos al eliminar el origen de datos). Si elimina una base de conocimientos o un origen de datos, el **almacén vectorial en sí no se elimina**. Si la política de eliminación de datos del origen de datos está configurada como `DELETE`, es posible que el origen de datos complete sin éxito el proceso de eliminación debido a problemas con la configuración o el acceso al almacén vectorial. Puede ver `failureReasons` si el estado del origen de datos indica `DELETE_UNSUCCESSFUL` para ver el motivo por el que el origen de datos no se ha podido eliminar correctamente.

------

# Cree una base de conocimientos para contenido multimodal
<a name="kb-multimodal"></a>

Las bases de conocimiento de Amazon Bedrock admiten contenido multimodal, incluidos archivos de imágenes, audio y vídeo. Puede realizar búsquedas utilizando imágenes como consultas, recuperar contenido visualmente similar y procesar archivos multimedia junto con documentos de texto tradicionales. Esta capacidad le permite extraer información de diversos tipos de datos: imágenes independientes, grabaciones de audio y archivos de vídeo almacenados en toda la organización.

Las bases de conocimiento de Amazon Bedrock le permiten indexar y recuperar información de contenido de texto, visual y de audio. Las organizaciones ahora pueden buscar en los catálogos de productos mediante imágenes, encontrar momentos específicos en los vídeos de formación y recuperar segmentos relevantes de las grabaciones de llamadas de atención al cliente.

**Disponibilidad regional**  
Los enfoques de procesamiento multimodal tienen una disponibilidad regional diferente. Para obtener información detallada, consulta [Disponibilidad regional](kb-multimodal-choose-approach.md#kb-multimodal-processing-regions).

## Características y funciones básicas
<a name="kb-multimodal-features"></a>

Las bases de conocimiento multimodales proporcionan las siguientes capacidades clave:

**Consultas basadas en imágenes**  
Envíe imágenes como consultas de búsqueda para encontrar contenido visualmente similar cuando utilice Nova Multimodal Embeddings. Soporta la coincidencia de productos, la búsqueda de similitudes visuales y la recuperación de imágenes.

**Recuperación de contenido de audio**  
Busque archivos de audio mediante consultas de texto. Recupere segmentos específicos de grabaciones con referencias de marcas de tiempo. La transcripción de audio permite realizar búsquedas basadas en texto en todo el contenido hablado, incluidas las reuniones, las llamadas y los podcasts.

**Extracción de segmentos de vídeo**  
Localice momentos específicos dentro de los archivos de vídeo mediante consultas de texto. Recupera segmentos de vídeo con marcas de tiempo precisas.

**Búsqueda multimodal**  
Busque en diferentes tipos de datos, incluidos documentos de texto, imágenes, audio y vídeo. Recupera el contenido relevante independientemente del formato original.

**Referencias de fuentes con marcas de tiempo**  
Los resultados de la recuperación incluyen referencias a los archivos originales con metadatos temporales de audio y vídeo. Permite una navegación precisa a los segmentos relevantes del contenido multimedia.

**Opciones de procesamiento flexibles**  
Elija entre incrustaciones multimodales nativas para lograr una similitud visual o conversión de texto para contenido basado en voz. Configure el enfoque de procesamiento en función de las características del contenido y los requisitos de la aplicación.

## Funcionamiento
<a name="kb-multimodal-how-it-works"></a>

Las bases de conocimiento multimodales procesan y recuperan el contenido a través de una canalización de varias etapas que maneja los diferentes tipos de datos de manera adecuada:

****Ingestión y procesamiento****

1. **Conexión a la fuente de datos:** conecte su base de conocimientos a depósitos de Amazon S3 o fuentes de datos personalizadas que contengan documentos de texto, imágenes, archivos de audio y archivos de vídeo.

1. **Detección del tipo de archivo:** el sistema identifica cada tipo de archivo por su extensión y lo dirige al proceso de procesamiento correspondiente.

1. **Procesamiento de contenido:** según la configuración, los archivos se procesan mediante uno de estos dos enfoques:
   + **Incrustaciones multimodales de Nova:** conserva el formato nativo para hacer coincidir las similitudes visuales y sonoras. Las imágenes, el audio y el vídeo se incrustan directamente sin convertirlos a texto.
   + **Bedrock Data Automation (BDA):** convierte contenido multimedia en representaciones de texto. El audio se transcribe mediante el reconocimiento automático de voz (ASR), el vídeo se procesa para extraer resúmenes y transcripciones de las escenas, y las imágenes se someten a un OCR y a extraer contenido visual.

1. **Generación de incrustaciones:** el contenido procesado se convierte en incrustaciones vectoriales utilizando el modelo de incrustación seleccionado. Estas incrustaciones capturan el significado semántico y permiten la recuperación basada en similitudes.

1. **Almacenamiento vectorial:** las incrustaciones se almacenan en la base de datos vectorial configurada junto con los metadatos, incluidas las referencias a los archivos, las marcas de tiempo (para audio y vídeo) y la información sobre el tipo de contenido.

1. **Almacenamiento multimodal (opcional):** si está configurado, los archivos multimedia originales se copian en un destino de almacenamiento multimodal específico para poder recuperarlos de forma fiable, lo que garantiza su disponibilidad incluso si se modifican o eliminan los archivos de origen.

****Consulta y recuperación****

1. **Procesamiento de consultas:** las consultas de los usuarios (texto o imagen) se convierten en incrustaciones utilizando el mismo modelo de incrustación utilizado durante la ingesta.

1. **Búsqueda por similitud:** la incrustación de consultas se compara con las incrustaciones almacenadas en la base de datos vectorial para identificar el contenido más relevante.

1. **Recuperación de resultados:** el sistema devuelve el contenido coincidente con metadatos que incluyen:
   + URI de origen (ubicación del archivo original)
   + Metadatos de marca temporal (para segmentos de audio y vídeo)
   + Información sobre el tipo y la modalidad del contenido

1. **Generación de respuestas (opcional):** en el caso de `RetrieveAndGenerate` las solicitudes, el contenido recuperado se pasa a un modelo básico para generar respuestas de texto relevantes desde el punto de vista del contexto. Esto se admite cuando se utiliza el procesamiento BDA o cuando la base de conocimientos contiene contenido de texto.

**importante**  
El sistema devuelve referencias a archivos completos con metadatos de fecha y hora para el contenido de audio y vídeo. La aplicación debe extraer y reproducir segmentos específicos en función de las marcas de tiempo de inicio y finalización proporcionadas. The Consola de administración de AWS gestiona esto automáticamente.

**Topics**
+ [Características y funciones básicas](#kb-multimodal-features)
+ [Funcionamiento](#kb-multimodal-how-it-works)
+ [Cómo elegir su enfoque de procesamiento multimodal](kb-multimodal-choose-approach.md)
+ [Requisitos previos para las bases de conocimiento multimodales](kb-multimodal-prerequisites.md)
+ [Cree una base de conocimientos para contenido multimodal](kb-multimodal-create.md)
+ [Añadir fuentes de datos e iniciar la ingesta](kb-multimodal-add-data-source-and-ingest.md)
+ [Probar y consultar bases de conocimiento multimodales](kb-multimodal-test-and-query.md)
+ [Solución de problemas: bases de conocimiento multimodales](kb-multimodal-troubleshooting.md)

# Cómo elegir su enfoque de procesamiento multimodal
<a name="kb-multimodal-choose-approach"></a>

Amazon Bedrock Knowledge Bases ofrece dos enfoques para procesar contenido multimodal: Nova Multimodal Embeddings para búsquedas de similitudes visuales y Bedrock Data Automation (BDA) para el procesamiento de contenido multimedia basado en texto. También puede utilizar modelos básicos como analizador si la modalidad de entrada es la imagen, pero no el audio o el vídeo.

En esta sección, se describe el uso de Nova Multimodal Embeddings y BDA como enfoque de procesamiento del contenido multimodal. Cada enfoque está optimizado para diferentes casos de uso y patrones de consulta.

**Topics**
+ [Enfoque de procesamiento multimodal](#kb-multimodal-processing-approach)
+ [Disponibilidad regional](#kb-multimodal-processing-regions)
+ [Criterios de selección por tipo de contenido](#kb-multimodal-selection-guidance)
+ [Tipos de archivos y fuentes de datos compatibles](#kb-multimodal-supported-files)
+ [Capacidades y limitaciones](#kb-multimodal-approach-details)

## Enfoque de procesamiento multimodal
<a name="kb-multimodal-processing-approach"></a>

La siguiente tabla muestra una comparación entre Nova Multimodal Embeddings y BDA para procesar contenido multimodal.


**Comparación de enfoques de procesamiento**  

| Característica | Incrustaciones multimodales de Nova | Automatización de datos de Bedrock (BDA) | 
| --- | --- | --- | 
| Método de procesamiento | Genera incrustaciones sin conversión de texto intermedia | Convierte contenido multimedia en texto y, a continuación, crea incrustaciones | 
| Tipos de consultas compatibles | Consultas de texto o consultas de imágenes | Solo consultas de texto | 
| Casos de uso principales | Búsqueda de similitudes visuales, coincidencia de productos, descubrimiento de imágenes | Transcripción de voz, búsqueda basada en texto, análisis de contenido | 
| Funcionalidad RAG | Limitado únicamente al contenido de texto | RetrieveAndGenerateSoporte completo | 
| Requisitos de almacenamiento | Se requiere un destino de almacenamiento multimodal | El destino de almacenamiento multimodal es opcional, aunque si no se especifica, BDA solo procesará los datos de texto. Para la entrada que no sea de texto, debe especificar un destino de almacenamiento multimodal. | 

## Disponibilidad regional
<a name="kb-multimodal-processing-regions"></a>


**Disponibilidad regional**  

| Incrustaciones multimodales de Nova | Automatización de datos de Bedrock (BDA) | 
| --- | --- | 
| Únicamente Este de EE. UU. (Norte de Virginia) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/kb-multimodal-choose-approach.html)  | 

## Criterios de selección por tipo de contenido
<a name="kb-multimodal-selection-guidance"></a>

Utilice esta matriz de decisiones para elegir el enfoque de procesamiento adecuado en función de sus requisitos de contenido y caso de uso:

**nota**  
Si utiliza el analizador BDA con el modelo de incrustaciones multimodales de Amazon Nova, el modelo de incrustaciones actuará como un modelo de incrustaciones de texto. Cuando trabaje con contenido multimodal, utilice uno de los enfoques de procesamiento para obtener los mejores resultados en función de su caso de uso.


**Recomendaciones de enfoques de procesamiento por tipo de contenido**  

| Tipo de contenido | Incrustaciones multimodales de Nova | Automatización de datos de Bedrock (BDA) | 
| --- | --- | --- | 
| Catálogos e imágenes de productos | Recomendado: permite la búsqueda de similitudes visuales y las consultas basadas en imágenes | Limitado: solo extrae texto mediante OCR | 
| Grabaciones y llamadas de reuniones | No se puede procesar el contenido de la voz de manera significativa | Recomendado: proporciona una transcripción completa de la voz y texto que se puede buscar | 
| Vídeos formativos y educativos | Parcial: maneja el contenido visual pero omite la voz | Recomendado: captura tanto las transcripciones de voz como las descripciones visuales | 
| Grabaciones de atención al cliente | No recomendado: el contenido de la voz no se puede procesar de forma eficaz | Recomendado: crea transcripciones de conversaciones completas con capacidad de búsqueda | 
| Diagramas y gráficos técnicos | Recomendado: excelente para la similitud visual y la coincidencia de patrones | Limitado: extrae las etiquetas de texto pero omite las relaciones visuales | 

## Tipos de archivos y fuentes de datos compatibles
<a name="kb-multimodal-supported-files"></a>

Los tipos de archivos admitidos dependen del método de procesamiento que elija:


**Tipos de archivos admitidos según el enfoque de procesamiento**  

| Tipo de archivo | Incrustaciones multimodales de Nova | Automatización de datos de Bedrock (BDA) | 
| --- | --- | --- | 
| Imágenes | .png, .jpg, .jpeg, .gif, .webp | .png, .jpg, .jpeg | 
| Audio | .mp3, .ogg, .wav | .amr, .flac, .m4a, .mp3, .ogg, .wav | 
| Video | .mp4, .mov, .mkv, .webm, .flv, .mpeg, .mpg, .wmv, .3gp | .mp4, .mov | 
| Documentos | Procesado como texto | .pdf (más extracción de texto de imágenes) | 

****Orígenes de datos admitidos****  
El contenido multimodal es compatible con las siguientes fuentes de datos:
+ **Amazon S3:** compatibilidad total con todos los tipos de archivos multimodales
+ **Fuentes de datos personalizadas:** Support para contenido en línea de hasta 10 MB codificado en base64

**importante**  
La recuperación multimodal solo está disponible actualmente para las fuentes de datos de Amazon S3. Otras fuentes de datos (Confluence, Salesforce SharePoint, Web Crawler) no procesan los archivos multimodales durante la ingesta. Estos archivos se omiten y no estarán disponibles para consultas multimodales.

## Capacidades y limitaciones
<a name="kb-multimodal-approach-details"></a>

**Incrustaciones multimodales de Nova**  
**Capacidades clave:**  
+ El procesamiento multimodal nativo conserva el formato del contenido original para una coincidencia óptima de similitudes visuales
+ Las consultas basadas en imágenes permiten a los usuarios cargar imágenes y encontrar contenido visualmente similar
+ Excelente rendimiento para catálogos de productos, aplicaciones de búsqueda visual y descubrimiento de contenido
**Limitaciones:**  
+ No se puede procesar eficazmente el contenido de voz o audio; la información hablada no se puede buscar
+ `RetrieveAndGenerate`y la funcionalidad de recuperación se limita únicamente al contenido de texto
+ Requiere la configuración de un destino de almacenamiento multimodal dedicado

**Bedrock Data Automation (BDA)**  
**Capacidades clave:**  
+ Transcripción de voz completa mediante la tecnología de reconocimiento automático de voz (ASR)
+ El análisis de contenido visual genera texto descriptivo para imágenes y escenas de vídeo
+ El `RetrieveAndGenerate` soporte completo permite una funcionalidad RAG completa en todo el contenido
+ La búsqueda basada en texto funciona de manera uniforme en todos los tipos de contenido multimedia
**Limitaciones:**  
+ No se admiten consultas basadas en imágenes cuando se utilizan sin Nova Multimodal Embeddings: todas las búsquedas deben utilizar la entrada de texto
+ No se pueden realizar búsquedas ni coincidencias de similitudes visuales image-to-image
+ Mayor tiempo de procesamiento de la ingesta debido a los requisitos de conversión de contenido
+ Soporta menos formatos de archivos multimedia en comparación con Nova Multimodal Embeddings

**Procesamiento del contenido de voz**  
Nova Multimodal Embeddings no puede procesar eficazmente el contenido de voz en archivos de audio o vídeo. Si su contenido multimedia contiene información hablada importante que los usuarios necesitan buscar, elija el enfoque BDA para garantizar una transcripción y una capacidad de búsqueda completas.

# Requisitos previos para las bases de conocimiento multimodales
<a name="kb-multimodal-prerequisites"></a>

Las bases de conocimiento multimodales de Amazon Bedrock requieren una configuración adicional más allá de las bases de conocimiento estándar para procesar contenido de imágenes, audio y vídeo. Los requisitos previos específicos dependen del enfoque de procesamiento y la configuración de almacenamiento que elija.

Antes de poder crear una base de conocimientos multimodal, debe cumplir los siguientes requisitos previos:

**Topics**
+ [Requisitos previos](#kb-multimodal-prerequisites)
+ [Permisos para contenido multimodal](#kb-multimodal-prerequisites-permissions)

## Requisitos previos
<a name="kb-multimodal-prerequisites"></a>

1. Asegúrese de que los datos estén en un [conector de origen de datos compatible](data-source-connectors.md). El contenido multimodal solo es compatible con Amazon S3 y las fuentes de datos personalizadas.

1. (Opcional) [Configurar su propio almacén vectorial compatible](knowledge-base-setup.md). Puede omitir este requisito previo si tiene previsto usar la Consola de administración de AWS para crear automáticamente un almacén de vectores.

1. Cree un [rol de servicio](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role) personalizado AWS Identity and Access Management (IAM) con los permisos adecuados para el procesamiento multimodal. Para obtener más información, consulte [Permisos para contenido multimodal](#kb-multimodal-prerequisites-permissions).
**nota**  
Si utiliza la consola, Amazon Bedrock Knowledge Bases configurará automáticamente los permisos por usted.

1. (Opcional) Configurar configuraciones de seguridad adicionales siguiendo los pasos que se indican en [Cifrado de recursos de bases de conocimientos](encryption-kb.md).

1. Si piensa utilizar la operación de la [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html)API con contenido procesado por BDA, solicite acceso a los modelos que utilizará en las regiones en las que los utilizará siguiendo los pasos que se indican en. [Acceso a los modelos fundacionales de Amazon Bedrock](model-access.md)

## Permisos para contenido multimodal
<a name="kb-multimodal-prerequisites-permissions"></a>

Las bases de conocimiento multimodales requieren permisos adicionales además de los permisos estándar de las bases de conocimiento. Los permisos específicos dependen del enfoque de procesamiento y la configuración de almacenamiento que elija.

Debe configurar los siguientes permisos en función del enfoque de procesamiento multimodal:
+ **Permisos de incrustaciones multimodales de Nova: se requieren cuando se utilizan incrustaciones** multimodales de Nova para búsquedas directas de similitudes visuales y de audio. Incluye permisos para la invocación de modelos asíncronos y el acceso al almacenamiento multimodal.
+ **Permisos de automatización de datos de Bedrock (BDA):** se requieren cuando se utiliza BDA para convertir contenido multimodal en representaciones de texto. Incluye permisos para la automatización de datos, la invocación y la supervisión del estado.
+ **Permisos de clave KMS administrados por el cliente:** necesarios cuando se utilizan claves de cifrado administradas por el cliente con procesamiento BDA. Incluye permisos para las operaciones clave y la creación de concesiones.
+ **Permisos de almacenamiento multimodal:** se requieren al configurar un destino de almacenamiento multimodal. Incluye permisos S3 estándar para el depósito de almacenamiento.

Para obtener información detallada sobre las políticas de IAM y la configuración de step-by-step permisos, consulte[Permisos para contenido multimodal](kb-permissions.md#kb-permissions-multimodal).

### Requisitos de almacenamiento
<a name="kb-multimodal-storage-requirements"></a>

**Incrustaciones multimodales de Nova**  
**Obligatorio:** debe configurar un destino de almacenamiento multimodal. Este destino almacena copias de los archivos multimedia para su recuperación y garantiza la disponibilidad incluso si se modifican o eliminan los archivos de origen.

**Automatización de datos de Bedrock (BDA)**  
**Opcional:** puede configurar un depósito de almacenamiento multimodal para aumentar la confiabilidad y también para recuperar el archivo en tiempo de ejecución. Sin embargo, no es obligatorio, ya que el BDA convierte el contenido en texto.  
Si selecciona el analizador BDA sin configurar un depósito de almacenamiento multimodal, solo estará disponible el análisis de texto. Para aprovechar las capacidades de análisis multimodal con BDA (procesamiento de imágenes, audio y vídeo), debe configurar un destino de almacenamiento multimodal.

**Configuración del destino de almacenamiento multimodal**  
Al configurar el destino de almacenamiento multimodal, tenga en cuenta lo siguiente:
+ **Utilice depósitos separados (recomendado):** configure diferentes depósitos de Amazon S3 para la fuente de datos y el destino de almacenamiento multimodal. Esto proporciona la configuración más sencilla y evita posibles conflictos.
+ **Si utiliza el mismo depósito:** debe especificar un prefijo de inclusión para la fuente de datos que limite el contenido que se ingiere. Esto evita volver a ingerir los archivos multimedia extraídos.
+ **Evite el prefijo «aws/»:** cuando utilice el mismo depósito tanto para la fuente de datos como para el destino de almacenamiento multimodal, no utilice prefijos de inclusión que comiencen por «aws/», ya que esta ruta está reservada para el almacenamiento multimedia extraído.

# Cree una base de conocimientos para contenido multimodal
<a name="kb-multimodal-create"></a>

Puede crear bases de conocimiento multimodales mediante la consola o la API. Elija su enfoque en función de sus necesidades de procesamiento multimodal.

**importante**  
El soporte multimodal solo está disponible cuando se crea una base de conocimientos con fuentes de datos no estructuradas. Las fuentes de datos estructurados no admiten el procesamiento de contenido multimodal.

------
#### [ Console ]

**Para crear una base de conocimientos multimodal desde la consola**

1. Inicie sesión Consola de administración de AWS con una identidad de IAM que tenga permisos para usar la consola Amazon Bedrock. A continuación, abra la consola de Amazon Bedrock en [https://console.aws.amazon.com/bedrock.](https://console.aws.amazon.com/bedrock)

1. En el panel de navegación izquierdo, elija **Bases de conocimientos**.

1. En la sección **Bases de conocimiento**, elija **Crear** y, a continuación, elija **Base de conocimientos con almacén vectorial**.

1. (Opcional) En **Detalles de la base de conocimientos**, introduzca el nombre predeterminado y proporcione una descripción de la base de conocimiento.

1. En **Permisos de IAM**, seleccione un rol de IAM que otorgue permisos a Amazon Bedrock para acceder a otros Servicios de AWS necesarios. Puede hacer que Amazon Bedrock cree el rol de servicio por usted o puede optar por usar su propio rol personalizado. Para obtener información sobre los permisos multimodales, consulte. [Permisos para contenido multimodal](kb-permissions.md#kb-permissions-multimodal)

1. Elija **Amazon S3** como fuente de datos y elija **Next** para configurar la fuente de datos.
**nota**  
Puede añadir hasta 5 fuentes de datos de Amazon S3 durante la creación de la base de conocimientos. Se pueden añadir fuentes de datos adicionales una vez creada la base de conocimientos.

1. Proporcione el **URI de S3** del depósito que contiene su contenido multimodal y configure un prefijo de inclusión si es necesario. El prefijo de inclusión es una ruta de carpeta que se puede usar para limitar el contenido que se ingiere.

1. En **Configuraciones de fragmentación y análisis**, elige tu estrategia de análisis:
   + **Analizador por defecto de Bedrock: recomendado para** el procesamiento de contenido de solo texto. Este analizador procesa los formatos de texto más comunes e ignora los archivos multimodales. Admite documentos de texto, incluidos archivos de Word, Excel, HTML, Markdown, TXT y CSV.
   + **Bedrock Data Automation (BDA):** convierte el contenido multimodal en representaciones de texto con capacidad de búsqueda. PDFsProcesa archivos de imágenes, audio y vídeo para extraer texto, generar descripciones para el contenido visual y crear transcripciones para el contenido de audio y vídeo.
   + **Analizador de modelos básicos:** proporciona capacidades de análisis avanzadas para estructuras de documentos complejas. Procesos PDFs, imágenes, documentos estructurados, tablas y contenido visualmente rico para extraer texto y generar descripciones para los elementos visuales.

1. Elija **Siguiente** y seleccione su modelo de incrustación y enfoque de procesamiento multimodal. 
   + **Amazon Nova Multimodal Embeddings V1.0: elija Amazon Nova Embeddings** **V1.0 para realizar búsquedas directas de similitudes** visuales y sonoras. Configure la duración de los fragmentos de audio y vídeo (de 1 a 30 segundos; de forma predeterminada, 5 segundos) para controlar cómo se segmenta el contenido.
**nota**  
Los parámetros de fragmentación de audio y vídeo se configuran en el nivel del modelo de incrustación, no en el nivel de la fuente de datos. Se produce una excepción de validación si proporciona esta configuración para modelos de incrustación no multimodales. Configure la duración de los fragmentos de audio y vídeo (predeterminada: 5 segundos, rango: de 1 a 30 segundos) para controlar cómo se segmenta el contenido. Los fragmentos más cortos permiten una recuperación precisa del contenido, mientras que los fragmentos más largos conservan un contexto más semántico.
**importante**  
La versión 1.0 de incrustación de Amazon Nova tiene un soporte limitado para buscar contenido de voz en audio/video los datos. Si necesita admitir la voz, utilice Bedrock Data Automation como analizador.
   + **Incrustaciones de texto con BDA: elija un modelo de incrustación de texto (como Titan Text Embeddings** v2) cuando utilice el procesamiento BDA. Los modelos de incrustación de texto limitan la recuperación a contenido de solo texto, pero puede habilitar la recuperación multimodal si selecciona Amazon Bedrock Data Automation o Foundation Model como analizadores.
**nota**  
Si utiliza el analizador BDA con Nova Multimodal Embeddings, Amazon Bedrock Knowledge Bases utilizará primero el análisis BDA. En este caso, el modelo de incrustación no generará incrustaciones multimodales nativas para imágenes, audio y vídeo, ya que BDA las convierte en representaciones de texto.

1. Si utiliza Nova Multimodal Embeddings, configure el **destino de almacenamiento multimodal especificando** un bucket de Amazon S3 en el que se almacenarán los archivos procesados para su recuperación. Las bases de conocimiento almacenarán las imágenes analizadas en un único depósito de Amazon S3 con una carpeta creada con la extensión.bda para facilitar el acceso.
**Recomendación de política de ciclo de vida**  
Al utilizar Nova Multimodal Embeddings, Amazon Bedrock almacena los datos transitorios en el destino de almacenamiento multimodal e intenta eliminarlos una vez finalizado el procesamiento. Recomendamos aplicar una política de ciclo de vida a la ruta de datos transitorios para garantizar una limpieza adecuada. Para obtener instrucciones detalladas, consulte [Gestión de datos transitorios con las políticas de ciclo de vida de Amazon S3](kb-multimodal-troubleshooting.md#kb-multimodal-lifecycle-policy).

1. En la sección de **bases de datos vectoriales**, elija el método de almacenamiento vectorial y configure las dimensiones adecuadas en función del modelo de incrustación que haya seleccionado.

1. Seleccione **Siguiente** y revise los detalles de la configuración de la base de conocimientos y, a continuación, elija **Crear base de conocimientos**.

------
#### [ CLI ]

**Para crear una base de conocimientos multimodal mediante AWS CLI**
+ Cree una base de conocimientos con Nova Multimodal Embeddings. Enviar una solicitud: [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html)

  ```
  aws bedrock-agent create-knowledge-base \
  --cli-input-json file://kb-nova-mme.json
  ```

  Contenido de `kb-nova-mme.json` (sustituya los valores de los marcadores de posición por su configuración específica):

  ```
  {
      "knowledgeBaseConfiguration": {
          "vectorKnowledgeBaseConfiguration": {
              "embeddingModelArn": "arn:aws:bedrock:us-east-1::foundation-model/amazon.nova-2-multimodal-embeddings-v1:0",
              "supplementalDataStorageConfiguration": {
                  "storageLocations": [
                      {
                          "type": "S3",
                          "s3Location": {
                              "uri": "s3://<multimodal-storage-bucket>/"
                          }
                      }
                  ]
              }
          },
          "type": "VECTOR"
      },
      "storageConfiguration": {
          "opensearchServerlessConfiguration": {
              "collectionArn": "arn:aws:aoss:us-east-1:<account-id>:collection/<collection-id>",
              "vectorIndexName": "<index-name>",
              "fieldMapping": {
                  "vectorField": "<vector-field>",
                  "textField": "<text-field>",
                  "metadataField": "<metadata-field>"
              }
          },
          "type": "OPENSEARCH_SERVERLESS"
      },
      "name": "<knowledge-base-name>",
      "description": "Multimodal knowledge base with Nova Multimodal Embeddings"
  }
  ```

  Reemplace los siguientes marcadores de posición:
  + `<multimodal-storage-bucket>`- Cubeta S3 para almacenar archivos multimodales
  + `<account-id>`- El ID de su cuenta de AWS
  + `<collection-id>`- ID de recopilación OpenSearch sin servidor
  + `<index-name>`- Nombre del índice vectorial de su OpenSearch colección (configurado con las dimensiones adecuadas para el modelo de incrustación que haya elegido)
  + `<vector-field>`- Nombre de campo para almacenar las incrustaciones
  + `<text-field>`- Nombre de campo para almacenar contenido de texto
  + `<metadata-field>`- Nombre de campo para almacenar metadatos

------

# Añadir fuentes de datos e iniciar la ingesta
<a name="kb-multimodal-add-data-source-and-ingest"></a>

Tras crear la base de conocimientos, añada fuentes de datos que contengan su contenido multimodal e inicie los trabajos de ingesta para procesar e indexar el contenido.

**Comportamiento de eliminación de fuentes de datos**  
Al eliminar una fuente de datos con la política de eliminación establecida en RETAIN, el contenido ingerido permanece en la base de datos vectorial y se seguirá utilizando para su recuperación. El contenido solo se elimina si sincroniza explícitamente la base de conocimientos después de eliminar la fuente de datos. Las fuentes de datos con la política DELETE predeterminada eliminarán automáticamente el contenido de la base de datos vectorial y del almacenamiento suplementario durante la eliminación. Esto garantiza que su base de conocimientos siga funcionando incluso si se modifican o eliminan los archivos fuente, pero debe tener en cuenta que las fuentes de datos eliminadas con la política de retención pueden seguir contribuyendo a los resultados de la búsqueda.

## Agregue fuentes de datos
<a name="kb-multimodal-add-data-source"></a>

Agregue fuentes de datos que contengan su contenido multimodal a su base de conocimientos.

**importante**  
Para las fuentes de datos BDA: solo las fuentes de datos creadas después del lanzamiento del audio/video soporte procesarán archivos de audio y vídeo. Las fuentes de datos BDA existentes creadas antes del lanzamiento de esta función seguirán omitiendo los archivos de audio y vídeo. Para permitir el audio/video procesamiento de las bases de conocimiento existentes, cree nuevas fuentes de datos.

------
#### [ Console ]

**Para añadir una fuente de datos desde la consola**

1. En la página de detalles de la base de conocimientos, seleccione **Añadir fuente de datos**.

1. Elija **Amazon S3** como tipo de fuente de datos.

1. Proporcione un nombre y una descripción para su fuente de datos.

1. Configure la ubicación de Amazon S3 que contiene sus archivos multimodales proporcionando el URI del bucket y cualquier prefijo de inclusión.

1. En Análisis **y fragmentación del contenido, configure sus métodos de análisis y fragmentación**:
**nota**  
Los modelos de incrustación de texto limitan la recuperación a contenido de solo texto, pero puede habilitar la recuperación multimodal mediante texto seleccionando Amazon Bedrock Data Automation (para audio, vídeo e imágenes) o Foundation Model como analizadores (para imágenes).

   Elija entre tres estrategias de análisis:
   + **Analizador predeterminado de Bedrock: se recomienda para el análisis** de solo texto. Este analizador ignora el contenido multimodal y se usa comúnmente con modelos de incrustación multimodales.
   + **Bedrock Data Automation como analizador:** permite analizar y almacenar contenido multimodal como archivos de texto, soporte PDFs, imágenes, audio y vídeo.
   + **Modelo básico como analizador:** proporciona un análisis avanzado de imágenes y documentos estructurados, documentos auxiliares, imágenes PDFs, tablas y documentos con gran riqueza visual.

1. Seleccione **Añadir fuente de datos** para crear la fuente de datos.

------
#### [ CLI ]

**Para añadir una fuente de datos mediante el AWS CLI**
+ Cree una fuente de datos para su contenido multimodal. Envía una [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html)solicitud:

  ```
  aws bedrock-agent create-data-source \
  --knowledge-base-id <knowledge-base-id> \
  --cli-input-json file://ds-multimodal.json
  ```

  Para las incrustaciones multimodales de Nova (no se necesita una configuración de análisis especial), utilice este contenido: `ds-multimodal.json`

  ```
  {
      "dataSourceConfiguration": {
          "type": "S3",
          "s3Configuration": {
              "bucketArn": "arn:aws:s3:::<data-source-bucket>",
              "inclusionPrefixes": ["<folder-path>"]
          }
      },
      "name": "multimodal_data_source",
      "description": "Data source with multimodal content",
      "dataDeletionPolicy": "RETAIN"
  }
  ```

  Para el enfoque de análisis BDA, utilice esta configuración:

  ```
  {
      "dataSourceConfiguration": {
          "type": "S3",
          "s3Configuration": {
              "bucketArn": "arn:aws:s3:::<data-source-bucket>",
              "inclusionPrefixes": ["<folder-path>"]
          }
      },
      "name": "multimodal_data_source_bda",
      "description": "Data source with BDA multimodal parsing",
      "dataDeletionPolicy": "RETAIN",
      "vectorIngestionConfiguration": {
          "parsingConfiguration": {
              "bedrockDataAutomationConfiguration": {
                  "parsingModality": "MULTIMODAL"
              }
          }
      }
  }
  ```

------

## Inicio de un trabajo de ingesta
<a name="kb-multimodal-start-ingestion"></a>

Tras añadir las fuentes de datos, inicie un trabajo de ingesta para procesar e indexar el contenido multimodal.

------
#### [ Console ]

**Para iniciar la ingesta desde la consola**

1. En la página de detalles de la fuente de datos, selecciona **Sincronizar**.

1. Supervisa el estado de la sincronización en la página de la fuente de datos. La ingestión puede tardar varios minutos en función del tamaño y la cantidad de los archivos multimodales.

1. Una vez que la sincronización se complete correctamente, el contenido multimodal estará listo para ser consultado.

------
#### [ CLI ]

**Para iniciar la ingestión mediante el AWS CLI**

1. Inicie un trabajo de ingestión. Enviar una [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html)solicitud:

   ```
   aws bedrock-agent start-ingestion-job \
   --knowledge-base-id <knowledge-base-id> \
   --data-source-id <data-source-id>
   ```

   Sustituya los marcadores de posición por:
   + `<knowledge-base-id>`- ID procedente de la creación de la base de conocimientos
   + `<data-source-id>`- ID procedente de la creación de la fuente de datos

1. Supervise el estado del trabajo de ingestión mediante [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetIngestionJob.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetIngestionJob.html).

------

## Resincronización después de eliminar la fuente de datos
<a name="kb-multimodal-resync-after-deletion"></a>

Si elimina una fuente de datos y desea eliminar su contenido de la base de conocimientos, debe volver a sincronizarla de forma explícita:

**Para eliminar el contenido de una fuente de datos eliminada**

1. Elimine la fuente de datos mediante la consola o la [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DeleteDataSource.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DeleteDataSource.html)API.

1. Inicie un nuevo trabajo de ingesta en las fuentes de datos restantes para actualizar la base de datos vectorial y eliminar el contenido de la fuente de datos eliminada.

1. Compruebe que las consultas ya no devuelvan resultados de la fuente de datos eliminada.

**nota**  
Si no se vuelve a sincronizar, el contenido de las fuentes de datos eliminadas seguirá apareciendo en los resultados de búsqueda aunque la fuente de datos ya no exista.

# Probar y consultar bases de conocimiento multimodales
<a name="kb-multimodal-test-and-query"></a>

Tras ingerir tu contenido multimodal, puedes probar y consultar tu base de conocimientos mediante la consola o la API. Los tipos de consultas disponibles dependen del enfoque de procesamiento que elijas.

------
#### [ Console ]

**Para poner a prueba su base de conocimientos desde la consola**

1. En la página de detalles de la base de conocimientos, dirígete a la sección **Probar la base de conocimientos**.

1. Elija el tipo de consulta:
   + **Solo recuperación estándar:** consulte y recupere información de fuentes de datos en una única base de conocimientos.
   + **Recuperación y generación de respuestas:** consulte una única base de conocimientos y genere respuestas basadas en los resultados recuperados mediante un modelo básico.
**nota**  
Si tiene contenido multimodal, debe usar el analizador BDA para la recuperación y la generación de respuestas.

1. Configure opciones adicionales según sea necesario:
   + **Fragmentos de origen:** especifique el número máximo de fragmentos de origen que se van a devolver
   + **Tipo de búsqueda:** seleccione el tipo de búsqueda para personalizar la estrategia de consulta
   + **Filtros de metadatos:** aplique filtros para restringir los resultados de búsqueda
   + **Barandillas:** seleccione una barandilla existente o cree una nueva

1. Introduce una consulta de texto o sube una imagen (solo para Nova Multimodal Embeddings) para buscar tu contenido multimodal. Usa el botón de adjuntar para cargar imágenes y buscar similitudes visuales.

1. Revisa los resultados, que incluyen:
   + Fragmentos de contenido recuperados con puntuaciones de relevancia
   + Referencias del archivo fuente y marcas de tiempo (para audio/vídeo)
   + Metadatos, incluidos los tipos de archivos y la información de procesamiento
   + En el caso del contenido multimedia, los controles de reproducción incluyen un posicionamiento automático de los segmentos en función de las marcas de tiempo recuperadas

------
#### [ API ]

Los siguientes ejemplos muestran cómo utilizar la API Amazon Bedrock Agent Runtime para consultar su base de conocimientos multimodal mediante programación:

**Ejemplo de consulta de texto**  
Búsqueda mediante entrada de texto:

```
aws bedrock-agent-runtime retrieve \
--knowledge-base-id <knowledge-base-id> \
--retrieval-query text="robot automation in manufacturing"
```

**Ejemplo de consulta de imagen (solo incorporaciones multimodales de Nova)**  
Búsqueda mediante una imagen cargada:

```
{
    "knowledgeBaseId": "<knowledge-base-id>",
    "retrievalQuery": {
        "imageQuery": {
            "inlineContent": {
                "mimeType": "image/jpeg",
                "data": "<base64-encoded-image>"
            }
        }
    }
}
```

------

## Tipos de consulta compatibles
<a name="kb-multimodal-query-types"></a>

**Consultas de texto**  
Compatible con los enfoques Nova Multimodal Embeddings y BDA. Realice búsquedas con texto en lenguaje natural para encontrar contenido relevante en todos los tipos de medios.

**Consultas de imágenes**  
Solo es compatible con Nova Multimodal Embeddings. Sube imágenes para encontrar contenido visualmente similar en tu base de conocimientos.

## Entender los metadatos de las respuestas
<a name="kb-multimodal-response-metadata"></a>

Las respuestas a las consultas multimodales incluyen metadatos adicionales para el contenido multimedia:

**Atribución de la fuente**  
Ubicación original del archivo (SourceURI) y ubicación de almacenamiento multimodal (SupplementalURI) para un acceso fiable

**Metadatos temporales**  
Marcas de tiempo de inicio y finalización de los segmentos de audio y vídeo, lo que permite una navegación precisa al contenido relevante

**Información sobre el tipo de contenido**  
Indicadores de formato de archivo, método de procesamiento y modalidad para ayudar a las aplicaciones a gestionar los diferentes tipos de contenido de forma adecuada

**Estructura de metadatos de bases de datos vectoriales**  
Cuando se procesa y almacena contenido multimodal, se utiliza la siguiente estructura de metadatos en la base de datos vectorial:
+ **campo de texto:** en el caso de los archivos multimedia procesados con Nova Multimodal Embeddings, este campo contiene una cadena vacía, ya que el contenido está incrustado como multimedia nativo y no como texto
+ **campo de metadatos:** contiene información estructurada, incluidos los detalles de la fuente y las referencias al contenido relacionado:

  ```
  {
    "source": {
      "sourceType": "S3",
      "s3Location": {
        "uri": "s3://source-bucket/path/to/file.mp4"
      }
    },
    "relatedContent": [{
      "type": "S3",
      "s3Location": {
        "uri": "s3://multimodal-storage-bucket/processed/file.mp4"
      }
    }]
  }
  ```
+ **Campos creados automáticamente:** campos adicionales para filtrar e identificar:
  + `x-amz-bedrock-kb-source-uri`: URI de origen original para las operaciones de filtrado
  + `x-amz-bedrock-kb-data-source-id`: identificador de fuente de datos para rastrear el origen del contenido
  + `x-amz-bedrock-kb-chunk-start-time-in-millis`: inicia la marca de tiempo en milisegundos para los segmentos de audio y vídeo
  + `x-amz-bedrock-kb-chunk-end-time-in-millis`: Finaliza la marca de tiempo en milisegundos para los segmentos de audio y vídeo
  + `x-amz-bedrock-kb-source-file-mime-type`: tipo MIME del archivo fuente
  + `x-amz-bedrock-kb-source-file-modality`: Modalidad del archivo fuente (TEXTO, IMAGEN, AUDIO, VÍDEO)

**importante**  
Las aplicaciones deben usar las marcas de tiempo proporcionadas para extraer y reproducir segmentos específicos de los archivos de audio y vídeo. La base de conocimientos devuelve referencias a archivos completos, no a clips presegmentados.

# Solución de problemas: bases de conocimiento multimodales
<a name="kb-multimodal-troubleshooting"></a>

Esta sección proporciona orientación para resolver los problemas más comunes que surgen al trabajar con bases de conocimiento multimodales. La información sobre la solución de problemas está organizada en función de las limitaciones generales, los escenarios de error más comunes, con sus causas y soluciones, y las recomendaciones de optimización del rendimiento. Utilice esta información para diagnosticar y resolver problemas durante la configuración, la ingesta o la consulta del contenido multimodal.

## Limitaciones generales
<a name="kb-multimodal-general-limitations"></a>

Tenga en cuenta estas limitaciones actuales cuando trabaje con bases de conocimiento multimodales:
+ **Límites de tamaño de archivo:** 1,5 GB como máximo por archivo de vídeo, 1 GB por archivo de audio (Nova Multimodal Embeddings) o 1,5 GB por archivo (BDA)
+ **Archivos por trabajo de ingestión: máximo 15 000 archivos por trabajo** (Nova Multimodal Embeddings) o 1000 archivos por trabajo (BDA)
+ **Límites de consultas:** máximo una imagen por consulta
+ **Restricciones de fuentes de datos:** solo Amazon S3 y las fuentes de datos personalizadas admiten contenido multimodal
+ **Limitaciones de fragmentación de BDA:** cuando se utiliza Bedrock Data Automation con una segmentación de tamaño fijo, los ajustes de porcentaje de superposición no se aplican al contenido de audio y vídeo
+ Límites de **trabajos simultáneos de BDA: límite** predeterminado de 20 trabajos de BDA simultáneos. Para el procesamiento a gran escala, considere solicitar un aumento de la cuota de servicio
+ **Limitaciones del modelo de reordenamiento:** los modelos de reordenamiento no son compatibles con el contenido multimodal
+ **Limitaciones de resumen:** no se admite el resumen de las respuestas de recuperación que contienen contenido no textual
+ **Limitaciones de entrada de consultas:** actualmente no se admiten entradas que contengan texto e imagen. Puede utilizar consultas de texto o imágenes, pero no ambas a la vez.
+ **Filtros de contenido de imagen de barandilla:** cuando se utilizan consultas de imágenes con una barandilla que tiene filtros de contenido de imagen configurados, la imagen de entrada se evaluará comparándola con la barandilla y es posible que se bloquee si infringe los umbrales de filtro configurados
+ La **entrada y el tipo no coinciden:** de forma predeterminada, se asume que la entrada es texto cuando no se especifica el tipo. Cuando utilice modalidades distintas del texto, debe especificar el tipo correcto

## Errores y soluciones comunes
<a name="kb-multimodal-common-errors"></a>

Si tiene problemas con su base de conocimientos multimodal, revise estos escenarios comunes:

**Error de 4 veces al utilizar consultas de imágenes.**  
**Causa:** se intenta utilizar consultas de imágenes con modelos de incrustación de solo texto o bases de conocimiento procesadas por BDA.  
**Solución:** elija Amazon Nova Multimodal Embeddings al crear su base de conocimientos para la compatibilidad con las consultas de imágenes.

**RAG devuelve un error de 4 veces mayor con contenido multimodal**  
**Causa:** se usa `RetrieveAndGenerate` con una base de conocimientos que contiene solo contenido multimodal y el modelo Amazon Nova Multimodal Embeddings.  
**Solución:** utilice el analizador BDA para la funcionalidad RAG o asegúrese de que su base de conocimientos contenga contenido textual.

**Error requerido en el destino del almacenamiento multimodal**  
**Causa:** uso de Nova Multimodal Embeddings sin configurar un destino de almacenamiento multimodal.  
**Solución:** especifique un destino de almacenamiento multimodal cuando utilice Nova Multimodal Embeddings.

**La fuente de datos y el almacenamiento multimodal utilizan el mismo depósito de S3**  
**Causa:** configurar la fuente de datos y el destino de almacenamiento multimodal para usar el mismo bucket de Amazon S3 sin los prefijos de inclusión adecuados.  
**Solución:** utilice depósitos separados para la fuente de datos y el almacenamiento multimodal, o configure los prefijos de inclusión para evitar volver a ingerir los archivos multimedia extraídos.

**El prefijo de inclusión no puede empezar por «aws/»**  
**Causa:** usar un prefijo de inclusión que comience por «aws/» cuando la fuente de datos y el destino de almacenamiento multimodal comparten el mismo bucket de Amazon S3.  
**Solución:** especifique un prefijo de inclusión diferente. La ruta «aws/» está reservada para el almacenamiento multimedia extraído y no se puede utilizar como prefijo de inclusión para evitar volver a ingerir el contenido procesado.

**La ingestión de BDA omite el contenido multimodal**  
**Causa: la** base de conocimientos se creó sin un destino de almacenamiento multimodal y, a continuación, se agregó la fuente de datos BDA con contenido multimodal.  
**Solución:** vuelva a crear la base de conocimientos con un destino de almacenamiento multimodal configurado para permitir el procesamiento BDA de archivos de audio, vídeo e imagen.

**Base de conocimientos creada sin un modelo de incrustación multimodal**  
**Causa: la** base de conocimientos se creó con un modelo de incrustación de solo texto, lo que limita las capacidades multimodales.  
**Solución:** cree una nueva base de conocimientos con Nova Multimodal Embeddings para permitir el procesamiento multimodal nativo y las consultas basadas en imágenes.

## Gestión de datos transitorios con las políticas de ciclo de vida de Amazon S3
<a name="kb-multimodal-lifecycle-policy"></a>

Al utilizar Nova Multimodal Embeddings, Amazon Bedrock almacena los datos transitorios en el destino de almacenamiento multimodal e intenta eliminarlos una vez finalizado el procesamiento. Recomendamos aplicar una política de ciclo de vida a la ruta de datos transitorios para garantizar que caduque correctamente.

------
#### [ Console ]

**Para crear una regla de ciclo de vida mediante la consola**

1. Abra la [consola de Amazon S3](https://console.aws.amazon.com/s3).

1. Navegue hasta el destino de almacenamiento multimodal que ha configurado para su base de conocimientos.

1. Elija la pestaña **Administración** y seleccione **Crear regla de ciclo de vida**.

1. En el **nombre de la regla del ciclo** de vida, introduzca**Transient Data Deletion**.

1. En **Tipo de filtro**, elija **Limitar el alcance de esta regla mediante uno o más filtros**.

1. En **Prefijo**, introduzca la ruta de datos transitoria para la base de conocimientos y la fuente de datos.

   Sustituya los valores de los marcadores de posición del siguiente prefijo por sus identificadores reales:

   ```
   aws/bedrock/knowledge_bases/knowledge-base-id/data-source-id/transient_data
   ```
**importante**  
No aplique políticas de ciclo de vida a todo el segmento ni al prefijo «aws/», ya que esto eliminará el contenido multimodal y provocará errores en la recuperación. Utilice únicamente la ruta de datos transitorios específica que se muestra arriba.

1. En **Acciones de las reglas del ciclo** de vida, selecciona **Expirar las versiones actuales de los objetos**.

1. En **Días después de la creación del objeto**, introduzca**1**.

1. Seleccione **Creación de regla**.

------
#### [ AWS CLI ]

**Para crear una regla de ciclo de vida mediante el AWS CLI**

1. Cree un archivo JSON denominado `lifecycle-policy.json` con el siguiente contenido.

   Sustituya los valores de los marcadores de posición por sus identificadores reales:
   + *knowledge-base-id*- El identificador de su base de conocimientos
   + *data-source-id*- Su identificador de fuente de datos

   ```
   {
       "Rules": [
           {
               "ID": "TransientDataDeletion",
               "Status": "Enabled",
               "Filter": {
                   "Prefix": "aws/bedrock/knowledge_bases/knowledge-base-id/data-source-id/transient_data"
               },
               "Expiration": {
                   "Days": 1
               }
           }
       ]
   }
   ```

1. Aplique la política de ciclo de vida a su depósito. Sustituya *your-multimodal-storage-bucket* por el nombre real del bucket:

   ```
   aws s3api put-bucket-lifecycle-configuration \
       --bucket your-multimodal-storage-bucket \
       --lifecycle-configuration file://lifecycle-policy.json
   ```

1. Compruebe que se haya aplicado la política de ciclo de vida:

   ```
   aws s3api get-bucket-lifecycle-configuration \
       --bucket your-multimodal-storage-bucket
   ```

------

Para obtener más información sobre las políticas del ciclo de vida de Amazon S3, consulte [Administrar el ciclo de vida de los objetos](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html) en la *Guía del usuario de Amazon S3*.

## Consideraciones sobre el rendimiento
<a name="kb-multimodal-performance-considerations"></a>

Para obtener un rendimiento óptimo con su base de conocimientos multimodal, tenga en cuenta los siguientes factores:
+ **Tiempo de procesamiento: el** procesamiento de BDA tarda más debido a la conversión del contenido
+ **Latencia de consulta:** las consultas de imágenes pueden tener una latencia mayor que las consultas de texto
+ **Duración de la fragmentación:** las duraciones más largas de los fragmentos de audio/vídeo aumentan el tiempo de procesamiento, pero pueden mejorar la precisión

# Creación de una base de conocimiento conectándose a un almacén de datos estructurados
<a name="knowledge-base-build-structured"></a>

Bases de conocimiento de Amazon Bedrock le permite conectarse a almacenes de datos estructurados, que contienen datos que se ajustan a un esquema predefinido. Entre los ejemplos de datos estructurados se incluyen las tablas y las bases de datos. Bases de conocimiento de Amazon Bedrock puede convertir las consultas de los usuarios en un lenguaje adecuado para extraer datos de los almacenes de datos estructurados compatibles. Luego, puede usar la consulta convertida para recuperar los datos relevantes para la consulta y generar las respuestas adecuadas. Esto le permite utilizar los datos estructurados existentes directamente sin tener que convertirlos a un formato diferente ni generar sus propias consultas SQL.

Tras configurar la base de conocimiento, puede enviar consultas para recuperar datos de la misma mediante la operación [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html) o generar respuestas a partir de los datos recuperados mediante la operación [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html). Estas operaciones convierten de forma subyacente las consultas de los usuarios en consultas adecuadas para el almacén de datos estructurados conectado a la base de conocimiento.

También tiene la opción de convertir las consultas independientemente de la recuperación de datos con la operación de la API [GenerateQuery](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GenerateQuery.html). Esta operación convierte las consultas de lenguaje natural en consultas SQL adecuadas para el origen de datos que se va a consultar. Puede utilizar esta operación de forma independiente e insertarla en su flujo de trabajo.

Seleccione un tema para obtener información sobre los requisitos previos y el proceso para conectar su base de conocimiento a un almacén de datos estructurados.

**Topics**
+ [Configuración del motor de consultas y los permisos para crear una base de conocimiento con un almacén de datos estructurados](knowledge-base-prereq-structured.md)
+ [Creación de una base de conocimiento conectándola a un almacén de datos estructurados](knowledge-base-structured-create.md)
+ [Sincronización del almacén de datos estructurados con su base de conocimiento de Amazon Bedrock](kb-data-source-structured-sync-ingest.md)

# Configuración del motor de consultas y los permisos para crear una base de conocimiento con un almacén de datos estructurados
<a name="knowledge-base-prereq-structured"></a>

En este tema se describen los permisos que necesita para conectar su base de conocimiento a un almacén de datos estructurados. Si planea conectar una base de conocimiento de Amazon Bedrock a un almacén de datos estructurados, debe cumplir los requisitos previos. Para conocer los requisitos generales de permisos que deben cumplirse, consulte [Configuración de los permisos de un usuario o rol para crear y administrar bases de conocimiento](knowledge-base-prereq-permissions-general.md).

**importante**  
La ejecución de consultas SQL arbitrarias puede suponer un riesgo de seguridad para cualquier Text-to-SQL aplicación. Le recomendamos que tome las precauciones necesarias, como utilizar roles restringidos, bases de datos de solo lectura y entornos de pruebas.

Bases de conocimiento de Amazon Bedrock utiliza Amazon Redshift como el motor de consultas para consultar el almacén de datos. Un motor de consultas accede a los metadatos de un almacén de datos estructurados y los utiliza para ayudar a generar consultas SQL. Amazon Redshift es un servicio de almacén de datos que usa SQL para analizar datos estructurados en almacenes de datos, bases de datos y lagos de datos.

## Creación del motor de consultas de Amazon Redshift
<a name="kb-query-engine-setup-create"></a>

Puede usar Amazon Redshift sin servidor o Amazon Redshift aprovisionado, según su caso de uso y conectarse a grupos de trabajo o clústeres para el almacén de datos. Los datos subyacentes que el motor Amazon Redshift puede consultar pueden ser datos almacenados de forma nativa en clústeres de Amazon Redshift o datos ubicados de forma predeterminada AWS Glue Data Catalog (como en Amazon S3, entre otros).

Puede omitir este requisito previo si ya ha creado un motor de consultas. De lo contrario, realice los siguientes pasos para configurar su motor de consultas de Amazon Redshift aprovisionado o Amazon Redshift sin servidor:

**Cómo configurar un motor de consultas en Amazon Redshift aprovisionado**

1. Siga el procedimiento de [Paso 1: creación de un clúster de Amazon Redshift de ejemplo](https://docs.aws.amazon.com/redshift/latest/gsg/new-user.html#rs-gsg-launch-sample-cluster) de la Guía de introducción a Amazon Redshift.

1. Anote el ID del clúster.

1. (Opcional) Para obtener más información acerca de los clústeres aprovisionados de Amazon Redshift, consulte [Clústeres aprovisionados de Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) en la Guía de administración de Amazon Redshift.

**Cómo configurar un motor de consultas en Amazon Redshift sin servidor**

1. Siga únicamente el procedimiento de configuración que se describe en [Creación de un almacén de datos con Amazon Redshift sin servidor](https://docs.aws.amazon.com/redshift/latest/gsg/new-user-serverless.html#serverless-console-resource-creation) de la Guía de introducción a Amazon Redshift y configúrelo con los ajustes predeterminados.

1. Anote el ARN del grupo de trabajo.

1. (Opcional) Para obtener más información sobre los grupos de trabajo de Amazon Redshift sin servidor, consulte [Grupos de trabajo y espacios de nombres](https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-workgroup-namespace.html) en la Guía de administración de Amazon Redshift.

## Configuración de los permisos del motor de consultas de Amazon Redshift
<a name="kb-query-engine-setup-redshift-permissions"></a>

En función del motor de consultas de Amazon Redshift que elija, puede configurar determinados permisos. Los permisos que configure dependen del método de autenticación. En la siguiente tabla se muestran los métodos de autenticación que se pueden usar para los distintos motores de consultas:


****  

| Método de autenticación | Amazon Redshift aprovisionado | Amazon Redshift sin servidor | 
| --- | --- | --- | 
| IAM | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/icons/icon-yes.png)Sí | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/icons/icon-yes.png)Sí | 
| Nombre de usuario de la base de datos | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/icons/icon-yes.png)Sí | ![\[Red circular icon with an X symbol, indicating cancellation or denial.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/icons/icon-no.png)No | 
| AWS Secrets Manager | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/icons/icon-yes.png)Sí | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/icons/icon-yes.png)Sí | 

Bases de conocimiento de Amazon Bedrock utiliza un [rol de servicio](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) para conectar las bases de conocimiento con los almacenes de datos estructurados, recuperar datos de estos almacenes de datos y generar consultas SQL basadas en las consultas de los usuarios y la estructura de los almacenes de datos.

**nota**  
Si piensa utilizar el Consola de administración de AWS para crear una base de conocimientos, puede omitir este requisito previo. La consola creará un rol de servicio de Bases de conocimiento de Amazon Bedrock con los permisos adecuados.

Para crear un rol de servicio de IAM personalizado con los permisos adecuados, siga los pasos que se indican en [Creación de un rol para delegar permisos a un Servicio de AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) y asocie la relación de confianza definida en [Relación de confianza](kb-permissions.md#kb-permissions-trust).

A continuación, añada permisos para que su base de conocimiento pueda acceder al motor de consultas y a las bases de datos de Amazon Redshift. Amplíe la sección que se corresponda con su caso de uso:

### Su motor de consultas está aprovisionado por Amazon Redshift
<a name="w2aac28c10c27c13c11c15b1"></a>

Asocie la siguiente política a su rol de servicio personalizado para que pueda acceder a sus datos y generar consultas con ellos:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RedshiftDataAPIStatementPermissions",
            "Effect": "Allow",
            "Action": [
                "redshift-data:GetStatementResult",
                "redshift-data:DescribeStatement",
                "redshift-data:CancelStatement"
            ],
            "Resource": [
                "*"
            ],
            "Condition": {
                "StringEquals": {
                    "redshift-data:statement-owner-iam-userid": "${aws:userid}"
                }
            }
        },
        {
            "Sid": "RedshiftDataAPIExecutePermissions",
            "Effect": "Allow",
            "Action": [
                "redshift-data:ExecuteStatement"
            ],
            "Resource": [
                "arn:aws:redshift:us-east-1:123456789012:cluster:${Cluster}"
            ]
        },
        {
            "Sid": "SqlWorkbenchAccess",
            "Effect": "Allow",
            "Action": [
                "sqlworkbench:GetSqlRecommendations",
                "sqlworkbench:PutSqlGenerationContext",
                "sqlworkbench:GetSqlGenerationContext",
                "sqlworkbench:DeleteSqlGenerationContext"
            ],
            "Resource": "*"
        },
        {
            "Sid": "GenerateQueryAccess",
            "Effect": "Allow",
            "Action": [
                "bedrock:GenerateQuery"
            ],
            "Resource": "*"
        }
    ]
}
```

------

También debe añadir permisos para permitir que su rol de servicio se autentique en el motor de consultas. Amplíe una sección para ver los permisos de ese método.

------
#### [ IAM ]

Para que su rol de servicio pueda autenticarse en su motor de consultas aprovisionado por Amazon Redshift con IAM, asocie la siguiente política a su rol de servicio personalizado:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "GetCredentialsWithFederatedIAMCredentials",
            "Effect": "Allow",
            "Action": "redshift:GetClusterCredentialsWithIAM",
            "Resource": [
                "arn:aws:redshift:us-east-1:123456789012:dbname:Cluster/database"
            ]
        }
    ]
}
```

------

------
#### [ Database user ]

Para autenticarse como usuario de la base de datos de Amazon Redshift, asocie la siguiente política al rol de servicio:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "GetCredentialsWithClusterCredentials",
            "Effect": "Allow",
            "Action": [
                "redshift:GetClusterCredentials"
            ],
            "Resource": [
                "arn:aws:redshift:us-east-1:123456789012:dbuser:${cluster}/${dbuser}",
                "arn:aws:redshift:us-east-1:123456789012:dbname:${cluster}/${database}"
            ]
        }
    ]
}
```

------

------
#### [ AWS Secrets Manager ]

Para permitir que su rol de servicio se autentique en el motor de consultas aprovisionado por Amazon Redshift con AWS Secrets Manager un secreto, haga lo siguiente:
+ Asocie la política siguiente al rol:

  ```
  {
      "Version": "2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "GetSecretPermissions",
              "Effect": "Allow",
              "Action": [
                  "secretsmanager:GetSecretValue"
              ],
              "Resource": [
                  "arn:aws:secretsmanager:${region}:${account}:secret:${secretName}"
              ]
          }
      ]
  }
  ```

------

### Su motor de consultas es Amazon Redshift sin servidor
<a name="w2aac28c10c27c13c11c15b3"></a>

Los permisos que se pueden asociar dependen del método de autenticación. Amplíe una sección para ver los permisos de ese método.

------
#### [ IAM ]

Para que su rol de servicio pueda autenticarse en su motor de consultas de Amazon Redshift sin servidor con IAM, asocie la siguiente política a su rol de servicio personalizado:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RedshiftServerlessGetCredentials",
            "Effect": "Allow",
            "Action": "redshift-serverless:GetCredentials",
            "Resource": [
                "arn:aws:redshift-serverless:us-east-1:123456789012:workgroup/WorkgroupId"
            ]
        }
    ]
}
```

------

------
#### [ AWS Secrets Manager ]

Para permitir que su rol de servicio se autentique en el motor de consultas aprovisionado por Amazon Redshift con AWS Secrets Manager un secreto, haga lo siguiente:
+ Asocie la política siguiente al rol:

  ```
  {
      "Version": "2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "GetSecretPermissions",
              "Effect": "Allow",
              "Action": [
                  "secretsmanager:GetSecretValue"
              ],
              "Resource": [
                  "arn:aws:secretsmanager:${region}:${account}:secret:${secretName}"
              ]
          }
      ]
  }
  ```

------

## Autorización para que el rol de servicio de la base de conocimiento acceda a su almacén de datos
<a name="knowledge-base-prereq-structured-db-access"></a>

Asegúrese de que sus datos estén almacenados en uno de los siguientes [almacenes de datos estructurados compatibles](knowledge-base-structured-create.md):
+ Amazon Redshift
+ AWS Glue Data Catalog (AWS Lake Formation)

En la siguiente tabla se resumen los métodos de autenticación disponibles para el motor de consultas, en función del almacén de datos:


****  

| Método de autenticación | Amazon Redshift | AWS Glue Data Catalog (AWS Lake Formation) | 
| --- | --- | --- | 
| IAM | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/icons/icon-yes.png)Sí | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/icons/icon-yes.png)Sí | 
| Nombre de usuario de la base de datos | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/icons/icon-yes.png)Sí | ![\[Red circular icon with an X symbol, indicating cancellation or denial.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/icons/icon-no.png)No | 
| AWS Secrets Manager | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/icons/icon-yes.png)Sí | ![\[Red circular icon with an X symbol, indicating cancellation or denial.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/icons/icon-no.png)No | 

Para obtener información sobre cómo configurar los permisos para que su rol de servicio de Bases de conocimiento de Amazon Bedrock acceda al almacén de datos y genere consultas basadas en dicho almacén, amplíe la sección correspondiente al servicio en el que se encuentra su almacén de datos:

### Amazon Redshift
<a name="w2aac28c10c27c13c13c13b1"></a>

Para conceder a su rol de servicio de Bases de conocimiento de Amazon Bedrock acceso a su base de datos de Amazon Redshift, utilice el [editor de consultas v2 de Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/query-editor-v2.html) y ejecute los siguientes comandos SQL:

1. (Si se autentica con IAM y aún no se ha creado un usuario para la base de datos) Ejecute el siguiente comando, que utiliza CREATE USER para [crear un usuario](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_USER.html) de base de datos y permitir que se autentique a través de IAM, sustituyéndolo *\$1\$1service-role\$1* por el nombre del rol de servicio personalizado de Amazon Bedrock Knowledge Bases que creó:

   ```
   CREATE USER "IAMR:${service-role}" WITH PASSWORD DISABLE;
   ```
**importante**  
Si utiliza el rol de servicio de Bases de conocimiento de Amazon Bedrock creado para usted en la consola y, a continuación, [sincroniza el almacén de datos](kb-data-source-structured-sync-ingest.md) antes de realizar este paso, se creará el usuario automáticamente, pero la sincronización fallará porque no se le han concedido permisos para acceder a su almacén de datos. Debe realizar el siguiente paso antes de la sincronización.

1. Otorgue permisos de identidad para recuperar información de su base de datos ejecutando el comando [GRANT](https://docs.aws.amazon.com/redshift/latest/dg/r_GRANT.html).

------
#### [ IAM ]

   ```
   GRANT SELECT ON ALL TABLES IN SCHEMA ${schemaName} TO "IAMR:${serviceRole}";
   ```

------
#### [ Database user ]

   ```
   GRANT SELECT ON ALL TABLES IN SCHEMA ${schemaName} TO "${dbUser}";
   ```

------
#### [ AWS Secrets Manager username ]

   ```
   GRANT SELECT ON ALL TABLES IN SCHEMA ${schemaName} TO "${secretsUsername}";
   ```

------
**importante**  
No conceda acceso `CREATE`, `UPDATE` ni `DELETE`. La concesión de estas acciones puede provocar una modificación no intencionada de sus datos.

   Para tener un control más preciso de las tablas a las que se puede acceder, puede sustituir los nombres `ALL TABLES` específicos de las tablas por la siguiente notación:. *\$1\$1schemaName\$1* *\$1\$1tableName\$1* Para obtener más información sobre esta notación, consulte la sección **Objetos de consulta** en [Consultas entre bases de datos](https://docs.aws.amazon.com/redshift/latest/dg/cross-database-overview.html).

------
#### [ IAM ]

   ```
   GRANT SELECT ON ${schemaName}.${tableName} TO "IAMR:${serviceRole}";
   ```

------
#### [ Database user ]

   ```
   GRANT SELECT ON ${schemaName}.${tableName} TO "${dbUser}";
   ```

------
#### [ AWS Secrets Manager username ]

   ```
   GRANT SELECT ON ${schemaName}.${tableName} TO "${secretsUsername}";
   ```

------

1. Si ha creado un esquema nuevo en la base de datos de Redshift, ejecute el siguiente comando para conceder permisos de identidad para el nuevo esquema.

   ```
   GRANT USAGE ON SCHEMA ${schemaName} TO "IAMR:${serviceRole}";
   ```

### AWS Glue Data Catalog
<a name="w2aac28c10c27c13c13c13b3"></a>

Para conceder a su función de servicio de Amazon Bedrock Knowledge Bases acceso a su almacén de AWS Glue Data Catalog datos, utilice el [editor de consultas Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/query-editor-v2.html) v2 y ejecute los siguientes comandos SQL:

1. Ejecute el siguiente comando, que usa [CREATE USER para crear un usuario](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_USER.html) de base de datos y permitir que se autentique a través de IAM, sustituyéndolo *\$1\$1service-role\$1* por el nombre del rol de servicio personalizado de Amazon Bedrock Knowledge Bases que creó:

   ```
   CREATE USER "IAMR:${service-role}" WITH PASSWORD DISABLE;
   ```
**importante**  
Si utiliza el rol de servicio de Bases de conocimiento de Amazon Bedrock creado para usted en la consola y, a continuación, [sincroniza el almacén de datos](kb-data-source-structured-sync-ingest.md) antes de realizar este paso, se creará el usuario automáticamente, pero la sincronización fallará porque no se le han concedido permisos para acceder a su almacén de datos. Debe realizar el siguiente paso antes de la sincronización.

1. Otorgue permisos de rol de servicio para recuperar información de su base de datos ejecutando el comando [GRANT](https://docs.aws.amazon.com/redshift/latest/dg/r_GRANT.html):

   ```
   GRANT USAGE ON DATABASE awsdatacatalog TO "IAMR:${serviceRole}";
   ```
**importante**  
No conceda acceso `CREATE`, `UPDATE` ni `DELETE`. La concesión de estas acciones puede provocar una modificación no intencionada de sus datos.

1. Para permitir el acceso a sus AWS Glue Data Catalog bases de datos, asocie los siguientes permisos a la función de servicio:

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "VisualEditor0",
               "Effect": "Allow",
               "Action": [
                   "glue:GetDatabases",
                   "glue:GetDatabase",
                   "glue:GetTables",
                   "glue:GetTable",
                   "glue:GetPartitions",
                   "glue:GetPartition",
                   "glue:SearchTables"
               ],
               "Resource": [
                   "arn:aws:glue:us-east-1:123456789012:table/${DatabaseName}/${TableName}",
                   "arn:aws:glue:us-east-1:123456789012:database/${DatabaseName}",
                   "arn:aws:glue:us-east-1:123456789012:catalog"
               ]
           }
       ]
   }
   ```

------

1. Otorgue permisos a su función de servicio de la siguiente manera AWS Lake Formation (para obtener más información sobre Lake Formation y su relación con Amazon Redshift, consulte [Fuentes de datos de Redshift](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-source.html)):

   1. Inicie sesión en y abra la Consola de administración de AWS consola de Lake Formation en [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

   1. En el panel de navegación izquierdo, seleccione **Permisos de datos**.

   1. Conceda permisos al rol de servicio que está utilizando para Bases de conocimiento de Amazon Bedrock.

   1. Conceda los permisos **Describe** y **Select** para sus bases de datos y tablas.

1. En función de la fuente de datos que utilice AWS Glue Data Catalog, es posible que necesite añadir permisos para acceder a esa fuente de datos (para obtener más información, consulte la sección [sobre la AWS Glue dependencia de otras](https://docs.aws.amazon.com/glue/latest/dg/dependency-on-other-services.html) fuentes Servicios de AWS). Por ejemplo, si su origen de datos se encuentra en una ubicación de Amazon S3, tendrá que añadir la siguiente instrucción a la política anterior.

   ```
   {
       "Sid": "Statement1",
       "Effect": "Allow",
       "Action": [
           "s3:ListBucket",
           "s3:GetObject"
       ],
       "Resource": [
           "arn:aws:s3:::${BucketName}",
           "arn:aws:s3:::${BucketName}/*"
       ]
   }
   ```

1. (Opcional) Si lo utiliza AWS KMS para cifrar los datos en Amazon S3 o AWS Glue Data Catalog, entonces necesita añadir permisos al rol para descifrar los datos de la clave de KMS.

   ```
   {
       "Action": [
           "kms:Decrypt"
       ],
       "Resource": [
           "arn:aws:kms:${Region}:${Account}:key/{KmsId}",
           "arn:aws:kms:${Region}:${Account}:key/{KmsId}"
       ],
       "Effect": "Allow"
   }
   ```

# Creación de una base de conocimiento conectándola a un almacén de datos estructurados
<a name="knowledge-base-structured-create"></a>

Para conectar una base de conocimiento a un almacén de datos estructurados, debe especificar los siguientes componentes:
+ 

**Configuración del motor de consultas**  
La configuración del servicio de computación que ejecutará las consultas SQL generadas El motor de consultas se utiliza para convertir las consultas de los usuarios en lenguaje natural en consultas SQL que se pueden utilizar para extraer datos del almacén de datos. Puede elegir Amazon Redshift como motor de consultas. Al elegir esta configuración, debe especificar:
  + Los metadatos de la conexión del recurso de computación, como el ID del clúster o el ARN del grupo de trabajo, según el motor de consultas elegido.
  + El método de autenticación para utilizar el motor de consultas, que puede consistir en utilizar un rol de servicio de IAM con los permisos adecuados, un usuario de la base de datos del motor de consultas o un AWS Secrets Manager secreto vinculado a las credenciales de la base de datos.
+ 

**Configuración de almacenamiento**  
La configuración del almacén de datos que contiene los datos. Puede conectarse a Amazon Redshift Provisioned o Amazon Redshift Serverless y usar Amazon Redshift o como almacén de datos. AWS Glue Data Catalog 
+ 

**(Opcional) Configuraciones de consulta**  
Puede usar configuraciones de consulta opcionales para mejorar la precisión de la generación de SQL:
  + **Tiempo máximo de consulta**: la cantidad de tiempo después del cual se agota el tiempo de espera de la consulta.
  + **Descripciones**: proporciona metadatos o información complementaria sobre tablas o columnas. Puede incluir descripciones de las tablas o columnas, notas de uso o cualquier atributo adicional. Las descripciones que agregue pueden mejorar la generación de consultas SQL al proporcionar contexto e información adicionales sobre la estructura de las tablas o columnas.
  + **Inclusiones y exclusiones**: especifica un conjunto de tablas o columnas que se van a incluir o excluir para la generación de SQL. Este campo es crucial si desea limitar el alcance de las consultas SQL a un subconjunto definido de tablas o columnas disponibles. Esta opción puede ayudar a optimizar el proceso de generación al reducir las referencias innecesarias de tablas o columnas.

    Si especifica inclusiones, se ignoran todas las demás tablas y columnas. Si especifica exclusiones, se ignoran las tablas y columnas que especifique.
**nota**  
Las inclusiones y exclusiones no sustituyen a las barreras de protección y solo están pensadas para mejorar la precisión del modelo.
  + **Consultas preparadas**: un conjunto de ejemplos predefinidos de preguntas y respuestas. Las preguntas se escriben como consultas en lenguaje natural (NLQ) y las respuestas son la consulta SQL correspondiente. Estos ejemplos ayudan al proceso de generación de SQL al proporcionar ejemplos de los tipos de consultas que se deben generar. Sirven como puntos de referencia para mejorar la precisión y la relevancia de las salidas de SQL generativo.

Amplíe la sección que se corresponda con su caso de uso:

## Uso de la consola
<a name="knowledge-base-structured-create-console"></a>

Para conectarse a un almacén de datos estructurado mediante el Consola de administración de AWS, haga lo siguiente:

1. Inicie sesión Consola de administración de AWS con una identidad de IAM que tenga permisos para usar la consola Amazon Bedrock. A continuación, abra la consola de Amazon Bedrock en [https://console.aws.amazon.com/bedrock.](https://console.aws.amazon.com/bedrock)

1. En el panel de navegación izquierdo, elija **Bases de conocimientos**.

1. En la sección **Bases de conocimientos**, elija **Crear** y, a continuación, elija **Base de conocimientos con almacén de datos estructurados**.

1. Configure los siguientes detalles para la base de conocimiento:

   1. (Opcional) Cambie el nombre predeterminado y proporcione una descripción para la base de conocimiento.

   1. Seleccione el motor de consultas que se utilizará para recuperar los datos del almacén de datos.

   1. Elija un rol de servicio de IAM con los permisos adecuados para crear y administrar esta base de conocimiento. Puede dejar que Amazon Bedrock cree el rol de servicio o elegir un rol personalizado que haya creado. Para obtener más información sobre cómo crear un rol personalizado, consulte [Configuración del motor de consultas y los permisos para crear una base de conocimiento con un almacén de datos estructurados](knowledge-base-prereq-structured.md).

   1. (Opcional) Añada etiquetas para asociarlas a la base de conocimiento. Para obtener más información, consulte [Etiquetado de los recursos de Amazon Bedrock](tagging.md).

   1. Elija **Siguiente**.

1. Configure su motor de consultas:

   1. Seleccione el servicio en el que creó un clúster o un grupo de trabajo. A continuación, elija el clúster o grupo de trabajo que desea usar.

   1. Seleccione el método de autenticación y proporcione los campos necesarios.

   1. Seleccione el almacén de datos en el que desea almacenar los metadatos. A continuación, elija o escriba el nombre de la base de datos.

   1. (Opcional) Modifique las configuraciones de consulta según sea necesario. Consulte el principio de este tema para obtener más información sobre las diferentes configuraciones.

   1. Elija **Siguiente**.

1. Revise las configuraciones de la base de conocimiento y edite las secciones según sea necesario. Confirme la operación para crear su base de conocimiento.

## Uso de la API de
<a name="knowledge-base-structured-create-api"></a>

Para conectarse a un almacén de datos estructurado mediante la API de Amazon Bedrock, envíe una [CreateKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html)solicitud con un [punto final de tiempo de compilación de Agents for Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) con el siguiente cuerpo de solicitud general:

```
{
    "name": "string",
    "roleArn": "string",
    "knowledgeBaseConfiguration": {
        "type": "SQL",
        "sqlKnowledgeBaseConfiguration": [SqlKnowledgeBaseConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_SqlKnowledgeBaseConfiguration.html)
    },
    "description": "string",
    "clientToken": "string",
    "tags": {
        "string": "string"
    }
}
```

Los siguientes campos son obligatorios:


****  

| Campo | Descripción básica | 
| --- | --- | 
| Name | Un nombre para la base de conocimiento | 
| roleArn | Un [rol de servicio de la base de conocimiento](kb-permissions.md) con los permisos adecuados. Puede utilizar la consola para crear un rol de servicio de forma automática con los permisos adecuados. | 
| knowledgeBaseConfiguration | Contiene configuraciones para la base de conocimiento. Para una base de datos estructurados, especifique SQL como type e incluya el campo sqlKnowledgeBaseConfiguration. | 

Los siguientes campos son opcionales.


****  

| Campo | Uso | 
| --- | --- | 
| description | Incluir una descripción de la base de conocimiento. | 
| clientToken | Para garantizar que la solicitud de la API se complete solo una vez. Para obtener más información, consulte [Ensuring idempotency](https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html). | 
| etiquetas | Para asociar etiquetas con el flujo. Para obtener más información, consulte [Etiquetado de los recursos de Amazon Bedrock](tagging.md). | 

`SQLKnowledgeBaseConfiguration` depende del motor de consultas que utilice. Para Amazon Redshift, especifique el `type` campo como `REDSHIFT` e inclúyalo`redshiftConfiguration`, que se asigna a. [RedshiftConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftConfiguration.html) Para el [RedshiftConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftConfiguration.html), debe configurar los siguientes campos:

### queryEngineConfiguration
<a name="w2aac28c10c27c15b9b3c17b1"></a>

Puede configurar los siguientes tipos de motor de consultas:

#### Amazon Redshift aprovisionado
<a name="w2aac28c10c27c15b9b3c17b1b5b1"></a>

Si las bases de datos de Amazon Redshift se aprovisionan en nodos de procesamiento dedicados, el valor del `queryEngineConfiguration` campo debe tener [RedshiftQueryEngineConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftQueryEngineConfiguration.html)el siguiente formato:

```
{
    "type": "PROVISIONED",
    "provisionedConfiguration": {
        "clusterIdentifier": "string",
        "authConfiguration": [RedshiftProvisionedAuthConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftProvisionedAuthConfiguration.html)
    },
}
```

Especifique el ID del clúster en el campo `clusterIdentifier`. [RedshiftProvisionedAuthConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftProvisionedAuthConfiguration.html)Depende del tipo de autorización que utilice. Seleccione la pestaña que coincida con su método de autorización:

------
#### [ IAM role ]

Si realiza la autorización con su rol de IAM, solo debe especificar `IAM` como el tipo en [RedshiftProvisionedAuthConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftProvisionedAuthConfiguration.html) sin campos adicionales.

```
{
    "type": "IAM"
}
```

------
#### [ Temporary credentials user name ]

Si realiza la autorización con el nombre de usuario de la base de datos, especifique `type` como `USERNAME` y especifique el nombre de usuario en el campo `databaseUser` en `RedshiftProvisionedAuthConfig`:

```
{
    "type": "USERNAME",
    "databaseUser": "string"
}
```

------
#### [ AWS Secrets Manager ]

Si autoriza con AWS Secrets Manager, especifique el `type` as `USERNAME_PASSWORD` y el ARN del secreto en el `usernamePasswordSecretArn` campo de: `RedshiftProvisionedAuthConfig`

```
{
    "type": "USERNAME_PASSWORD",
    "usernamePasswordSecretArn": "string"
}
```

------

#### Amazon Redshift sin servidor
<a name="w2aac28c10c27c15b9b3c17b1b5b3"></a>

Si utiliza Amazon Redshift Serverless, el valor del `queryConfiguration` campo debe tener el siguiente [RedshiftQueryEngineConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftQueryEngineConfiguration.html)formato:

```
{
    "type": "SERVERLESS",
    "serverlessConfiguration": {
        "workgroupArn": "string",
        "authConfiguration": 
    }
}
```

Especifique el ARN de su grupo de trabajo en el campo `workgroupArn`. [RedshiftServerlessAuthConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftServerlessAuthConfiguration.html)Depende del tipo de autorización que utilice. Seleccione la pestaña que coincida con su método de autorización:

------
#### [ IAM role ]

Si realiza la autorización con su rol de IAM, solo debe especificar `IAM` como el tipo en `RedshiftServerlessAuthConfiguration` sin campos adicionales.

```
{
    "type": "IAM"
}
```

------
#### [ AWS Secrets Manager ]

Si autoriza con AWS Secrets Manager, especifique el `type` as `USERNAME_PASSWORD` y el ARN del secreto en el `usernamePasswordSecretArn` campo de: `RedshiftServerlessAuthConfiguration`

```
{
    "type": "USERNAME_PASSWORD",
    "usernamePasswordSecretArn": "string"
}
```

------

### storageConfigurations
<a name="w2aac28c10c27c15b9b3c17b3"></a>

Este campo se asigna a una matriz que contiene un único campo [RedshiftQueryEngineStorageConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftQueryEngineStorageConfiguration.html), cuyo formato depende del lugar donde estén almacenados los datos.

#### AWS Glue Data Catalog
<a name="w2aac28c10c27c15b9b3c17b3b5b1"></a>

Si los datos están almacenados en AWS Glue Data Catalog, `RedshiftQueryEngineStorageConfiguration` deben tener el siguiente formato:

```
{
    "type": "AWS_DATA_CATALOG",
    "awsDataCatalogConfiguration": {
        "tableNames": ["string"]
    }
}
```

Agregue el nombre de cada tabla a la que desee conectar su base de conocimiento en la matriz a la que se asigna `tableNames`.

**nota**  
Introduzca los nombres de las tablas siguiendo el patrón descrito en [Consultas entre bases de datos](https://docs.aws.amazon.com/redshift/latest/dg/cross-database-overview.html) (`${databaseName}.${tableName}`). Puede incluir todas las tablas especificando `${databaseName.*}`.

#### Bases de datos de Amazon Redshift
<a name="w2aac28c10c27c15b9b3c17b3b5b3"></a>

Si los datos están almacenados en una base de datos de Amazon Redshift, `RedshiftQueryEngineStorageConfiguration` debe tener el siguiente formato:

```
{
    "type": "string",
    "redshiftConfiguration": {
        "databaseName": "string"
    }
}
```

Especifique el nombre de la base de datos de Amazon Redshift en el campo `databaseName`.

**nota**  
Introduzca los nombres de las tablas siguiendo el patrón descrito en [Consultas entre bases de datos](https://docs.aws.amazon.com/redshift/latest/dg/cross-database-overview.html) (`${databaseName}.${tableName}`). Puede incluir todas las tablas especificando `${databaseName.*}`.

Si la base de datos se monta a través de Amazon SageMaker AI Lakehouse, el nombre de la base de datos estará en el formato*\$1\$1db\$1@\$1\$1schema\$1*.

### queryGenerationConfiguration
<a name="w2aac28c10c27c15b9b3c17b5"></a>

Este campo se asigna a lo siguiente, [QueryGenerationConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationConfiguration.html)que puede usar para configurar la forma en que se consultan los datos:

```
{
    "executionTimeoutSeconds": number,
    "generationContext": {
        "tables": [
            {
                "name": "string",
                "description": "string",
                "inclusion": "string",
                "columns": [
                    {
                        "name": "string",
                        "description": "string",
                        "inclusion": "string"
                    },
                    ...
                ]
            },
            ...
        ],
        "curatedQueries": [
            {
                "naturalLanguage": "string",
                "sql": "string"
            },
            ...
        ]
    }
}
```

Si desea que se agote el tiempo de espera de la consulta, especifique la duración del tiempo de espera en segundos en el campo `executionTimeoutSeconds`.

El `generationContext` campo se asigna a un [QueryGenerationContext](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationContext.html)objeto en el que puede configurar tantas de las siguientes opciones como necesite.

**importante**  
Si incluye un contexto de generación, el motor de consultas hace todo lo posible por aplicarlo al generar SQL. El contexto de generación no es determinista y solo pretende mejorar la precisión del modelo. Para garantizar la precisión, compruebe las consultas de SQL generativo.

Para obtener información sobre los contextos de generación que puede incluir, amplíe las siguientes secciones:

#### Agregación de descripciones para las tablas o columnas de la base de datos
<a name="w2aac28c10c27c15b9b3c17b5c15b1"></a>

Para mejorar la precisión de la generación de SQL para consultar la base de datos, puede proporcionar una descripción de la tabla o columna que proporcione más contexto que un nombre corto de tabla o columna. Se puede hacer lo siguiente:
+ Para añadir una descripción a una tabla, incluya un [QueryGenerationTable](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationTable.html)objeto en la `tables` matriz. En ese objeto, especifique el nombre de la tabla en el campo `name` y una descripción en el campo `description`, como en el ejemplo siguiente:

  ```
  {
      "name": "database.schema.tableA",
      "description": "Description for Table A"
  }
  ```
+ Para añadir una descripción a una columna, incluya un [QueryGenerationTable](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationTable.html)objeto en la `tables` matriz. En ese objeto, especifique el nombre de la tabla en el `name` campo e incluya el `columns` campo, que se asigna a una matriz de [QueryGenerationColumn](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationColumn.html). En un objeto `QueryGenerationColumn`, incluya el nombre de la tabla en el campo `name` y una descripción en el campo `description`, como en el ejemplo siguiente:

  ```
  {
      "name": "database.schema.tableA",
      "columns": [
          {
              "name": "Column A",
              "description": "Description for Column A"
          }
      ]
  }
  ```
+ Puede añadir una descripción para una tabla y para una columna, como en el siguiente ejemplo:

  ```
  {
      "name": "database.schema.tableA",
      "description": "Description for Table A",
      "columns": [
          {
              "name": "columnA",
              "description": "Description for Column A"
          }
      ]
  }
  ```
**nota**  
Introduzca los nombres de las tablas y columnas siguiendo el patrón descrito en [Consultas entre bases de datos](https://docs.aws.amazon.com/redshift/latest/dg/cross-database-overview.html). Si la base de datos está en AWS Glue Data Catalog, el formato es`awsdatacatalog.gluedatabase.table`.

#### Inclusión o exclusión de tablas o columnas en la base de datos
<a name="w2aac28c10c27c15b9b3c17b5c15b3"></a>

Puede sugerir tablas o columnas para incluirlas o excluirlas al generar SQL mediante el `inclusion` campo de los [QueryGenerationColumn](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationColumn.html)objetos [QueryGenerationTable](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationTable.html)y. Puede especificar uno de los siguientes valores en el campo `inclusion`:
+ INCLUIR: solo las tablas o columnas que especifique se incluyen como contexto al generar SQL.
+ EXCLUIR: las tablas o columnas que especifique se excluyen como contexto al generar SQL.

Puede especificar si desea incluir o excluir tablas o columnas de las siguientes maneras:
+ Para incluir o excluir una tabla, incluya un [QueryGenerationTable](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationTable.html)objeto en la `tables` matriz. En ese objeto, especifique el nombre de la tabla en el campo `name` y si desea incluirla o excluirla en el campo `inclusion`, como en el ejemplo siguiente:

  ```
  {
      "name": "database.schema.tableA",
      "inclusion": "EXCLUDE"
  }
  ```

  El motor de consultas no añade `Table A` en el contexto adicional para generar SQL.
+ Para incluir o excluir una columna, incluya un [QueryGenerationTable](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationTable.html)objeto en la `tables` matriz. En ese objeto, especifique el nombre de la tabla en el `name` campo e incluya el `columns` campo, que se asignará a una matriz de [QueryGenerationColumn](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationColumn.html). En un objeto `QueryGenerationColumn`, especifique el nombre de la columna en el campo `name` y si desea incluirla o excluirla en el campo `inclusion`, como en el ejemplo siguiente:

  ```
  {
      "name": "database.schema.tableA",
      "columns": [
          {
              "name": "database.schema.tableA.columnA",
              "inclusion": "EXCLUDE"
          }
      ]
  }
  ```

  La generación de SQL ignora `Column A` en `Table A` en el contexto al generar SQL.
+ Puede combinar tablas y columnas al especificar inclusiones o exclusiones, como en el siguiente ejemplo:

  ```
  {
      "name": "database.schema.tableA",
      "inclusion": "INCLUDE",
      "columns": [
          {
              "name": "database.schema.tableA.columnA",
              "inclusion": "EXCLUDE"
          }
      ]
  }
  ```

  La generación de SQL incluye `Table A`, pero excluye `Column A`, al añadir contexto para generar SQL.

**importante**  
Las exclusiones de tablas y columnas no sustituyen a las barreras de protección. Estas inclusiones y exclusiones de tablas y columnas se utilizan como contexto adicional para que el modelo lo tenga en cuenta al generar SQL.

#### Cómo proporcionar al motor de consultas ejemplos de correspondencia entre el lenguaje natural y las consultas SQL
<a name="w2aac28c10c27c15b9b3c17b5c15b5"></a>

Para mejorar la precisión de un motor de consultas a la hora de convertir las consultas de los usuarios en consultas SQL, puede proporcionarles ejemplos en el `curatedQueries` campo del [QueryGenerationContext](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationContext.html)objeto, que se asigna a una matriz de [CuratedQuery](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CuratedQuery.html)objetos. Cada objeto incluye los siguientes campos:
+ naturalLanguage: un ejemplo de consulta en lenguaje natural.
+ sql: la consulta SQL que corresponde a la consulta en lenguaje natural.

# Sincronización del almacén de datos estructurados con su base de conocimiento de Amazon Bedrock
<a name="kb-data-source-structured-sync-ingest"></a>

Tras conectar la base de conocimiento a un almacén de datos estructurados, realiza una sincronización para iniciar el proceso de ingesta de metadatos y poder recuperar los datos. Los metadatos permiten a Bases de conocimiento de Amazon Bedrock convertir las peticiones de los usuarios en una consulta para la base de datos conectada.

Siempre que realice modificaciones en el esquema de la base de datos, necesitará sincronizar los cambios.

Para obtener más información sobre cómo ingerir los datos en la base de conocimiento y sincronizarlos con los datos más recientes, seleccione la pestaña correspondiente al método que prefiera y siga estos pasos:

------
#### [ Console ]

**Ingesta de los datos en la base de conocimientos y sincronización con los datos más actuales**

1. Abra la consola de Amazon Bedrock en [https://console.aws.amazon.com/bedrock/](https://console.aws.amazon.com/bedrock/).

1. En el panel de navegación izquierdo, seleccione **Base de conocimientos** y elija su base de conocimientos.

1. En la sección **Origen de datos**, seleccione **Sincronizar** para iniciar el proceso de ingesta de metadatos. Para detener la sincronización actual de un origen de datos, seleccione **Detener**. Un origen de datos debe estar sincronizándose para poder detener la sincronización. Puede seleccionar **Sincronizar** para ingerir el resto de los datos.

1. Cuando se complete la ingesta de datos, aparecerá un banner verde de confirmación si se ha realizado correctamente.

1. Puede elegir un origen de datos para ver su **Historial de sincronización**. Seleccione **Ver advertencias** para ver por qué ha fallado un trabajo de ingesta de datos.

------
#### [ API ]

Para ingerir los datos en la base de conocimiento y sincronizarlos con los datos más recientes, envíe una solicitud [StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html) con un [punto de conexión en tiempo de compilación de Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt).

Utilice el `ingestionJobId` devuelto en la respuesta a una solicitud [GetIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetIngestionJob.html) con un [punto de conexión en tiempo de compilación de Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) para realizar un seguimiento del estado del trabajo de ingesta.

También puede ver la información de todos los trabajos de ingesta de un origen de datos enviando una solicitud [ListIngestionJobs](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListIngestionJobs.html) con un [punto de conexión en tiempo de compilación de Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt).

Para detener un trabajo de ingesta de datos que se está ejecutando actualmente, envíe una solicitud [StopIngestionJobs](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StopIngestionJob.html) con un [punto de conexión en tiempo de compilación de Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt). Puede volver a enviar una solicitud `StartIngestionJob` para ingerir el resto de los datos cuando esté listo.

------

**importante**  
Si utiliza el rol de servicio de Bases de conocimiento de Amazon Bedrock creado para usted en la consola y, a continuación, sincroniza el almacén de datos antes de conceder acceso a la base de datos al rol de autenticación que utiliza, la sincronización fallará porque no se han concedido permisos al usuario para acceder a su almacén de datos. Para obtener información sobre cómo conceder permisos a un rol para acceder a su almacén de datos, consulte [Autorización para que el rol de servicio de la base de conocimiento acceda a su almacén de datos](knowledge-base-prereq-structured.md#knowledge-base-prereq-structured-db-access).

# Creación de una base de conocimiento de Amazon Bedrock con un índice GenAI de Amazon Kendra
<a name="knowledge-base-build-kendra-genai-index"></a>

Con Bases de conocimiento de Amazon Bedrock, puede crear una base de conocimiento a partir de un índice GenAI de Amazon Kendra para crear asistentes digitales con tecnología de generación aumentada por recuperación (RAG) más sofisticados y precisos. Al combinar un índice GenAI de Amazon Kendra con Bases de conocimiento de Amazon Bedrock, puede:
+ Reutilizar el contenido indexado en varias aplicaciones de Amazon Bedrock sin tener que reconstruir los índices ni volver a ingerir los datos
+ Aprovechar las capacidades avanzadas de IA generativa de Amazon Bedrock y, al mismo tiempo, beneficiarse de la recuperación de información de alta precisión de Amazon Kendra
+ Personalizar el comportamiento de su asistente digital con las herramientas de Amazon Bedrock y, al mismo tiempo, mantener la precisión semántica de un índice GenAI de Amazon Kendra

Para obtener más información acerca de un índice GenAI de Amazon Kendra, consulte [Índice GenAI de Amazon Kendra](https://docs.aws.amazon.com/kendra/latest/dg/hiw-index-types.html#kendra-gen-ai-index) en la *Guía para desarrolladores de Amazon Kendra*.

**Topics**
+ [Creación de una base de conocimiento de Amazon Bedrock con un índice GenAI de Amazon Kendra](knowledge-base-kendra-genai-index-create.md)

# Creación de una base de conocimiento de Amazon Bedrock con un índice GenAI de Amazon Kendra
<a name="knowledge-base-kendra-genai-index-create"></a>

 Para obtener más información acerca de un índice GenAI de Amazon Kendra, consulte [Índice GenAI de Amazon Kendra](https://docs.aws.amazon.com/kendra/latest/dg/hiw-index-types.html#kendra-gen-ai-index) en la *Guía para desarrolladores de Amazon Kendra*.

Puede crear una base de conocimiento de Amazon Bedrock con un índice GenAI de Amazon Kendra mediante la consola de Amazon Bedrock o la API de Amazon Bedrock. Elija la pestaña del método que prefiera y siga estos pasos:

**nota**  
No puede crear una base de conocimiento con un usuario raíz. Antes de empezar, inicie sesión con un usuario AWS Identity and Access Management (IAM).

**importante**  
Para crear una base de conocimiento con un índice GenAI de Amazon Kendra mediante la API, debe tener un índice existente. Con la API, no puede crear un índice al mismo tiempo que crea una base de conocimiento. Si desea crear un índice al mismo tiempo que crea una base de conocimiento, debe utilizar la consola.

------
#### [ Console ]

**Cómo crear una base de conocimiento con un índice GenAI de Amazon Kendra**

1. Inicie sesión Consola de administración de AWS con una identidad de IAM que tenga permisos para usar la consola Amazon Bedrock. A continuación, abra la consola de Amazon Bedrock en [https://console.aws.amazon.com/bedrock.](https://console.aws.amazon.com/bedrock)

1. En el panel de navegación izquierdo, elija **Bases de conocimientos**.

1. En la sección **Bases de conocimientos**, elija **Crear**.

1. Elija **Base de conocimientos con el índice GenAI de Kendra**.

1. (Opcional) En **Detalles de la base de conocimientos**, introduzca el nombre predeterminado y proporcione una descripción de la base de conocimiento.

1. 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 un [rol personalizado que haya creado](kb-permissions.md).

1. Elija **Crear y usar un rol de servicio nuevo** o **Usar un rol de servicio existente**.

1. Elija **crear un nuevo índice GenAI de Amazon Kendra** o use **un índice GenAI de Amazon Kendra existente**.

1. (Opcional) En **Configuraciones adicionales**, haga lo siguiente:
   + Configure una clave AWS Key Management Service (AWS KMS) gestionada por el cliente para cifrar su base de conocimientos.
   + Añada etiquetas a la base de conocimiento. Para obtener más información, consulte [Etiquetado de los recursos de Amazon Bedrock](tagging.md).

   

   

1. 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 añadir y sincronizar un origen de datos.

1. 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](data-source-connectors.md).

------
#### [ API ]

**Cómo crear una base de conocimiento con un índice GenAI de Amazon Kendra**

Para crear una base de conocimientos, envíe una [ CreateKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html)solicitud (consulte el enlace para ver los formatos de solicitud y respuesta y los detalles de los campos) con un punto final de tiempo de [compilación de Agents for Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt).
+ En el campo `roleArn`, proporcione el Nombre de recurso de Amazon (ARN) de un rol de IAM que tenga permisos para un crear una base de conocimiento de Amazon Bedrock.
+ Debe [habilitar el acceso al modelo](model-access.md) para usar un modelo que sea compatible con las bases de conocimiento. Anote el ARN del modelo, que es necesario para convertir los datos en incrustaciones vectoriales. Copie el ID de modelo (recurso) del modelo elegido para las bases de conocimiento. A continuación, cree el ARN del modelo con el ID de modelo siguiendo los ejemplos de ARN que se proporcionan en [Tipos de recursos definidos por Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-resources-for-iam-policies) en la *Referencia de autorización de servicios*. Consulte los ejemplos para el tipo de recurso de su modelo.

  En el campo `embeddingModelArn`, en el objeto `knowledgeBaseConfiguration`, proporcione el ARN del modelo de incrustación vectorial que desea utilizar. Para obtener más información, consulte [Modelos y regiones admitidos para las bases de conocimiento de Amazon Bedrock](knowledge-base-supported.md).
+ Para crear una base de conocimiento con un índice GenAI de Amazon Kendra, proporcione el ARN de su índice GenAI de Amazon Kendra. 
+ Tras crear una base de conocimiento, cree un origen de datos que contenga los documentos o el contenido de la base de conocimiento. Tenga en cuenta que no puede crear un origen de datos con las operaciones de la API de Amazon Bedrock. Debe hacerlo con la consola Amazon Bedrock o con la operación de la API Amazon [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html)Kendra. Para obtener más información sobre cómo elegir un origen de datos y ver ejemplos de configuración de conexiones de API, consulte [Conexión de un origen de datos a la base de conocimiento](data-source-connectors.md).

------

# Creación de una base de conocimiento con gráficos de Análisis por Amazon Neptune
<a name="knowledge-base-build-graphs"></a>

Bases de conocimiento de Amazon Bedrock Bases ofrece una característica de GraphRAG totalmente administrada con Amazon Neptune. GraphRAG es una funcionalidad incluida en Bases de conocimiento de Amazon Bedrock que combina el modelado de gráficos con la IA generativa para mejorar la generación aumentada por recuperación (RAG). Esta característica combina la búsqueda vectorial con la capacidad de analizar rápidamente grandes cantidades de datos gráficos de Amazon Neptune en aplicaciones RAG.

GraphRAG identifica y aprovecha automáticamente las relaciones entre las entidades y los elementos estructurales de los documentos ingeridos en Bases de conocimiento. Esto permite obtener respuestas más completas y contextualmente pertinentes a partir de los modelos fundacionales, especialmente cuando la información debe estar conectada a través de varios pasos lógicos. Esto significa que las aplicaciones de IA generativa pueden ofrecer respuestas más pertinentes en los casos en que sea necesario conectar los datos y razonar en varios fragmentos de documentos. Esto permite a las aplicaciones, como los chatbots, ofrecer respuestas más relevantes a partir de modelos básicos (...FMs) en los casos en que se requieren hechos, entidades y relaciones relacionados derivados de múltiples fuentes de documentos para responder a las preguntas.

## Disponibilidad de GraphRAG por región
<a name="knowledge-base-build-graphs-regions"></a>

GraphRAG está disponible en las siguientes Regiones de AWS:
+ Europa (Fráncfort)
+ Europa (Londres)
+ Europa (Irlanda)
+ Oeste de EE. UU. (Oregón)
+ Este de EE. UU. (Norte de Virginia)
+ Asia-Pacífico (Tokio)
+ Asia-Pacífico (Singapur)

## Ventajas de utilizar GraphRAG
<a name="knowledge-base-build-graphs-benefits"></a>

Bases de conocimiento de Amazon Bedrock con GraphRAG ofrece las siguientes ventajas:
+ Respuestas más pertinentes y completas al identificar y aprovechar automáticamente las relaciones entre las entidades y los elementos estructurales (como los títulos de las secciones) en varios orígenes de documentos que se ingieren en Bases de conocimiento de Amazon Bedrock.
+ Capacidad mejorada para realizar búsquedas exhaustivas que conecten diferentes partes del contenido mediante varios pasos lógicos, lo que mejora las técnicas tradicionales de RAG.
+ Mejores capacidades de razonamiento entre documentos, lo que permite obtener respuestas más precisas y contextualmente exactas al conectar la información de varios orígenes, lo que ayuda a mejorar aún más la precisión y minimizar las alucinaciones.

## Cómo funciona GraphRAG
<a name="knowledge-base-build-graphs-works"></a>

Tras realizar una búsqueda vectorial inicial de los nodos correspondientes, GraphRAG de Bases de conocimiento de Amazon Bedrock lleva a cabo los siguientes pasos para generar una respuesta mejor:

1. Recupera los nodos gráficos relacionados o los identificadores de fragmentos que están vinculados a los fragmentos de documentos recuperados.

1. Amplía estos fragmentos relacionados recorriendo el gráfico y recuperando sus detalles de la base de datos de gráficos.

1. Proporciona respuestas más significativas al comprender las entidades relevantes y centrarse en las conexiones clave utilizando este contexto enriquecido.

## Consideraciones y limitaciones de GraphRAG
<a name="knowledge-base-build-graphs-considerations"></a>

Las siguientes son algunas limitaciones del uso de Bases de conocimiento de Amazon Bedrock con GraphRAG.
+ No se admiten las opciones de configuración para personalizar la creación de gráficos.
+ Los gráficos de Análisis por Amazon Neptune no admiten el escalado automático.
+ GraphRAG solo admite Amazon S3 como origen de datos.
+ Se elige Claude 3 Haiku como modelo fundacional para crear gráficos automáticamente para su base de conocimiento. Esto permite el enriquecimiento contextual de forma automática.
+ Cada origen de datos puede tener hasta 1000 archivos. Puede solicitar que se aumente este límite hasta un máximo de 10 000 archivos por origen de datos. También puede dividir su bucket de Amazon S3 en carpetas, donde cada carpeta puede contener hasta 1000 archivos.
+ Si utiliza la fragmentación jerárquica como estrategia de fragmentación, GraphRAG recupera solo los fragmentos secundarios durante la operación de búsqueda. No reemplaza los fragmentos secundarios con sus correspondientes fragmentos principales. Esto significa que los resultados de la búsqueda incluyen el contenido específico y detallado de los fragmentos secundarios en lugar del contexto más amplio de los fragmentos principales.

**nota**  
Al eliminar una base de conocimiento que utiliza Análisis por Amazon Neptune, elimine primero la base de conocimiento y, a continuación, elimine el gráfico de Análisis por Amazon Neptune. Si se elimina una base de conocimiento, no se elimina automáticamente el gráfico subyacente. Es posible que se incurra en cargos adicionales hasta que elimine el gráfico de forma explícita. Como alternativa, configure la política de eliminación de orígenes de datos en el modo RETENER para eliminar primero el gráfico sin que se produzcan errores. Para obtener más información, consulte [Eliminación de un origen de datos de la base de conocimientos de Amazon Bedrock](kb-ds-delete.md).

# Creación de una base de conocimiento de Amazon Bedrock con gráficos de Análisis por Amazon Neptune
<a name="knowledge-base-build-graphs-build"></a>

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. Puedes empezar a usar GraphRag en tus bases de conocimiento con el Consola de administración de AWS AWS CLI, el o el AWS SDK.

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.

**nota**  
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**

1. Inicie sesión Consola de administración de AWS con una identidad de IAM que tenga permisos para usar la consola Amazon Bedrock. A continuación, abra la consola de Amazon Bedrock en [https://console.aws.amazon.com/bedrock.](https://console.aws.amazon.com/bedrock)

1. En el panel de navegación izquierdo, elija **Bases de conocimientos**.

1. En la sección **Bases de conocimiento**, elija **Crear** y, a continuación, elija **Base de conocimientos con almacén vectorial**.

1. (Opcional) En **Detalles de la base de conocimientos**, introduzca el nombre predeterminado y proporcione una descripción de la base de conocimiento.

1. 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](kb-permissions.md#kb-permissions-neptune).

1. Asegúrese de elegir **Amazon S3** como origen de datos y elija **Siguiente** para configurar el origen de datos.

1. 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](data-source-connectors.md).

1. 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.
**nota**  
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.

1. 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](knowledge-base-setup.md).

1. 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.
**nota**  
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.

1. 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.

1. 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](data-source-connectors.md).

------
#### [ API ]

**Para crear una base de conocimientos para Neptune Analytics mediante el AWS CLI**

1. 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 [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) con un [punto de conexión en tiempo de compilación de Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt). 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 el `modelArn` gráfico a partir de sus documentos, puede utilizar Claude 3 Haiku (como se muestra en el ejemplo anterior), Claude Haiku 4.5 y la familia Amazon Nova (incluidos los modelos Nova 2 y Nova con modalidad de entrada de texto). Para ver los modelos de cimentación disponibles en su región, consulte [Modelos de cimentación compatibles en Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/models-supported.html).
**nota**  
Algunos modelos solo son compatibles con perfiles de inferencia entre regiones. Al invocar un perfil de inferencia entre regiones en Amazon Bedrock, la solicitud y los datos que se van a ingerir se originan en una región de origen y se redirigen automáticamente a una de las regiones de destino definidas en ese perfil, lo que optimiza el rendimiento. Las regiones de destino de los perfiles de inferencia global entre regiones incluyen todas las regiones comerciales. Por ejemplo, puede especificar la `modelArn` para una llamada entre regiones con sede en EE. UU. desde la región us-west-2 mediante el formato. `arn:aws:bedrock:us-west-2:account-id:inference-profile/us.anthropic.claude-haiku-4-5-20251001-v1:0`

   Para ver los requisitos políticos para que su función utilice perfiles de inferencia, consulte Requisitos [previos](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-prereq.html) para los perfiles de inferencia entre regiones. Para obtener orientación sobre cómo utilizar los perfiles de inferencia para seleccionar las regiones de origen y destino, consulte Regiones y modelos [compatibles](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-support.html) para los perfiles de inferencia. Sus datos se almacenan únicamente en la región de origen correspondiente a la base de conocimiento de Amazon Bedrock y a la instancia de Amazon Neptune Analytics. La región de destino se utiliza únicamente con fines de inferencia.

1. Para crear una base de conocimiento, envíe una solicitud [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html) con un [punto de conexión en tiempo de compilación de Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt). 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"
           }
       }
   }
   ```

1. 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
<a name="knowledge-base-build-graphs-sync"></a>

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](kb-data-source-sync-ingest.md).

## Ingesta de cambios en una base de conocimiento
<a name="knowledge-base-build-graphs-ingest"></a>

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](kb-direct-ingestion.md).

## Prueba de la base de conocimientos
<a name="knowledge-base-build-graphs-test"></a>

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](kb-test-neptune.md).

# Prueba de la base de conocimientos mediante consultas y respuestas
<a name="knowledge-base-test"></a>

Tras configurar la base de conocimiento, puede probar su comportamiento de las siguientes maneras:
+ Envíe consultas y recupere la información pertinente de sus orígenes de datos mediante la operación [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html).
+ Envíe consultas y genere respuestas a las consultas en función de la información recuperada de sus orígenes de datos mediante la operación [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html).
+ Utilice un modelo de reclasificación en lugar del modelo de reclasificación predeterminado de Bases de conocimiento de Amazon Bedrock para recuperar orígenes más relevantes cuando utilice [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html) o [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html).
+ Utilice filtros de metadatos opcionales con la API `Retrieve` o `RetrieveAndGenerate` para especificar qué documentos del origen de datos se pueden utilizar.

Cuando considere que el comportamiento de la base de conocimiento es el adecuado, podrá configurar la aplicación para consultar la base de conocimiento o asociarla a un agente siguiendo el procedimiento de [Implementación de la base de conocimientos en la aplicación de IA](knowledge-base-deploy.md).

Seleccione un tema para obtener más información al respecto.

**Topics**
+ [Consulta de una base de conocimiento y recuperación de datos](kb-test-retrieve.md)
+ [Consulta de una base de conocimiento y generación de respuestas en función de los datos recuperados](kb-test-retrieve-generate.md)
+ [Generación de una consulta de datos estructurados](knowledge-base-generate-query.md)
+ [Consulta de una base de conocimiento conectada a un índice GenAI de Amazon Kendra](kb-test-kendra.md)
+ [Consulta de una base de conocimiento conectada a un gráfico de Análisis por Amazon Neptune](kb-test-neptune.md)
+ [Configuración y personalización de las consultas y la generación de respuestas](kb-test-config.md)
+ [Configuración de la generación de respuestas para modelos de razonamiento con bases de conocimiento](kb-test-configure-reasoning.md)

# Consulta de una base de conocimiento y recuperación de datos
<a name="kb-test-retrieve"></a>

**importante**  
Las barreras de protección se aplican únicamente a la entrada y a la respuesta generada por el LLM. No se aplican a las referencias recuperadas de las bases de conocimiento en tiempo de ejecución.

Una vez configurada la base de conocimiento, puede consultarla y recuperar fragmentos de los datos de origen que sean relevantes para la consulta mediante la operación de la API [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html). También puede [utilizar un modelo de reclasificación](rerank.md) en lugar del clasificador predeterminado de Bases de conocimiento de Amazon Bedrock para clasificar los fragmentos de origen según su relevancia durante la recuperación.

Para obtener información sobre cómo consultar una base de conocimiento, seleccione la pestaña correspondiente al método que prefiera y siga los pasos:

------
#### [ Console ]

**Prueba de la base de conocimientos**

1. Inicie sesión Consola de administración de AWS con una identidad de IAM que tenga permisos para usar la consola Amazon Bedrock. A continuación, abra la consola de Amazon Bedrock en [https://console.aws.amazon.com/bedrock.](https://console.aws.amazon.com/bedrock)

1. En el panel de navegación izquierdo, elija **Bases de conocimientos**.

1. En la sección **Bases de conocimientos**, realice una de las siguientes acciones:
   + Elija el botón de opción situado junto a la base de conocimientos que quiera probar y seleccione **Probar la base de conocimientos**. La ventana de prueba se expande desde la derecha.
   + Elija la base de conocimientos que desea probar. La ventana de prueba se expande desde la derecha.

1. En la ventana de prueba, desactive **Generar respuestas para su consulta** para que se devuelva la información recuperada directamente de su base de conocimiento.

1. (Opcional) Seleccione el icono de configuración (![\[Three horizontal sliders with adjustable circular controls for settings or parameters.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/icons/configurations.png)) para abrir **Configuraciones**. Para obtener información sobre las configuraciones, consulte [Configuración y personalización de las consultas y la generación de respuestas](kb-test-config.md).

1. Introduzca una consulta en el cuadro de texto de la ventana de chat y seleccione **Ejecutar** para obtener respuestas de la base de conocimientos.

1. Los fragmentos de origen se devuelven directamente en orden de relevancia. Las imágenes extraídas del origen de datos también se pueden devolver como un fragmento del origen.

1. Para ver los detalles de los fragmentos devueltos, seleccione **Mostrar detalles del origen**.
   + Para ver las configuraciones que ha configurado para la consulta, expanda **Configuraciones de consulta**.
   + Para ver los detalles de un fragmento de origen, expándalo seleccionando la flecha hacia la derecha (![\[Play button icon with a triangular shape pointing to the right.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/icons/caret-right-filled.png)) situada junto a él. Puede ver la siguiente información:
     + El texto sin procesar del fragmento de origen. Para copiar este texto, elija el icono de copia (![\[Icon representing a crop or resize function, with two overlapping rectangles.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/icons/copy.png)). Si utilizó Amazon S3 para almacenar los datos, elija el icono de enlace externo (![\[Icon of a square with an arrow pointing outward from its top-right corner.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/icons/external.png)) para acceder al objeto de S3 que contiene el archivo.
     + Los metadatos asociados al fragmento de origen, si utilizó Amazon S3 para almacenar sus datos. Las attribute/field claves y los valores se definen en el `.metadata.json` archivo asociado al documento fuente. Para obtener información, consulte la sección **Metadatos y filtrado** de [Configuración y personalización de las consultas y la generación de respuestas](kb-test-config.md).

**Opciones de chat**
+ Cambie a la generación de respuestas basadas en los fragmentos de origen recuperados activando la opción **Generar respuestas**. Si cambia la configuración, el texto de la ventana de chat se borrará por completo.
+ Para borrar la ventana de chat, seleccione el icono de la escoba (![\[Magnifying glass icon with a checkmark inside, symbolizing search or inspection.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/icons/broom.png)).
+ Para copiar todo el resultado en la ventana de chat, seleccione el icono de copiar (![\[Icon representing a crop or resize function, with two overlapping rectangles.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/icons/copy.png)).

------
#### [ API ]

Para consultar una base de conocimiento y devolver solo el texto pertinente de los orígenes de datos, envíe una solicitud [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html) a un [punto de conexión en tiempo de ejecución de Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-rt).

Los siguientes campos son obligatorios:


****  

| Campo | Descripción básica | 
| --- | --- | 
| knowledgeBaseId | Especificar la base de conocimiento que se va a consultar | 
| retrievalQuery | Contiene un campo text para especificar la consulta. | 
| guardrailsConfiguration | Incluye campos guardrailsConfiguration, como guardrailsId y guardrailsVersion, para usar su barrera de protección con la solicitud. | 

Los siguientes campos son opcionales:


****  

| Campo | Caso de uso | 
| --- | --- | 
| nextToken | Devolver el siguiente lote de resultados (consulte los campos de respuesta a continuación). | 
| retrievalConfiguration | Para incluir [configuraciones de consulta](kb-test-config.md) para personalizar la búsqueda vectorial. Para obtener más información, consulte [KnowledgeBaseVectorSearchConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseVectorSearchConfiguration.html). | 

Puede utilizar un modelo de reclasificación sobre el modelo de clasificación predeterminado de Amazon Bedrock Knowledge Bases incluyendo el `rerankingConfiguration` campo en. [KnowledgeBaseVectorSearchConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseVectorSearchConfiguration.html) El `rerankingConfiguration` campo se asigna a un [VectorSearchRerankingConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_VectorSearchRerankingConfiguration.html)objeto, en el que puede especificar el modelo de reclasificación que se va a utilizar, los campos de solicitud adicionales que se van a incluir, los atributos de metadatos para filtrar los documentos durante la reclasificación y el número de resultados que se devolverán tras la reclasificación. Para obtener más información, consulte [VectorSearchRerankingConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_VectorSearchRerankingConfiguration.html).

**nota**  
Si el `numberOfRerankedResults` valor que especifica es mayor que el `numberOfResults` valor de [KnowledgeBaseVectorSearchConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseVectorSearchConfiguration.html), el número máximo de resultados que se devolverán será el valor correspondiente. `numberOfResults` Una excepción es si utiliza la descomposición de consultas (para obtener más información, consulte la sección **Modificaciones de consultas** en [Configuración y personalización de las consultas y la generación de respuestas](kb-test-config.md)). Si utiliza la descomposición de consultas, `numberOfRerankedResults` puede ser hasta cinco veces mayor que `numberOfResults`.

La respuesta devuelve los fragmentos de la fuente de datos como una matriz de [KnowledgeBaseRetrievalResult](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalResult.html)objetos en el `retrievalResults` campo. Cada uno [KnowledgeBaseRetrievalResult](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalResult.html)contiene los siguientes campos:


****  

| Campo | Description (Descripción) | 
| --- | --- | 
| content | Contiene un fragmento de origen de texto en el campo text o un fragmento de origen de imagen en el campo byteContent. Si el contenido es una imagen, el URI de datos del contenido codificado en base64 se devuelve en el siguiente formato: data:image/jpeg;base64,\$1\$1base64-encoded string\$1. | 
| metadatos | Contiene cada atributo de metadatos como una clave y el valor de metadatos como un valor JSON al que se asigna la clave. | 
| ubicación | Contiene el URI o la URL del documento al que pertenece el fragmento de origen. | 
| puntuación | La puntuación de relevancia del documento. Puede utilizar esta puntuación para analizar la clasificación de resultados. | 

Si el número de fragmentos de origen supera lo que cabe en la respuesta, se devuelve un valor en el campo `nextToken`. Use ese valor en otra solicitud para devolver el siguiente lote de resultados.

Si los datos recuperados contienen imágenes, la respuesta también devuelve los siguientes encabezados de respuesta, que contienen los metadatos de los fragmentos de origen devueltos en la respuesta:
+ `x-amz-bedrock-kb-byte-content-source`: contiene el URI de Amazon S3 de la imagen.
+ `x-amz-bedrock-kb-description`: contiene la cadena codificada en base64 de la imagen.

**nota**  
No puede filtrar estos encabezados de respuesta de metadatos al [configurar los filtros de metadatos](kb-test-config.md).

**Consultas multimodales**  
Para las bases de conocimiento que utilizan modelos de incrustación multimodales, puede realizar consultas con texto o imágenes. El `retrievalQuery` campo admite un `multimodalInputList` campo para consultas de imágenes:

**nota**  
Para obtener una guía completa sobre cómo configurar y trabajar con bases de conocimiento multimodales, incluida la elección entre los enfoques Nova y BDA, consulte[Cree una base de conocimientos para contenido multimodal](kb-multimodal.md).

Puede realizar consultas con imágenes mediante el `multimodalInputList` campo:

```
{
    "knowledgeBaseId": "EXAMPLE123", 
    "retrievalQuery": {
        "multimodalInputList": [
            {
                "content": {
                    "byteContent": "base64-encoded-image-data"
                },
                "modality": "IMAGE"
            }
        ]
    }
}
```

O bien, puede realizar consultas únicamente con texto mediante el `text` campo:

```
{
    "knowledgeBaseId": "EXAMPLE123",
    "retrievalQuery": {
        "text": "Find similar shoes"
    }
}
```

**Patrones de consulta multimodales comunes**  
A continuación se muestran algunos patrones de consulta comunes:

Image-to-image búsqueda  
Sube una imagen para encontrar imágenes visualmente similares. Ejemplo: sube una foto de una zapatilla Nike roja para encontrar zapatillas similares en tu catálogo de productos.

Búsqueda basada en texto  
Usa consultas de texto para encontrar contenido relevante. Ejemplo: «Encuentra zapatos similares» para buscar en tu catálogo de productos utilizando descripciones textuales.

Búsqueda visual de documentos  
Busque gráficos, diagramas o elementos visuales en los documentos. Ejemplo: cargue la imagen de un gráfico para buscar gráficos similares en su colección de documentos.

**Elegir entre Nova y BDA para el contenido multimodal**  
Cuando trabaje con contenido multimodal, elija su enfoque en función del tipo de contenido y los patrones de consulta:


**Matriz de decisiones entre Nova y BDA**  

| Tipo de contenido | Utilice las incrustaciones multimodales de Nova | Utilice el analizador Bedrock Data Automation (BDA) | 
| --- | --- | --- | 
| Contenido de vídeo | Enfoque narrativo visual (deportes, anuncios, demostraciones), consultas sobre elementos visuales, contenido de voz mínimo | Preguntas importantes speech/narration (presentaciones, reuniones, tutoriales) sobre el contenido hablado, ¿necesitan transcripciones | 
| Contenido de audio | Identificación de música o efectos de sonido, análisis de audio sin voz | Podcasts, entrevistas, reuniones o cualquier contenido cuyo discurso requiera transcripción | 
| Contenido de imagen | Búsquedas de similitudes visuales, image-to-image recuperación y análisis de contenido visual | Extracción de texto de imágenes, procesamiento de documentos, requisitos de OCR | 

**nota**  
Las incrustaciones multimodales de Nova no pueden procesar el contenido de voz directamente. Si sus archivos de audio o vídeo contienen información hablada importante, utilice primero el analizador BDA para convertir la voz en texto o, en su lugar, elija un modelo de incrustación de texto.

**Limitaciones de las consultas multimodales**  
A continuación se indican algunas limitaciones de las consultas multimodales:
+ En la versión actual hay un máximo de una imagen por consulta
+ Las consultas de imágenes solo se admiten con los modelos de incrustación multimodales (Titan G1 o Cohere Embed v3)
+ RetrieveAndGenerate La API no es compatible con las bases de conocimiento con modelos de incrustación multimodales y depósitos de contenido de S3
+ Si realizas una consulta de imagen a una base de conocimientos utilizando modelos de incrustación de solo texto, aparecerá un error de 4 x

**Estructura de respuesta de la API multimodal**  
Las respuestas de recuperación del contenido multimodal incluyen metadatos adicionales:
+ **URI de origen:** apunta a la ubicación original del depósito de S3
+ **URI suplementario:** apunta a la copia de tu depósito de almacenamiento multimodal
+ **Metadatos de fecha y hora:** se incluyen para los fragmentos de vídeo y audio para permitir un posicionamiento preciso de la reproducción

**nota**  
Cuando utilices la API o el SDK, tendrás que gestionar la recuperación de archivos y la navegación con las marcas de tiempo en tu aplicación. La consola lo gestiona automáticamente con una reproducción de vídeo mejorada y una navegación automática con las marcas de tiempo.

------

**nota**  
Si recibe un error que indica que la petición supera el límite de caracteres al generar las respuestas, puede acortarla de las siguientes maneras:  
Reduzca el número máximo de resultados recuperados (de esta forma, se acorta lo que se rellena para el marcador de posición \$1search\$1results\$1 en las [Plantillas de petición de la base de conocimiento: orquestación y generación](kb-test-config.md#kb-test-config-prompt-template)).
Vuelva a crear el origen de datos con una estrategia de fragmentación que utilice fragmentos más pequeños (de este modo, se acorta lo que se rellena para el marcador de posición \$1search\$1results\$1 en las [Plantillas de petición de la base de conocimiento: orquestación y generación](kb-test-config.md#kb-test-config-prompt-template)).
Acorte la plantilla de la petición.
Acorte la consulta del usuario (esto acorta lo que se rellena para el marcador de posición \$1query\$1 en las [Plantillas de petición de la base de conocimiento: orquestación y generación](kb-test-config.md#kb-test-config-prompt-template)).

# Consulta de una base de conocimiento y generación de respuestas en función de los datos recuperados
<a name="kb-test-retrieve-generate"></a>

**importante**  
Las barreras de protección se aplican únicamente a la entrada y a la respuesta generada por el LLM. No se aplican a las referencias recuperadas de las bases de conocimiento en tiempo de ejecución.

Una vez configurada la base de conocimiento, puede consultarla y generar respuestas basadas en los fragmentos recuperados del origen de datos mediante la operación de la API [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html). Las respuestas se devuelven con citas a los datos de origen originales. También puede [utilizar un modelo de reclasificación](rerank.md) en lugar del clasificador predeterminado de Bases de conocimiento de Amazon Bedrock para clasificar los fragmentos de origen según su relevancia durante la recuperación.

**Limitaciones del contenido multimodal**  
`RetrieveAndGenerate`tiene un soporte limitado para el contenido multimodal. Al utilizar Nova Multimodal Embeddings, la funcionalidad de RAG se limita únicamente al contenido de texto. Para obtener un soporte multimodal completo, incluido el procesamiento de audio y vídeo, utilice BDA con modelos de incrustación de texto. Para obtener más información, consulte [Cree una base de conocimientos para contenido multimodal](kb-multimodal.md).

**nota**  
Las imágenes devueltas de la respuesta `Retrieve` durante el flujo `RetrieveAndGenerate` se incluyen en la petición de generación de respuestas. La respuesta `RetrieveAndGenerate` no puede incluir imágenes, pero puede citar los orígenes que las contienen.

Para obtener información sobre cómo consultar una base de conocimiento, seleccione la pestaña correspondiente al método que prefiera y siga los pasos:

------
#### [ Console ]

**Prueba de la base de conocimientos**

1. Inicie sesión Consola de administración de AWS con una identidad de IAM que tenga permisos para usar la consola Amazon Bedrock. A continuación, abra la consola de Amazon Bedrock en [https://console.aws.amazon.com/bedrock.](https://console.aws.amazon.com/bedrock)

1. En el panel de navegación izquierdo, elija **Bases de conocimientos**.

1. En la sección **Bases de conocimientos**, realice una de las siguientes acciones:
   + Elija el botón de opción situado junto a la base de conocimientos que quiera probar y seleccione **Probar la base de conocimientos**. La ventana de prueba se expande desde la derecha.
   + Elija la base de conocimientos que desea probar. La ventana de prueba se expande desde la derecha.

1. Para generar respuestas sobre la base de información obtenida directamente de su base de conocimientos, active **Generar respuestas para su consulta**. Amazon Bedrock generará respuestas en función de los orígenes de datos y citará la información que proporcione con notas a pie de página.

1. Para elegir el modelo que se usará para la generación de respuestas, elija **Seleccionar modelo**. A continuación, seleccione **Aplicar**. 

1. (Opcional) Seleccione el icono de configuración (![\[Three horizontal sliders with adjustable circular controls for settings or parameters.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/icons/configurations.png)) para abrir **Configuraciones**. Para obtener información sobre las configuraciones, consulte [Configuración y personalización de las consultas y la generación de respuestas](kb-test-config.md).

1. Introduzca una consulta en el cuadro de texto de la ventana de chat y seleccione **Ejecutar** para obtener respuestas de la base de conocimientos.

1. Seleccione una nota a pie de página para ver un extracto del origen citado para esa parte de la respuesta. Elija el enlace para ir al objeto S3 que contiene el archivo.

1. Para ver los detalles de los fragmentos devueltos, seleccione **Mostrar detalles del origen**.
   + Para ver las configuraciones que ha configurado para la consulta, expanda **Configuraciones de consulta**.
   + Para ver los detalles de un fragmento de origen, expándalo seleccionando la flecha hacia la derecha (![\[Play button icon with a triangular shape pointing to the right.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/icons/caret-right-filled.png)) situada junto a él. Puede ver la siguiente información:
     + El texto sin procesar del fragmento de origen. Para copiar este texto, elija el icono de copia (![\[Icon representing a crop or resize function, with two overlapping rectangles.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/icons/copy.png)). Si utilizó Amazon S3 para almacenar los datos, elija el icono de enlace externo (![\[Icon of a square with an arrow pointing outward from its top-right corner.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/icons/external.png)) para acceder al objeto de S3 que contiene el archivo.
     + Los metadatos asociados al fragmento de origen, si utilizó Amazon S3 para almacenar sus datos. Las attribute/field claves y los valores se definen en el `.metadata.json` archivo asociado al documento fuente. Para obtener información, consulte la sección **Metadatos y filtrado** de [Configuración y personalización de las consultas y la generación de respuestas](kb-test-config.md).

**Opciones de chat**
+ Para elegir un modelo diferente para la generación de respuestas, elija **Cambiar modelo**. Si cambia el modelo, el texto de la ventana de chat se borrará por completo.
+ Cambie a la opción de recuperar fragmentos de origen directamente desactivando la opción **Generar respuestas**. Si cambia la configuración, el texto de la ventana de chat se borrará por completo.
+ Para borrar la ventana de chat, seleccione el icono de la escoba (![\[Magnifying glass icon with a checkmark inside, symbolizing search or inspection.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/icons/broom.png)).
+ Para copiar todo el resultado en la ventana de chat, seleccione el icono de copiar (![\[Icon representing a crop or resize function, with two overlapping rectangles.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/icons/copy.png)).

------
#### [ API ]

Para consultar una base de conocimientos y utilizar un modelo fundacional para generar respuestas basadas en los resultados de los orígenes de datos, envíe una solicitud [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html) con un [punto de conexión en tiempo de ejecución de Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-rt).

La API [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerateStream.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerateStream.html) devuelve los datos en un formato de streaming y permite acceder a las respuestas generadas en fragmentos sin tener que esperar el resultado completo.

Los siguientes campos son obligatorios:

**nota**  
La respuesta de la API contiene eventos de citas. El miembro `citation` ya no se utiliza. Le recomendamos que utilice los campos `generatedResponse` y `retrievedReferences` en su lugar. Como referencia, consulte [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_CitationEvent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_CitationEvent.html).


****  

| Campo | Descripción básica | 
| --- | --- | 
| input | Contiene un campo text para especificar la consulta. | 
| retrieveAndGenerateConfiguración | Contiene una [RetrieveAndGenerateConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerateConfiguration.html), que especifica las configuraciones de recuperación y generación. Consulte a continuación para obtener más detalles. | 

Los siguientes campos son opcionales:


****  

| Campo | Caso de uso | 
| --- | --- | 
| sessionId | Usar el mismo valor que en una sesión anterior para continuar con esa sesión y mantener su contexto para el modelo. | 
| sessionConfiguration | Incluir una clave de KMS para el cifrado de la sesión | 

Incluya el `knowledgeBaseConfiguration` campo en. [RetrieveAndGenerateConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerateConfiguration.html) Este campo se asigna a un [KnowledgeBaseRetrieveAndGenerateConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrieveAndGenerateConfiguration.html)objeto, que contiene los siguientes campos:
+ Los siguientes campos son obligatorios:  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/kb-test-retrieve-generate.html)
+ Los siguientes campos son opcionales:  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/kb-test-retrieve-generate.html)

Puede utilizar un modelo de reclasificación en lugar del modelo de clasificación predeterminado de Amazon Bedrock Knowledge Bases incluyendo el `rerankingConfiguration` campo dentro del [KnowledgeBaseVectorSearchConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseVectorSearchConfiguration.html). [KnowledgeBaseRetrievalConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalConfiguration.html) El `rerankingConfiguration` campo se asigna a un [VectorSearchRerankingConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_VectorSearchRerankingConfiguration.html)objeto, en el que puede especificar el modelo de reclasificación que se va a utilizar, los campos de solicitud adicionales que se van a incluir, los atributos de metadatos para filtrar los documentos durante la reclasificación y el número de resultados que se devolverán tras la reclasificación. Para obtener más información, consulte [VectorSearchRerankingConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_VectorSearchRerankingConfiguration.html).

**nota**  
Si el `numberOfRerankedResults` valor que especifica es mayor que el `numberOfResults` valor de [KnowledgeBaseVectorSearchConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseVectorSearchConfiguration.html), el número máximo de resultados que se devolverán será el valor correspondiente. `numberOfResults` Una excepción es si utiliza la descomposición de consultas (para obtener más información, consulte la sección **Modificaciones de consultas** en [Configuración y personalización de las consultas y la generación de respuestas](kb-test-config.md)). Si utiliza la descomposición de consultas, `numberOfRerankedResults` puede ser hasta cinco veces mayor que `numberOfResults`.

La respuesta devuelve la respuesta generada en el campo `output` y los fragmentos del origen citados como una matriz en el campo `citations`. Cada objeto [Citation](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Citation.html) incluye los siguientes campos:


****  

| Campo | Descripción básica | 
| --- | --- | 
| generatedResponsePart | En el campo textResponsePart, se incluye el text al que pertenece la cita. El campo span proporciona los índices del principio y el final de la parte del resultado que contiene una cita. | 
| retrievedReferences | Matriz de [RetrievedReference](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievedReference.html)objetos, cada uno content de los cuales contiene el fragmento de origen metadata asociado al documento y el URI o la URL location del documento en la fuente de datos.  Si el contenido es una imagen, el URI de datos del contenido codificado en base64 se devuelve en el siguiente formato: data:image/jpeg;base64,\$1\$1base64-encoded string\$1. | 

La respuesta también devuelve un valor `sessionId`, que puede reutilizar en otra solicitud para mantener la misma conversación.

Si incluyó un elemento `guardrailConfiguration` en la solicitud, el campo `guardrailAction` indica si el contenido estaba bloqueado o no.

Si los datos recuperados contienen imágenes, la respuesta también devuelve los siguientes encabezados de respuesta, que contienen los metadatos de los fragmentos de origen devueltos en la respuesta:
+ `x-amz-bedrock-kb-byte-content-source`: contiene el URI de Amazon S3 de la imagen.
+ `x-amz-bedrock-kb-description`: contiene la cadena codificada en base64 de la imagen.

**nota**  
No puede filtrar estos encabezados de respuesta de metadatos al [configurar los filtros de metadatos](kb-test-config.md).

------

**nota**  
Si recibe un error que indica que la petición supera el límite de caracteres al generar las respuestas, puede acortarla de las siguientes maneras:  
Reduzca el número máximo de resultados recuperados (de esta forma, se acorta lo que se rellena para el marcador de posición \$1search\$1results\$1 en las [Plantillas de petición de la base de conocimiento: orquestación y generación](kb-test-config.md#kb-test-config-prompt-template)).
Vuelva a crear el origen de datos con una estrategia de fragmentación que utilice fragmentos más pequeños (de este modo, se acorta lo que se rellena para el marcador de posición \$1search\$1results\$1 en las [Plantillas de petición de la base de conocimiento: orquestación y generación](kb-test-config.md#kb-test-config-prompt-template)).
Acorte la plantilla de la petición.
Acorte la consulta del usuario (esto acorta lo que se rellena para el marcador de posición \$1query\$1 en las [Plantillas de petición de la base de conocimiento: orquestación y generación](kb-test-config.md#kb-test-config-prompt-template)).

# Generación de una consulta de datos estructurados
<a name="knowledge-base-generate-query"></a>

Al conectar un almacén de datos estructurados a la base de conocimiento, esta puede consultar el almacén convirtiendo la consulta en lenguaje natural proporcionada por el usuario en una consulta SQL, en función de la estructura del origen de datos que se vaya a consultar. Cuando utiliza:
+ [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html): la respuesta devuelve el resultado de la ejecución de la consulta SQL.
+ [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html): la respuesta generada se basa en el resultado de la ejecución de la consulta SQL.
+ [GenerateQuery](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GenerateQuery.html): Amazon Bedrock Knowledge Bases desvincula la conversión de la consulta del proceso de recuperación. Puede utilizar esta operación de la API para transformar una consulta en SQL.

## Mediante la API de `GenerateQuery`
<a name="knowledge-base-generate-query-api"></a>

Puede usar la respuesta de la operación de la API `GenerateQuery` con una acción `Retrieve` o `RetrieveAndGenerate` posterior, o insertarla en otros flujos de trabajo. `GenerateQuery` le permite transformar de manera eficiente las consultas en consultas SQL teniendo en cuenta la estructura del origen de datos de su base de conocimiento.

Para convertir una consulta en lenguaje natural en una consulta SQL, envíe una [GenerateQuery](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GenerateQuery.html)solicitud a un [punto de ejecución de Agents for Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-rt). La solicitud `GenerateQuery` contiene los siguientes campos:
+ queryGenerationInput — Especifique `TEXT` como consulta `type` e inclúyala en el `text` campo.
**nota**  
Las consultas deben escribirse en inglés.
+ transformationConfiguration: especifique `TEXT_TO_SQL` como `mode`. En el campo `textToSqlConfiguration`, especifique `KNOWLEDGE_BASE` como `type`. A continuación, especifique el ARN de la base de conocimiento.

La respuesta devuelve una matriz que contiene un [GeneratedQuery](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GeneratedQuery.html)objeto en el `queries` campo. El objeto contiene una consulta SQL para la consulta en el campo `sql`.

## Consideraciones clave
<a name="knowledge-base-generate-query-considerations"></a>

A continuación, se incluyen algunas consideraciones importantes a la hora de generar una consulta con datos estructurados.
+ 

**Inferencia entre regiones y recuperación de datos estructurados**  
La recuperación de datos estructurados utiliza la inferencia entre regiones para seleccionar la opción óptima Región de AWS dentro de su zona geográfica y procesar la solicitud de inferencia. Esto no implica ningún cargo adicional y mejora la experiencia del cliente al maximizar los recursos disponibles y la disponibilidad del modelo.

  Las solicitudes de inferencia cruzada se mantienen dentro de la zona geográfica en la Regiones de AWS que residen originalmente los datos. Sus datos permanecen almacenados en la región de origen, pero es posible que las peticiones de entrada y los resultados de salida se muevan fuera de esta región. Todos los datos se transmitirán cifrados a través de la red segura de Amazon.

  Para obtener más información, consulte [Aumento del rendimiento con la inferencia entre regiones](cross-region-inference.md).
+ 

**Precisión de las consultas de SQL generativo**  
La precisión de una consulta de SQL generativo puede variar en función del contexto, los esquemas de las tablas y la intención de la consulta del usuario. Evalúe las consultas generativas para asegurarse de que se adapten a su caso de uso antes de utilizarlas en su carga de trabajo.
+ 

**Número de resultados recuperados.**  
Estas son las limitaciones que se aplican al generar la respuesta.
  + Cuando se utilizan las operaciones de la API `InvokeAgent`, `RetrieveAndGenerate` y `RetrieveAndGenerateStream`, solo se usan 10 resultados recuperados al generar la respuesta.
  + Cuando se utiliza la API `InvokeAgent`, si hay más de 10 filas de resultados recuperados, el número total de filas recuperadas no se pasa al agente para generar la respuesta. Si, en su lugar, utiliza la API `RetrieveAndGenerate`, el número total de filas se incluye en la petición para generar la respuesta final.
+ 

**Cuota de la API `GenerateQuery`**  
La `GenerateQuery` API tiene una cuota de 2 solicitudes por segundo.

## Concesión de permisos a un rol para acceder a las consultas generativas
<a name="knowledge-base-structured-permissions"></a>

En el caso de una base de conocimiento conectada a origen de datos estructurados, si desea realizar algunas operaciones adicionales en las consultas generativas, debe conceder permisos para realizar la acción de la API `GenerateQuery`. Para permitir que su rol de IAM consulte una base de conocimiento conectada a un almacén de datos estructurados, asocie la siguiente política al rol:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "GetKB",
            "Effect": "Allow",
            "Action": [
                "bedrock:GetKnowledgeBase"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/KnowledgeBaseId"
            ]
        },
        {
            "Sid": "GenerateQueryAccess",
            "Effect": "Allow",
            "Action": [
                "bedrock:GenerateQuery",
                "sqlworkbench:GetSqlRecommendations"
            ],
            "Resource": "*"
        },
        {
            "Sid": "Retrieve",
            "Effect": "Allow",
            "Action": [
                "bedrock:Retrieve"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/KnowledgeBaseId"
            ]
        },
        {
            "Sid": "RetrieveAndGenerate",
            "Effect": "Allow",
            "Action": [
                "bedrock:RetrieveAndGenerate"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

Puede eliminar las instrucciones que no necesite en función del caso de uso:
+ Se requieren `GenerateQuery` las instrucciones `GetKB` y para poder realizar llamadas y [GenerateQuery](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GenerateQuery.html)generar consultas SQL que tengan en cuenta las consultas de los usuarios y la fuente de datos conectada.
+ La instrucción `Retrieve` es necesaria para llamar a [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html) para recuperar los datos del almacén de datos estructurados.
+ La instrucción `RetrieveAndGenerate` es necesaria para llamar a [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html) para recuperar los datos del almacén de datos estructurados y generar las respuestas en función de los datos.

# Consulta de una base de conocimiento conectada a un índice GenAI de Amazon Kendra
<a name="kb-test-kendra"></a>

Puede consultar una base de conocimiento que utilice un índice GenAI de Amazon Kendra y devolver solo el texto pertinente de los orígenes de datos. Para esta consulta, envíe una solicitud [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html) con un [punto de conexión en tiempo de ejecución de Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-rt), como con una base de conocimiento estándar.

La estructura de una respuesta devuelta desde una base de conocimiento con un índice GenAI de Amazon Kendra es la misma que la de un [KnowledgeBaseRetrievalResult](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalResult.html) estándar. Sin embargo, la respuesta también incluye algunos campos adicionales de Amazon Kendra.

En la siguiente tabla se describen los campos de Amazon Kendra que puede ver en una respuesta devuelta. Amazon Bedrock obtiene estos campos de la respuesta de Amazon Kendra. Si esa respuesta no contiene estos campos, el resultado de la consulta devuelto por Amazon Bedrock tampoco tendrá estos campos.


| Campo | Descripción | 
| --- | --- | 
|  x-amz-kendra-document-title  |  El título del documento devuelto.  | 
|  x-amz-kendra-score-confidence  |  Una clasificación relativa de la relevancia de la respuesta para la consulta. Los valores posibles son VERY\$1HIGH, HIGH, MEDIUM, LOW y NOT\$1AVAILABLE.  | 
|  x-amz-kendra-passage-id  |  El ID del pasaje devuelto.  | 
|  x-amz-kendra-document-id  |  El ID del documento devuelto.  | 
|  DocumentAttributes  |  Atributos de documentos o campos de metadatos de Amazon Kendra. El resultado de la consulta devuelto por la base de conocimiento se almacena como pares de clave-valor de metadatos. Puede filtrar los resultados con el filtrado de metadatos de Amazon Bedrock. Para obtener más información, consulte [DocumentAttribute](https://docs.aws.amazon.com/kendra/latest/APIReference/API_DocumentAttribute.html).  | 

# Consulta de una base de conocimiento conectada a un gráfico de Análisis por Amazon Neptune
<a name="kb-test-neptune"></a>

Puede consultar una base de conocimiento que utilice un gráfico de Análisis por Amazon Neptune y devolver solo el texto pertinente de los orígenes de datos. Para esta consulta, envíe una solicitud [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html) con un [punto de conexión en tiempo de ejecución de Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-rt), como con una base de conocimiento estándar. Para obtener información sobre cómo consultar una base de conocimiento, recuperar datos y generar respuestas, consulte:
+  [Consulta de una base de conocimiento y recuperación de datos](kb-test-retrieve.md) 
+  [Consulta de una base de conocimiento y generación de respuestas en función de los datos recuperados](kb-test-retrieve-generate.md) 

La estructura de una respuesta devuelta desde una base de conocimiento con un gráfico de Análisis por Amazon Neptune es la misma que la de un [KnowledgeBaseRetrievalResult](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalResult.html) estándar. Sin embargo, la respuesta también incluye algunos campos adicionales de Amazon Neptune.

En la siguiente tabla se describen los campos de Análisis por Neptune que puede ver en una respuesta devuelta. Amazon Bedrock obtiene estos campos de la respuesta de Análisis por Neptune. Si esa respuesta no contiene estos campos, el resultado de la consulta devuelto por Amazon Bedrock tampoco tendrá estos campos.


| Campo | Descripción | 
| --- | --- | 
|  x-amz-bedrock-kb-source-uri  |  La URL de Amazon S3 del documento devuelto.  | 
|  puntuación  |  Una medida de distancia que indica hasta qué punto una respuesta coincide con la consulta proporcionada, donde los valores más bajos indican mejores coincidencias.  | 
|  x-amz-bedrock-kb-data-source-id  |  El ID del origen de datos utilizado para la base de conocimiento.  | 
|  x-amz-bedrock-kb-chunk-id  |  El ID del fragmento que se utilizó para recuperar la información de la consulta y generar la respuesta.  | 
|  DocumentAttributes  |  Atributos de documentos o campos de metadatos de Amazon Kendra. El resultado de la consulta devuelto por la base de conocimiento se almacena como pares de clave-valor de metadatos. Puede filtrar los resultados con el filtrado de metadatos de Amazon Bedrock.  | 

## Uso de metadatos y filtrado
<a name="kb-test-neptune-metadata"></a>

Al consultar la base de conocimiento y generar respuestas, puede filtrar por los metadatos para encontrar documentos más relevantes. Por ejemplo, puede filtrar por la fecha de publicación del documento. Para ello, puede utilizar la consola de Amazon Bedrock o la API [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html) en tiempo de ejecución, que puede especificar algunas condiciones generales de filtrado.

A continuación, se incluyen algunas consideraciones sobre el uso de la API `RetrievalFilter` para gráficos de Análisis por Neptune.
+ No se admiten los filtros `startsWith` y `listContains`.
+ No se admite la variante de lista del filtro `stringContains`.

A continuación se muestra un ejemplo:

```
"vectorSearchConfiguration": {
        "numberOfResults": 5,
        "filter": {
            "orAll": [
                {
                    "andAll": [
                        {
                            "equals": {
                                "key": "genre",
                                "value": "entertainment"
                            }
                        },
                        {
                            "greaterThan": {
                                "key": "year",
                                "value": 2018
                            }
                        }
                    ]
                },
                {
                    "andAll": [                        
                        {
                            "startsWith": {
                                "key": "author",
                                "value": "C"
                            }
                        }
                    ]
                }
            ]
        }
    }
}
```

# Configuración y personalización de las consultas y la generación de respuestas
<a name="kb-test-config"></a>

Puede configurar y personalizar la recuperación y la generación de respuestas, lo que mejora aún más la pertinencia de las respuestas. Por ejemplo, puede aplicar filtros a los metadatos de los documentos fields/attributes para usar los documentos actualizados más recientemente o los documentos con tiempos de modificación recientes.

**nota**  
Todas las siguientes configuraciones, excepto **orquestación y generación**, se aplican únicamente a orígenes de datos no estructurados.

Para obtener más información sobre estas configuraciones en la consola o la API, seleccione uno de los siguientes temas:

## Número de fragmentos de origen
<a name="kb-test-config-number"></a>

Cuando consulta una base de conocimientos, Amazon Bedrock devuelve hasta cinco resultados en la respuesta de forma predeterminada. Cada resultado corresponde a un fragmento de origen.

**nota**  
El número real de resultados de la respuesta puede ser inferior al valor de `numberOfResults` especificado, ya que este parámetro establece el número máximo de resultados que se devuelven. Si ha configurado la fragmentación jerárquica para su estrategia de fragmentación, el parámetro `numberOfResults` se asigna al número de fragmentos secundarios que recuperará la base de conocimiento. Como los fragmentos secundarios que comparten el mismo fragmento principal se sustituyen por el fragmento principal en la respuesta final, es posible que la cantidad de resultados devueltos sea inferior a la cantidad solicitada.

Para modificar el número máximo de resultados que se devuelven, seleccione la pestaña correspondiente al método que prefiera y siga estos pasos:

------
#### [ Console ]

Siga los pasos de la consola que se indican en [Consulta de una base de conocimiento y recuperación de datos](kb-test-retrieve.md) o [Consulta de una base de conocimiento y generación de respuestas en función de los datos recuperados](kb-test-retrieve-generate.md). En el panel **Configuraciones**, expanda la sección **Fragmentos del origen** e introduzca el número máximo de fragmentos de origen que se van a devolver.

------
#### [ API ]

Cuando realices una [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html)solicitud [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html)o una solicitud, incluye un `retrievalConfiguration` campo asignado a un [KnowledgeBaseRetrievalConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalConfiguration.html)objeto. Para ver la ubicación de este campo, consulte los cuerpos de las solicitudes [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html) y [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html) en la referencia de la API.

El siguiente objeto JSON muestra los campos mínimos necesarios en el [KnowledgeBaseRetrievalConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalConfiguration.html)objeto para establecer el número máximo de resultados que se van a devolver:

```
"retrievalConfiguration": {
    "vectorSearchConfiguration": {
        "numberOfResults": number
    }
}
```

Especifique el número máximo de resultados recuperados (consulte el `numberOfResults` campo [KnowledgeBaseRetrievalConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalConfiguration.html)para ver el rango de valores aceptados) que se devolverán en el `numberOfResults` campo.

------

## Tipo de búsqueda
<a name="kb-test-config-search"></a>

El tipo de búsqueda define cómo se consultan los orígenes de datos en la base de conocimientos. Los tipos de búsqueda posibles son los siguientes:

**nota**  
La búsqueda híbrida solo se admite en los almacenes vectoriales de Amazon RDS, Amazon OpenSearch Serverless y MongoDB que contienen un campo de texto filtrable. Si utiliza un almacén de vectores diferente o su almacén de vectores no contiene un campo de texto filtrable, la consulta utiliza la búsqueda semántica.
+ **Predeterminada**: Amazon Bedrock decide la estrategia de búsqueda por usted.
+ **Híbrida**: combina la búsqueda de incrustaciones vectoriales (búsqueda semántica) con la búsqueda en el texto sin procesar.
+ **Semántica**: solo busca incrustaciones vectoriales.

Para obtener información sobre cómo definir el tipo de búsqueda, seleccione la pestaña correspondiente al método que prefiera y siga los pasos:

------
#### [ Console ]

Siga los pasos de la consola que se indican en [Consulta de una base de conocimiento y recuperación de datos](kb-test-retrieve.md) o [Consulta de una base de conocimiento y generación de respuestas en función de los datos recuperados](kb-test-retrieve-generate.md). Al abrir el panel **Configuraciones**, expanda la sección **Tipo de búsqueda**, active **Anular la búsqueda predeterminada** y seleccione una opción.

------
#### [ API ]

Cuando realice una [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html)solicitud [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html)o solicitud, incluya un `retrievalConfiguration` campo asignado a un objeto. [KnowledgeBaseRetrievalConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalConfiguration.html) Para ver la ubicación de este campo, consulte los cuerpos de las solicitudes [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html) y [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html) en la referencia de la API.

El siguiente objeto JSON muestra los campos mínimos necesarios en el [KnowledgeBaseRetrievalConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalConfiguration.html)objeto para establecer las configuraciones de los tipos de búsqueda:

```
"retrievalConfiguration": {
    "vectorSearchConfiguration": {
        "overrideSearchType": "HYBRID | SEMANTIC"
    }
}
```

Especifique el tipo de búsqueda en el campo `overrideSearchType`. Dispone de las opciones siguientes:
+ Si no especifica un valor, Amazon Bedrock decide qué estrategia de búsqueda es la más adecuada para la configuración de su almacén de vectores.
+ **HYBRID**: Amazon Bedrock consulta la base de conocimientos en las incrustaciones vectoriales y en el texto sin procesar.
+ **SEMANTIC**: Amazon Bedrock consulta la base de conocimientos con las incrustaciones vectoriales.

------

## Transmisión
<a name="kb-test-config-stream"></a>

------
#### [ Console ]

Siga los pasos de la consola que se indican en [Consulta de una base de conocimiento y generación de respuestas en función de los datos recuperados](kb-test-retrieve-generate.md). Cuando abra el panel **Configuraciones**, expanda la sección **Preferencia de streaming** y active **Transmitir respuesta**.

------
#### [ API ]

Para transmitir las respuestas, use la API [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerateStream.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerateStream.html). Para obtener más información sobre cómo rellenar los campos, consulte la pestaña **API** en [Consulta de una base de conocimiento y generación de respuestas en función de los datos recuperados](kb-test-retrieve-generate.md).

------

## Filtrado manual de metadatos
<a name="kb-test-config-filters"></a>

Puede aplicar filtros al documento fields/attributes para mejorar aún más la relevancia de las respuestas. Sus fuentes de datos pueden incluir metadatos de documentos attributes/fields para filtrar y pueden especificar qué campos incluir en las incrustaciones.

Por ejemplo, “epoch\$1modification\$1time” representa el tiempo en segundos transcurridos desde el 1 de enero de 1970 (UTC) hasta que se actualizó el documento por última vez. Puede filtrar por los datos más recientes, donde “epoch\$1modification\$1time” es *mayor que* un número determinado. Estos documentos más recientes se pueden utilizar para la consulta.

Para utilizar filtros al consultar una base de conocimientos, compruebe que la base de conocimientos cumpla los siguientes requisitos:
+ Al configurar el conector del origen de datos, la mayoría de los conectores rastrea los principales campos de metadatos de los documentos. Si utiliza un bucket de Amazon S3 como origen de datos, el bucket debe incluir al menos un `fileName.extension.metadata.json` para el archivo o documento con el que está asociado. Consulte **Campos de metadatos del documento** [Configuración de la conexión](s3-data-source-connector.md#configuration-s3-connector) para obtener más información sobre cómo configurar el archivo de metadatos.
+ Si el índice vectorial de su base de conocimientos se encuentra en un almacén vectorial de Amazon OpenSearch Serverless, compruebe que el índice vectorial esté configurado con el `faiss` motor. Si el índice vectorial está configurado con el motor `nmslib`, deberá realizar una de las siguientes acciones:
  + [Cree una nueva base de conocimientos](knowledge-base-create.md) en la consola y deje que Amazon Bedrock cree automáticamente un índice vectorial en Amazon OpenSearch Serverless por usted.
  + [Crear otro índice vectorial](knowledge-base-setup.md) en el almacén vectorial y seleccionar `faiss` como el **motor**. A continuación, [cree una nueva base de conocimientos](knowledge-base-create.md) y especifique el nuevo índice vectorial.
+ Si su base de conocimiento utiliza un índice vectorial en un bucket vectorial de S3, no puede utilizar los filtros `startsWith` y `stringContains`.
+ Si va a añadir metadatos a un índice vectorial existente en un clúster de base de datos de Amazon Aurora, le recomendamos que proporcione el nombre de campo de la columna de metadatos personalizada para almacenar todos los metadatos en una sola columna. Durante la [ingesta de datos](kb-data-source-sync-ingest.md), esta columna se utilizará para rellenar toda la información de los archivos de metadatos de los orígenes de datos. Si decide proporcionar este campo, debe crear un índice en esta columna.
  + Cuando [cree una nueva base de conocimiento](knowledge-base-create.md) en la consola y deje que Amazon Bedrock configure su base de datos de Amazon Aurora, creará automáticamente una sola columna para usted y la rellenará con la información de sus archivos de metadatos.
  + Si decide [crear otro índice vectorial](knowledge-base-setup.md) en el almacén de vectores, debe proporcionar el nombre del campo de metadatos personalizado para almacenar la información de sus archivos de metadatos. Si no proporciona este nombre de campo, debe crear una columna para cada atributo de metadatos de sus archivos y especificar el tipo de datos (texto, número o booleano). Por ejemplo, si existiera el atributo `genre` en el origen de datos, añadiría una columna con el nombre `genre` y especificaría `text` como tipo de datos. Durante la ingesta de datos, estas columnas se rellenarán con los valores de atributo correspondientes.

*Si tiene documentos PDF en su fuente de datos y utiliza Amazon OpenSearch Serverless como almacén vectorial: las bases de conocimiento de Amazon Bedrock generarán los números de página de los documentos y los almacenarán en unos metadatos field/attribute denominados x-amz-bedrock-kb -. document-page-number* Tenga en cuenta que los números de página almacenados en un campo de metadatos no se admiten si elige no fragmentar sus documentos.

Puede utilizar los siguientes operadores de filtrado para filtrar los resultados al realizar consultas:


**Operadores de filtrado**  

| Operador | Consola | Nombre del filtro de la API | Tipos de datos de atributos compatibles | Resultados filtrados | 
| --- | --- | --- | --- | --- | 
| Igual a | = | [equals](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-equals) | cadena, número, booleano | El atributo coincide con el valor que ha proporcionado | 
| No es igual a | \$1= | [notEquals](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-notEquals) | cadena, número, booleano | El atributo no coincide con el valor que ha proporcionado | 
| Mayor que | > | [greaterThan](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-greaterThan) | número | El atributo es mayor que el valor que ha proporcionado | 
| Mayor que o igual a | >= | [greaterThanOrEs igual a](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-greaterThanOrEquals) | número | El atributo es mayor que o igual al valor que ha proporcionado | 
| Menor que | < | [lessThan](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-lessThan) | número | El atributo es menor que el valor que ha proporcionado | 
| Menor que o igual a | <= | [lessThanOrIguales](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-lessThanOrEquals) | número | El atributo es menor que o igual al valor que ha proporcionado | 
| In | : | [in](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-in) | lista de cadenas | El atributo está en la lista que usted proporciona (actualmente es más compatible con las tiendas de vectores GraphRag de Amazon OpenSearch Serverless y Neptune Analytics) | 
| No en | \$1: | [notIn](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-notIn) | lista de cadenas | El atributo no está en la lista que has proporcionado (actualmente es más compatible con las tiendas vectoriales GraphRag de Amazon OpenSearch Serverless y Neptune Analytics) | 
| Contiene una cadena | No disponible | [stringContains](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-stringContains) | cadena | El atributo debe ser una cadena. El nombre del atributo coincide con la clave y su valor es una cadena que contiene el valor que ha proporcionado como subcadena, o una lista con un miembro que contiene el valor que ha proporcionado como subcadena (actualmente es más compatible con el almacén de vectores de Amazon OpenSearch Serverless). El almacén de vectores GraphRag de Neptune Analytics admite la variante de cadena (pero no la variante de lista) de este filtro. | 
| Contiene una lista | No disponible | [listContains](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-listContains) | cadena | El atributo debe ser una lista de cadenas. El nombre del atributo coincide con la clave y su valor es una lista que contiene el valor que usted proporcionó como uno de sus miembros (actualmente es más compatible con las tiendas de vectores de Amazon OpenSearch Serverless). | 

Para combinar los operadores de filtrado, puede usar los siguientes operadores lógicos:


**Logical operators (Operadores lógicos)**  

| Operador | Consola | Nombre del campo del filtro de la API | Resultados filtrados | 
| --- | --- | --- | --- | 
| Y | and | [andAll](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-andAll) | Los resultados cumplen con todas las expresiones de filtrado del grupo | 
| O | o | [orAll](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-orAll) | Los resultados cumplen al menos con una de las expresiones de filtrado del grupo | 

Para obtener información sobre cómo filtrar los resultados con los metadatos, seleccione la pestaña correspondiente al método que prefiera y siga estos pasos:

------
#### [ Console ]

Siga los pasos de la consola que se indican en [Consulta de una base de conocimiento y recuperación de datos](kb-test-retrieve.md) o [Consulta de una base de conocimiento y generación de respuestas en función de los datos recuperados](kb-test-retrieve-generate.md). Al abrir el panel **Configuraciones**, verá la sección **Filtros**. Los siguientes procedimientos describen distintos casos de uso:
+ Para añadir un filtro, cree una expresión de filtrado con un atributo de metadatos, un operador de filtrado y un valor en el cuadro. Separe cada parte de la expresión con un espacio en blanco. Pulse **Intro** para añadir el filtro.

  Para obtener una lista de los operadores de filtrado aceptados, consulte la tabla **Operadores de filtrado** anterior. También puede ver una lista de operadores de filtrado al añadir un espacio en blanco después del atributo de metadatos.
**nota**  
Debe poner las cadenas entre signos de pregunta.

  Por ejemplo, puede filtrar los resultados de los documentos de origen que contienen un atributo de metadatos `genre` cuyo valor sea `"entertainment"` agregando el siguiente filtro: **genre = "entertainment"**.  
![\[Agregue un filtro.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/kb/filter-one.png)
+ Para añadir otro filtro, introduzca otra expresión de filtrado en el cuadro y pulse **Intro**. Puede agregar hasta cinco filtros al grupo.  
![\[Agregar otro filtro.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/kb/filter-more.png)
+ De forma predeterminada, la consulta devolverá resultados que cumplan con todas las expresiones de filtrado que proporcione. Para obtener resultados que cumplan con al menos una de las expresiones de filtrado, elija el menú desplegable **y** entre dos operaciones de filtrado y seleccione **o**.  
![\[Cambie la operación lógica entre los filtros.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/kb/filter-logical.png)
+ Para combinar distintos operadores lógicos, seleccione **\$1 Añadir grupo** para añadir un grupo de filtros. Introduzca las expresiones de filtrado en el nuevo grupo. Puede añadir hasta cinco grupos de filtrado.  
![\[Añada un grupo de filtros para combinar distintos operadores lógicos.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/kb/filter-group.png)
+ Para cambiar el operador lógico utilizado entre todos los grupos de filtrado, elija el menú desplegable **Y** entre dos grupos de filtros y seleccione **O**.  
![\[Cambie la operación lógica entre los filtros.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/kb/filter-group-logical.png)
+ Para editar un filtro, selecciónelo, modifique la operación de filtrado y elija **Aplicar**.  
![\[Edite un filtro.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/kb/filter-edit.png)
+ Para eliminar un grupo de filtros, elija el icono de la papelera (![\[Trapezoid-shaped diagram showing data flow from source to destination through AWS Transfer Family.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/icons/trash.png)) situado junto al grupo. Para eliminar un filtro, seleccione el icono de eliminación (![\[Close or cancel icon represented by an "X" symbol.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/icons/close.png)) junto al filtro.  
![\[Elimine un filtro o un grupo de filtros.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/kb/filter-delete.png)

En la imagen siguiente se muestra un ejemplo de configuración de filtro que devuelve todos los documentos escritos después de **2018** cuyo género es **"entertainment"**, además de los documentos cuyo género es **"cooking"** o **"sports"** y cuyo autor comienza por **"C"**.

![\[Ejemplo de configuración de filtro.\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/images/kb/filter-example.png)


------
#### [ API ]

Cuando realice una [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html)o una [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html)solicitud, incluya un `retrievalConfiguration` campo asignado a un [KnowledgeBaseRetrievalConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalConfiguration.html)objeto. Para ver la ubicación de este campo, consulte los cuerpos de las solicitudes [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html) y [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html) en la referencia de la API.

Los siguientes objetos JSON muestran los campos mínimos necesarios en el [KnowledgeBaseRetrievalConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalConfiguration.html)objeto para establecer filtros para diferentes casos de uso:

1. Utilice un operador de filtrado (consulte la tabla **Operadores de filtrado** anterior).

   ```
   "retrievalConfiguration": {
       "vectorSearchConfiguration": {
           "filter": {
               "<filter-type>": {
                   "key": "string",
                   "value": "string" | number | boolean | ["string", "string", ...]
               }
           }
       }
   }
   ```

1. Utilice un operador lógico (consulte la tabla **Operadores lógicos** anterior) para combinar hasta cinco operadores.

   ```
   "retrievalConfiguration": {
       "vectorSearchConfiguration": {
           "filter": {
               "andAll | orAll": [
                   "<filter-type>": {
                       "key": "string",
                       "value": "string" | number | boolean | ["string", "string", ...]
                   },
                   "<filter-type>": {
                       "key": "string",
                       "value": "string" | number | boolean | ["string", "string", ...]
                   },
                   ...
               ]
           }
       }
   }
   ```

1. Utilice un operador lógico para combinar hasta cinco operadores de filtrado en un grupo de filtros y un segundo operador lógico para combinar ese grupo de filtros con otro operador de filtrado.

   ```
   "retrievalConfiguration": {
       "vectorSearchConfiguration": {
           "filter": {
               "andAll | orAll": [
                   "andAll | orAll": [
                       "<filter-type>": {
                           "key": "string",
                           "value": "string" | number | boolean | ["string", "string", ...]
                       },
                       "<filter-type>": {
                           "key": "string",
                           "value": "string" | number | boolean | ["string", "string", ...]
                       },
                       ...
                   ],
                   "<filter-type>": {
                       "key": "string",
                       "value": "string" | number | boolean | ["string", "string", ...]
                   }
               ]
           }
       }
   }
   ```

1. Combine hasta cinco grupos de filtros incrustándolos en otro operador lógico. Puede crear un nivel de incrustación.

   ```
   "retrievalConfiguration": {
       "vectorSearchConfiguration": {
           "filter": {
               "andAll | orAll": [
                   "andAll | orAll": [
                       "<filter-type>": {
                           "key": "string",
                           "value": "string" | number | boolean | ["string", "string", ...]
                       },
                       "<filter-type>": {
                           "key": "string",
                           "value": "string" | number | boolean | ["string", "string", ...]
                       },
                       ...
                   ],
                   "andAll | orAll": [
                       "<filter-type>": {
                           "key": "string",
                           "value": "string" | number | boolean | ["string", "string", ...]
                       },
                       "<filter-type>": {
                           "key": "string",
                           "value": "string" | number | boolean | ["string", "string", ...]
                       },
                       ...
                   ]
               ]
           }
       }
   }
   ```

En la siguiente tabla se describen los tipos de filtro que puede utilizar:


****  

| Campo | Tipos de datos de valor compatibles | Resultados filtrados | 
| --- | --- | --- | 
| equals | cadena, número, booleano | El atributo coincide con el valor que ha proporcionado | 
| notEquals | cadena, número, booleano | El atributo no coincide con el valor que ha proporcionado  | 
| greaterThan | número | El atributo es mayor que el valor que ha proporcionado | 
| greaterThanOrEquals | número | El atributo es mayor que o igual al valor que ha proporcionado | 
| lessThan | número | El atributo es menor que el valor que ha proporcionado  | 
| lessThanOrEquals | número | El atributo es menor que o igual al valor que ha proporcionado | 
| in | lista de cadenas | El atributo está en la lista que ha proporcionado | 
| notIn | lista de cadenas | El atributo no está en la lista que ha proporcionado | 
| startsWith | cadena | El atributo comienza con la cadena que proporciones (solo se admite en las tiendas vectoriales de Amazon OpenSearch Serverless) | 

Para combinar los tipos de filtro, puede utilizar uno de los siguientes operadores lógicos:


****  

| Campo | Se asigna a | Resultados filtrados | 
| --- | --- | --- | 
| andAll | Lista de hasta cinco tipos de filtro | Los resultados cumplen con todas las expresiones de filtrado del grupo | 
| orAll | Lista de hasta cinco tipos de filtro | Los resultados cumplen al menos con una de las expresiones de filtrado del grupo | 

Para ver ejemplos, consulte [Enviar una consulta e incluir filtros (Recuperar)](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html#API_agent-runtime_Retrieve_Example_2) y [Enviar una consulta e incluir filtros (RetrieveAndGenerate)](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_Example_2).

------

## Filtrado de metadatos implícitos
<a name="kb-test-config-implicit"></a>

Bases de conocimiento de Amazon Bedrock genera y aplica un filtro de recuperación basado en la consulta del usuario y en un esquema de metadatos.

**nota**  
Actualmente, la característica solo funciona con Anthropic Claude 3.5 Sonnet.

El valor de `implicitFilterConfiguration` se especifica en el elemento `vectorSearchConfiguration` del cuerpo de la solicitud [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html). Puede incluir los siguientes campos:
+ `metadataAttributes`: en esta matriz, proporcione esquemas que describan los atributos de los metadatos para los que el modelo generará un filtro.
+ `modelArn`: el ARN del modelo que se va a utilizar.

A continuación, se muestra un ejemplo de esquemas de metadatos que se pueden añadir a la matriz `metadataAttributes`.

```
[
    {
        "key": "company",
        "type": "STRING",
        "description": "The full name of the company. E.g. `Amazon.com, Inc.`, `Alphabet Inc.`, etc"
    },
    {
        "key": "ticker",
        "type": "STRING",
        "description": "The ticker name of a company in the stock market, e.g. AMZN, AAPL"
    },
    {
        "key": "pe_ratio",
        "type": "NUMBER",
        "description": "The price to earning ratio of the company. This is a measure of valuation of a company. The lower the pe ratio, the company stock is considered chearper."
    },
    {
        "key": "is_us_company",
        "type": "BOOLEAN",
        "description": "Indicates whether the company is a US company."
    },
    {
        "key": "tags",
        "type": "STRING_LIST",
        "description": "Tags of the company, indicating its main business. E.g. `E-commerce`, `Search engine`, `Artificial intelligence`, `Cloud computing`, etc"
    }
]
```

## Barreras de protección
<a name="kb-test-config-guardrails"></a>

Puede implementar protecciones en la base de conocimientos para sus casos de uso y políticas de IA responsable. Puede crear varias barreras de protección adaptadas a diferentes casos de uso y aplicarlas en diferentes condiciones de solicitud y respuesta para proporcionar una experiencia de usuario coherente y estandarizar los controles de seguridad en toda la base de conocimientos. Puede configurar los temas denegados para que no se admitan temas no deseados y filtros de contenido para bloquear el contenido dañino en las entradas y respuestas del modelo. Para obtener más información, consulte [Detección y filtrado del contenido dañino mediante Barreras de protección para Amazon Bedrock](guardrails.md).

**nota**  
Actualmente, Claude 3 Sonnet y Haiku no admiten el uso de barreras de protección con fundamento contextual para las bases de conocimientos.

Para ver las directrices generales de ingeniería de peticiones, consulte [Conceptos de ingeniería de peticiones](prompt-engineering-guidelines.md).

Elija la pestaña del método que prefiera y siga estos pasos:

------
#### [ Console ]

Siga los pasos de la consola que se indican en [Consulta de una base de conocimiento y recuperación de datos](kb-test-retrieve.md) o [Consulta de una base de conocimiento y generación de respuestas en función de los datos recuperados](kb-test-retrieve-generate.md). En la ventana de prueba, active **Generar respuestas**. A continuación, en el panel **Configuraciones**, expanda la sección **Barreras de protección**.

1. En la sección **Barreras de protección**, elija el **Nombre** y la **Versión** de la barrera de protección. Si quiere ver los detalles de la barrera de protección y la versión que ha elegido, seleccione **Ver**.

   Si lo desea, puede crear una nueva seleccionando el enlace **Barrera de protección**.

1. Cuando haya terminado de editar, elija **Save changes (Guardar cambios)**. Para salir sin guardar, seleccione **Descartar cambios**.

------
#### [ API ]

Cuando realice una solicitud [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html), incluya el campo `guardrailConfiguration` dentro de la `generationConfiguration` para usar la barrera de protección con la solicitud. Para ver la ubicación de este campo, consulte el cuerpo de la solicitud [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html) en la referencia de la API.

El siguiente objeto JSON muestra los campos mínimos necesarios [GenerationConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GenerationConfiguration.html)para configurar`guardrailConfiguration`:

```
"generationConfiguration": {
    "guardrailConfiguration": {
        "guardrailId": "string",
        "guardrailVersion": "string"
    }
}
```

Especifique el `guardrailId` y la `guardrailVersion` para las barreras de protección que ha elegido. 

------

## Reclasificación
<a name="kb-test-config-rerank"></a>

Puede utilizar un modelo reclasificador para recuperar los resultados de una consulta a la base de conocimiento. Siga los pasos de la consola que se indican en [Consulta de una base de conocimiento y recuperación de datos](kb-test-retrieve.md) o [Consulta de una base de conocimiento y generación de respuestas en función de los datos recuperados](kb-test-retrieve-generate.md). Cuando abra el panel **Configuraciones**, amplíe la sección **Reordenamiento**. Seleccione un modelo reclasificador, actualice los permisos si es necesario y modifique las opciones adicionales. Introduzca una petición y seleccione **Ejecutar** para probar los resultados después de la reclasificación.

## Descomposición de consultas
<a name="kb-test-query-modifications"></a>

La descomposición de consultas es una técnica que se usa para desglosar las consultas complejas en subconsultas más pequeñas y más fáciles de administrar. Este enfoque puede ayudar a recuperar información más precisa y pertinente, especialmente cuando la consulta inicial es multifacética o demasiado amplia. Si se activa esta opción, es posible que se ejecuten varias consultas en la base de conocimientos, lo que puede ayudar a obtener una respuesta final más precisa.

Por ejemplo, si se pregunta *“¿Quién marcó más goles en la Copa del Mundo de la FIFA 2022, Argentina o Francia?”*, las bases de conocimientos de Amazon Bedrock pueden generar primero las siguientes subconsultas antes de dar una respuesta final:

1. *¿Cuántos goles marcó Argentina en la final de la Copa del Mundo de la FIFA 2022?*

1. *¿Cuántos goles marcó Francia en la final de la Copa del Mundo de la FIFA 2022?*

------
#### [ Console ]

1. Cree y sincronice un origen de datos o utilice una base de conocimientos existente.

1. Vaya a la ventana de prueba y abra el panel de configuración.

1. Habilite la descomposición de consultas.

------
#### [ API ]

```
POST /retrieveAndGenerate HTTP/1.1
Content-type: application/json
{
   "input": {
      "text": "string"
   },
   "retrieveAndGenerateConfiguration": {
      "knowledgeBaseConfiguration": {
         "orchestrationConfiguration": { // Query decomposition
           "queryTransformationConfiguration": {
                "type": "string" // enum of QUERY_DECOMPOSITION
           }
         },
...}
}
```

------

## Parámetros de inferencia
<a name="kb-test-model-params"></a>

Al generar respuestas basadas en la recuperación de información, puede utilizar [parámetros de inferencia](inference-parameters.md) para tener un mayor control sobre el comportamiento del modelo durante la inferencia e influir en los resultados del modelo.

Para obtener información sobre cómo modificar los parámetros de inferencia, seleccione la pestaña correspondiente al método que prefiera y siga los pasos:

------
#### [ Console ]

**Para modificar los parámetros de inferencia al consultar una base de conocimiento**: siga los pasos de la consola que se indican en [Consulta de una base de conocimiento y recuperación de datos](kb-test-retrieve.md) o [Consulta de una base de conocimiento y generación de respuestas en función de los datos recuperados](kb-test-retrieve-generate.md). Al abrir el panel **Configuraciones**, verá la sección **Parámetros de inferencia**. Modifique los parámetros según sea necesario.

**Para modificar los parámetros de inferencia al chatear con el documento**: siga los pasos que se indican en [Chateo con un documento sin tener configurada una base de conocimientos](knowledge-base-chatdoc.md). En el panel **Configuraciones**, expanda la sección **Parámetros de inferencia** y modifique los parámetros según sea necesario.

------
#### [ API ]

Los parámetros del modelo se proporcionan en la llamada a la API de [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html). Puede personalizar el modelo proporcionando parámetros de inferencia en el campo `inferenceConfig` de la `knowledgeBaseConfiguration` (si consulta una base de conocimientos) o en la `externalSourcesConfiguration` (si [chatea con su documento](knowledge-base-chatdoc.md)).

Dentro del campo `inferenceConfig` hay un campo `textInferenceConfig` que contiene los siguientes parámetros:
+ temperature
+ topP
+ maxTokenCount
+ stopSequences

Puede personalizar el modelo con los siguientes parámetros en el campo `inferenceConfig` de `externalSourcesConfiguration` y `knowledgeBaseConfiguration`: 
+ temperature
+ topP
+ maxTokenCount
+ stopSequences

Para obtener una explicación detallada de la función de cada uno de estos parámetros, consulte [Influencia sobre la generación de respuestas con parámetros de inferencia](inference-parameters.md).

Además, puede proporcionar parámetros personalizados que no sean compatibles con `textInferenceConfig` mediante la asignación de `additionalModelRequestFields`. Puede proporcionar parámetros exclusivos para modelos específicos con este argumento; para ver los parámetros exclusivos, consulte [Parámetros de solicitud de inferencia y campos de respuesta para los modelos fundacionales](model-parameters.md).

Si se omite un parámetro de `textInferenceConfig`, se utilizará un valor predeterminado. Se ignorará cualquier parámetro que no se reconozca en `textInferneceConfig`, mientras que cualquier parámetro que no se reconozca en `AdditionalModelRequestFields` generará una excepción. 

Se genera una excepción de validación si hay el mismo parámetro en `additionalModelRequestFields` y `TextInferenceConfig`.

**Uso de los parámetros del modelo en RetrieveAndGenerate**

 A continuación, se muestra un ejemplo de la estructura para `inferenceConfig` y `additionalModelRequestFields` en `generationConfiguration` del cuerpo de la consulta `RetrieveAndGenerate`:

```
"inferenceConfig": {
    "textInferenceConfig": {
        "temperature": 0.5,  
        "topP": 0.5,
        "maxTokens": 2048,
        "stopSequences": ["\nObservation"]
    }
},
"additionalModelRequestFields": {
    "top_k": 50
}
```

 El ejemplo siguiente establece una `temperature` de 0,5, un `top_p` de 0,5 y un `maxTokens` de 2048, detiene la generación si encuentra la cadena “\$1nObservation” en la respuesta generada y pasa un valor `top_k` personalizado de 50. 

------

## Plantillas de petición de la base de conocimiento: orquestación y generación
<a name="kb-test-config-prompt-template"></a>

Cuando consulta una base de conocimiento y solicita la generación de respuestas, Amazon Bedrock utiliza una plantilla de petición que combina las instrucciones y el contexto con la consulta del usuario para crear la petición que se envía al modelo para la generación de respuestas. Puede personalizar la petición de orquestación, que convierte la petición del usuario en una consulta de búsqueda. Puede diseñar las plantillas de petición con las siguientes herramientas:
+ **Marcadores de posición de peticiones**: variables predefinidas en las bases de conocimientos de Amazon Bedrock que se rellenan dinámicamente en el tiempo de ejecución durante la consulta de la base de conocimientos. En la petición del sistema, puede ver estos marcadores de posición rodeados por el símbolo `$`. En la siguiente lista se describen los marcadores de posición que puede utilizar:
**nota**  
El marcador de posición `$output_format_instructions$` es un campo obligatorio para que las citas se muestren en la respuesta.  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/kb-test-config.html)
+ **Etiquetas XML**: los modelos Anthropic admiten el uso de etiquetas XML para estructurar y delinear las peticiones. Utilice nombres de etiquetas descriptivos para obtener resultados óptimos. Por ejemplo, en la petición predeterminada del sistema, verá la etiqueta `<database>` utilizada para delinear una base de datos de preguntas anteriores. Para obtener más información, consulte [Usa etiquetas XML](https://docs.anthropic.com/claude/docs/use-xml-tags) en la [Guía del usuario de Anthropic](https://docs.anthropic.com/en/docs/welcome).

Para ver las directrices generales de ingeniería de peticiones, consulte [Conceptos de ingeniería de peticiones](prompt-engineering-guidelines.md).

Elija la pestaña del método que prefiera y siga estos pasos:

------
#### [ Console ]

Siga los pasos de la consola que se indican en [Consulta de una base de conocimiento y recuperación de datos](kb-test-retrieve.md) o [Consulta de una base de conocimiento y generación de respuestas en función de los datos recuperados](kb-test-retrieve-generate.md). En la ventana de prueba, active **Generar respuestas**. A continuación, en el panel **Configuraciones**, expanda la sección **Plantillas de peticiones de la base de conocimientos**.

1. Elija **Edit (Edición de)**.

1. Edite la petición del sistema en el editor de texto, incluidos los marcadores de posición del mensaje y las etiquetas XML, según sea necesario. Para restablecer la plantilla de peticiones predeterminada, seleccione **Reestablecer los valores predeterminados**.

1. Cuando haya terminado de editar, elija **Save changes (Guardar cambios)**. Para salir sin guardar la petición del sistema, seleccione **Descartar cambios**.

------
#### [ API ]

Cuando realice una [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html)solicitud, incluya un `generationConfiguration` campo asignado a un [GenerationConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GenerationConfiguration.html)objeto. Para ver la ubicación de este campo, consulte el cuerpo de la solicitud [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html) en la referencia de la API.

El siguiente objeto JSON muestra los campos mínimos necesarios en el [GenerationConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GenerationConfiguration.html)objeto para establecer el número máximo de resultados recuperados que se devolverán:

```
"generationConfiguration": {
    "promptTemplate": {
        "textPromptTemplate": "string"
    }
}
```

Introduzca su plantilla de petición personalizada en el campo `textPromptTemplate`, incluidos los marcadores de posición de la petición y las etiquetas XML, según sea necesario. Para ver el número máximo de caracteres permitido en la línea de comandos del sistema, consulte el `textPromptTemplate` campo en [GenerationConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GenerationConfiguration.html).

------

# Configuración de la generación de respuestas para modelos de razonamiento con bases de conocimiento
<a name="kb-test-configure-reasoning"></a>

Algunos modelos fundacionales son capaces de realizar un razonamiento de modelos, mediante el cual pueden tomar una tarea más grande y compleja y dividirla en pasos más pequeños y sencillos. Este proceso, que a menudo se denomina “razonamiento de cadena de pensamiento (CoT)” puede mejorar la precisión del modelo al darle la oportunidad de pensar antes de responder. El razonamiento del modelo es más útil para tareas como el análisis de varios pasos, problemas matemáticos y tareas de razonamiento complejas. Para obtener más información, consulte [Mejora de las respuestas de los modelos con el razonamiento de modelos](inference-reasoning.md).

**nota**  
En esta página se describe cómo utilizar la configuración de razonamiento específicamente para Bases de conocimiento de Amazon Bedrock. Para obtener información sobre cómo configurar el razonamiento para la invocación directa del modelo mediante la API `InvokeModel`, consulte [Mejora de las respuestas de los modelos con el razonamiento de modelos](inference-reasoning.md).

Cuando se habilita el razonamiento de modelos, se puede mejorar la precisión con mejores resultados en las citas, pero también se puede producir un aumento de la latencia. Las siguientes son algunas consideraciones al consultar los orígenes de datos y generar respuestas mediante modelos de razonamiento con Bases de conocimiento de Amazon Bedrock.

**Topics**
+ [Modelos de razonamiento](#kb-test-reasoning-models)
+ [Uso del razonamiento de modelos para Claude 3.7 Sonnet](#kb-test-reasoning-using)
+ [Consideraciones generales](#kb-test-reasoning-general-considerations)
+ [Consideraciones sobre la API de recuperación y generación](#kb-test-reasoning-api-considerations)

## Modelos de razonamiento
<a name="kb-test-reasoning-models"></a>

El razonamiento del modelo está disponible para los siguientes modelos.


| Modelo fundacional | ID del modelo | Número de tokens | Configuración de razonamiento | 
| --- | --- | --- | --- | 
| Anthropic Claude Opus 4 | anthropic.claude-opus-4-20250514-v1:0 | Este modelo tendrá 32 768 tokens, que incluyen tanto los tokens de salida como los de razonamiento. | El razonamiento se puede activar o desactivar en este modelo mediante un presupuesto de tokens configurable. El razonamiento está deshabilitado de forma predeterminada. | 
| Anthropic Claude Sonnet 4 | anthropic.claude-sonnet-4-20250514-v1:0 | Este modelo tendrá 65 536 tokens, que incluyen tanto los tokens de salida como los de razonamiento. | El razonamiento se puede activar o desactivar en este modelo mediante un presupuesto de tokens configurable. El razonamiento está deshabilitado de forma predeterminada. | 
| Anthropic Claude 3.7 Sonnet | anthropic.claude-3-7-sonnet-20250219-v1:0 | Este modelo tendrá 65 536 tokens, que incluyen tanto los tokens de salida como los de razonamiento. | El razonamiento se puede activar o desactivar en este modelo mediante un presupuesto de tokens configurable. El razonamiento está deshabilitado de forma predeterminada. | 
| DeepSeek DeepSeek-R1 | deepseek.r1-v1:0 | Este modelo tendrá 8192 tokens, que incluyen tanto los tokens de salida como los de razonamiento. La cantidad de tokens de pensamiento no se puede configurar y la cantidad máxima de tokens de salida no debe ser superior a 8192. | El razonamiento siempre está habilitado para este modelo. El modelo no admite la activación y desactivación de la capacidad de razonamiento. | 

## Uso del razonamiento de modelos para Claude 3.7 Sonnet
<a name="kb-test-reasoning-using"></a>

**nota**  
El razonamiento de modelos siempre está habilitado para el modelo DeepSeek-R1. El modelo no admite la activación y desactivación de la capacidad de razonamiento.

Cuando se utiliza el modelo Claude 3.7 Sonnet, el razonamiento de modelos se puede activar o desactivar mediante el parámetro `additionalModelRequestFields` de la API [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html). Este parámetro acepta cualquier par de clave-valor. Por ejemplo, puede añadir un campo `reasoningConfig` y utilizar una clave `type` para activar o desactivar el razonamiento, como se muestra a continuación.

```
{
   "input": { 
      "text": "string",
      "retrieveAndGenerateConfiguration": { 
      "knowledgeBaseConfiguration": { 
         "generationConfiguration": { 
            "additionalModelRequestFields": {
                "reasoningConfig" : {
                    "type": "enabled",
                    "budget_tokens": INT_VAL, #required when enabled
                }
            }
         },
         "knowledgeBaseId": "string",
      },
      "type": "string"
   },
   "sessionId": "string"
}
```

## Consideraciones generales
<a name="kb-test-reasoning-general-considerations"></a>

Las siguientes son algunas consideraciones generales sobre el uso de los modelos de razonamiento para las bases de conocimiento.
+ Los modelos de razonamiento tendrán hasta cinco minutos para responder a una consulta. Si el modelo tarda más de cinco minutos en responder a la consulta, se agota el tiempo de espera.
+ Para evitar superar el tiempo de espera de cinco minutos, el razonamiento de modelos solo se habilita en el paso de generación cuando se configuran las consultas y la generación de respuestas. El paso de orquestación no puede tener la característica de razonamiento de modelos.
+ Los modelos de razonamiento pueden utilizar hasta 8192 tokens para responder a las consultas, que incluirán tanto los tokens de salida como los de pensamiento. Cualquier solicitud en la que se pida un número máximo de tokens de salida superior a este límite generará un error.

## Consideraciones sobre la API de recuperación y generación
<a name="kb-test-reasoning-api-considerations"></a>

Las siguientes son algunas consideraciones al usar la API [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html) para los modelos de razonamiento.
+ De forma predeterminada, cuando el razonamiento está desactivado en todos los modelos, incluido Claude 3.7 Sonnet, la temperatura se establece en cero. Cuando el razonamiento está activado, la temperatura debe establecerse en uno.

  ```
  "inferenceConfig": {
      "textInferenceConfig": {
          "maxTokens": 8192,
          "temperature": 1
      }
  }
  ```
+ El parámetro Top P debe estar desactivado cuando el razonamiento esté activado en el modelo Claude 3.7 Sonnet. Top P es un campo de solicitud de modelo adicional que determina el percentil de posibles tokens entre los que seleccionar durante la generación. De forma predeterminada, el valor Top P para otros modelos de Anthropic Claude es uno. Para el modelo Claude 3.7 Sonnet, este valor estará desactivado de forma predeterminada.
+ Cuando se utiliza el razonamiento de modelos, se puede producir un aumento de la latencia. Al utilizar esta operación de API y la operación de la API [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerateStream.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerateStream.html), es posible que observe un retraso en la recepción de la respuesta de la API.

# Implementación de la base de conocimientos en la aplicación de IA
<a name="knowledge-base-deploy"></a>

Para implementar una base de conocimientos para su aplicación, configúrela para realizar las solicitudes [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html) o [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html) a la base de conocimientos. Para ver cómo utilizar estas operaciones de la API para consultar y generar respuestas, consulte [Prueba de la base de conocimientos mediante consultas y respuestas](knowledge-base-test.md).

También puede asociar la base de conocimientos a un agente y el agente la invocará cuando sea necesario durante la orquestación. Para obtener más información, consulte [Automatización de las tareas en la aplicación mediante agentes de IA](agents.md).

Primero debe configurar y sincronizar el origen u orígenes de datos con la base de conocimientos para poder implementarla. Consulte [Orígenes de datos admitidos](https://docs.aws.amazon.com/bedrock/latest/userguide/data-source-connectors.html).

Elija la pestaña del método que prefiera y siga estos pasos:

------
#### [ Console ]

**Asociación de una base de conocimientos a un agente**

1. 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/](https://console.aws.amazon.com/bedrock).

1. En el panel de navegación izquierdo, seleccione **Agentes**.

1. Elija el nombre del agente al que desea agregar una base de conocimientos.

1. En la sección **Borrador de trabajo**, elija **Borrador de trabajo**.

1. Seleccione **Agregar** en la sección **Bases de conocimientos**.

1. Elija la base de conocimientos de la lista desplegable situada en **Seleccionar la base de conocimientos** y especifique las instrucciones para el agente sobre cómo debería interactuar con la base de conocimientos y devolver resultados.

**Desasociación de una base de conocimientos de un agente**

1. 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/](https://console.aws.amazon.com/bedrock).

1. En el panel de navegación izquierdo, seleccione **Agentes**.

1. Elija el nombre del agente al que desea agregar una base de conocimientos.

1. En la sección **Borrador de trabajo**, elija **Borrador de trabajo**.

1. En la sección **Base de conocimientos**, elija una base de conocimientos.

1. Seleccione **Eliminar**.

------
#### [ API ]

Para asociar una base de conocimientos a un agente, envíe una solicitud [AssociateAgentKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_AssociateAgentKnowledgeBase.html).
+ Incluya una `description` detallada sobre cómo debe interactuar el agente con la base de conocimientos y obtener resultados.
+ Configure el `knowledgeBaseState` en `ENABLED` para permitir que el agente consulte la base de conocimientos.

Para actualizar una base de conocimientos asociada a un agente, envíe una solicitud [UpdateAgentKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateAgentKnowledgeBase.html). Por ejemplo, es posible que desee configurar el `knowledgeBaseState` en `ENABLED` para solucionar un problema. Dado que se sobrescribirán todos los campos, incluya los dos campos que quiera actualizar, así como los campos que quiera mantener sin cambios.

Para desasociar una base de conocimientos de un agente, envíe una solicitud [DisassociateAgentKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DisassociateAgentKnowledgeBase.html).

------

# Visualización de información sobre una base de conocimientos de Amazon Bedrock
<a name="kb-info"></a>

Puede ver información sobre una base de conocimientos, como la configuración y el estado.

Para supervisar la base de conocimientos con registros de Amazon CloudWatch, consulte [Registro de la base de conocimientos](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-bases-logging.html).

Elija la pestaña del método que prefiera y siga estos pasos:

------
#### [ Console ]

**Visualización de información sobre una base de conocimientos**

1. 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/](https://console.aws.amazon.com/bedrock).

1. En el panel de navegación izquierdo, elija **Bases de conocimientos**.

1. Para ver los detalles de una base de conocimientos, seleccione el **nombre** del origen o pulse el botón de radio situado junto al origen y seleccione **Editar**.

1. En la página de detalles de la flota puede llevar a cabo las siguientes acciones:
   + Para cambiar los detalles de la base de conocimientos, seleccione **Editar** en la sección **Descripción general de la base de conocimientos**.
   + Para actualizar las etiquetas adjuntas a la base de conocimientos, seleccione **Administrar etiquetas** en la sección **Etiquetas**.
   + Si actualiza el origen de datos a partir del que se creó la base de conocimientos y necesita sincronizar los cambios, seleccione **Sincronizar** en la sección **Origen de datos**.
   + Para ver los detalles de un origen de datos, seleccione el **nombre de un origen de datos**. Dentro de los detalles, puede seleccionar el botón de radio situado junto a un evento de sincronización en la sección **Historial de sincronización** y seleccionar **Ver advertencias** para ver por qué los archivos del trabajo de ingesta de datos no se sincronizaron.
   + Para administrar el modelo de incrustaciones vectoriales utilizado en la base de conocimientos, seleccione **Editar rendimiento aprovisionado.**
   + Cuando haya terminado de editar, elija **Guardar cambios**.

------
#### [ API ]

Para obtener más información sobre una base de conocimientos, envíe una solicitud [GetKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetKnowledgeBase.html) a un [punto de conexión en tiempo de compilación de Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) y especifique el `knowledgeBaseId`.

Para enumerar la información sobre las base de conocimientos, envíe una solicitud [ListKnowledgeBases](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListKnowledgeBases.html) con un [punto de conexión en tiempo de compilación de Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt). Puede especificar el número máximo de resultados que se devuelven en una respuesta. Si hay más resultados que el número especificado, la respuesta devolverá un `nextToken`. Puede utilizar este valor en el campo `nextToken` de otra solicitud [ListKnowledgeBases](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListKnowledgeBases.html) para ver el siguiente lote de resultados.

------

# Modificación de una base de conocimientos de Amazon Bedrock
<a name="kb-update"></a>

Para actualizar una base de conocimientos puede, por ejemplo, cambiar su configuración.

Elija la pestaña del método que prefiera y siga estos pasos:

------
#### [ Console ]

**Actualización de una base de conocimientos**

1. 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/](https://console.aws.amazon.com/bedrock).

1. En el panel de navegación izquierdo, elija **Bases de conocimientos**.

1. Seleccione una base de conocimientos para ver sus detalles o elija el botón de opción situado junto a la base de conocimientos y seleccione **Editar**.

1. Puede modificar la base de conocimientos de las siguientes maneras.
   + Para cambiar las configuraciones de la base de conocimientos, seleccione **Editar** en la sección **Descripción general de la base de conocimientos**.
   + Para cambiar y administrar las etiquetas asociadas a la base de conocimientos, seleccione **Administrar etiquetas** en la sección **Etiquetas**.
   + Puede cambiar y administrar el origen de datos de la base de conocimientos en la sección **Origen de datos**.

1. Cuando haya terminado de editar, elija **Guardar cambios**.

------
#### [ API ]

Para actualizar una base de conocimientos, envíe una solicitud [UpdateKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateKnowledgeBase.html) con un [punto de conexión en tiempo de compilación de Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt). Dado que se sobrescribirán todos los campos, incluya los dos campos que quiera actualizar, así como los campos que quiera mantener sin cambios.

------

# Eliminación de una base de conocimientos de Amazon Bedrock
<a name="kb-delete"></a>

Puede eliminar o quitar una base de conocimientos que ya no utilice o necesite. Al eliminar una base de conocimientos, también debe realizar las siguientes acciones para eliminar por completo todos los recursos asociados a la base de conocimientos.
+ Disocie la base de conocimientos de todos los agentes a los que esté asociada.
+ Elimine el propio almacén vectorial de la base de conocimientos.

**nota**  
La `dataDeletionPolicy` predeterminada en un origen de datos que se acaba de crear es “Eliminar”, a menos que se especifique lo contrario al crear el origen de datos. La política se aplica cuando se elimina una base de conocimientos o un recurso de origen de datos. Puede actualizar la política para “Retener” los datos del origen de datos convertidos en incrustaciones vectoriales. Tenga en cuenta que el **almacén vectorial en sí no se elimina** si elimina una base de conocimientos o un recurso de origen de datos.

Elija la pestaña del método que prefiera y siga estos pasos:

------
#### [ Console ]

**Para eliminar una base de conocimientos**

1. Antes de seguir estos pasos, asegúrese de eliminar la base de conocimientos de todos los agentes a los que esté asociada. Los pasos siguientes describen cómo hacerlo:

   1. En el panel de navegación izquierdo, seleccione **Agentes**.

   1. Elija el **nombre** del agente del que desea eliminar la base de conocimientos.

   1. Aparece un banner rojo para advertirle que elimine del agente la referencia a la base de conocimientos, que ya no existe.

   1. Seleccione el botón de opción situado junto a la base de conocimientos que desea quitar. Seleccione **Más** y, a continuación, elija **Eliminar**.

1. 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/](https://console.aws.amazon.com/bedrock).

1. En el panel de navegación izquierdo, elija **Bases de conocimientos**.

1. Elija la base de conocimientos o seleccione el botón de opción junto a la base de conocimientos. A continuación, elija **Eliminar**.

1. Revise las advertencias para eliminar una base de conocimientos. Si acepta estas condiciones, introduzca **delete** en el cuadro de entrada y seleccione **Eliminar** para confirmar.
**nota**  
El **almacén vectorial en sí no se elimina**, solo se eliminan los datos. Puede usar la consola o el SDK del almacén vectorial para eliminarlo. Asegúrese de consultar también los agentes de Amazon Bedrock que utilice en la base de conocimientos.

------
#### [ API ]

Para eliminar la base de conocimientos, envíe una solicitud [DeleteKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DeleteKnowledgeBase.html) con un [punto de conexión en tiempo de compilación de Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt).

También debe desasociarla de los agentes a los que esté asociada enviando una solicitud [DisassociateAgentKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DisassociateAgentKnowledgeBase.html) con un [punto de conexión en tiempo de compilación de Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt).

También debe eliminar el propio almacén vectorial mediante la consola o el SDK del almacén vectorial para eliminarlo.

------