Configuración y personalización de las consultas y la generación de respuestas - Amazon Bedrock

Configuración y personalización de las consultas y la generación de respuestas

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 campos o atributos de metadatos del documento para utilizar los documentos actualizados más recientemente o los documentos con fechas 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:

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 o Consulta de una base de conocimiento y generación de respuestas en función de los datos recuperados. 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 realice una solicitud Retrieve o RetrieveAndGenerate, incluya un campo retrievalConfiguration asignado a un objeto KnowledgeBaseRetrievalConfiguration. Para ver la ubicación de este campo, consulte los cuerpos de las solicitudes Retrieve y RetrieveAndGenerate en la referencia de la API.

El siguiente objeto JSON muestra los campos mínimos necesarios en el objeto KnowledgeBaseRetrievalConfiguration 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 campo numberOfResults de KnowledgeBaseRetrievalConfiguration para ver el rango de valores aceptados) que se devolverá en el campo numberOfResults.

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 de vectores de Amazon RDS, Amazon OpenSearch sin servidor 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 o Consulta de una base de conocimiento y generación de respuestas en función de los datos recuperados. 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 solicitud Retrieve o RetrieveAndGenerate, incluya un campo retrievalConfiguration asignado a un objeto KnowledgeBaseRetrievalConfiguration. Para ver la ubicación de este campo, consulte los cuerpos de las solicitudes Retrieve y RetrieveAndGenerate en la referencia de la API.

El siguiente objeto JSON muestra los campos mínimos necesarios en el objeto KnowledgeBaseRetrievalConfiguration 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.

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. Cuando abra el panel Configuraciones, expanda la sección Preferencia de streaming y active Transmitir respuesta.

API

Para transmitir las respuestas, use la API RetrieveAndGenerateStream. 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.

Puede aplicar filtros a los campos o atributos de documentos para mejorar aún más la relevancia de las respuestas. Sus orígenes de datos pueden incluir atributos o campos de metadatos de documentos por los que se puede filtrar, y puede especificar qué campos se van a incluir en las incrustaciones.

Por ejemplo, “epoch_modification_time” 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_modification_time” 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 para obtener más información sobre cómo configurar el archivo de metadatos.

  • 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:

  • 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, 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 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 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 origen de datos y utiliza Amazon OpenSearch sin servidor como almacén de vectores, las bases de conocimiento de Amazon Bedrock generarán los números de página de los documentos y los almacenarán en un campo/atributo de metadatos llamado 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 = igual a cadena, número, booleano El atributo coincide con el valor que ha proporcionado
No es igual a != notEquals cadena, número, booleano El atributo no coincide con el valor que ha proporcionado
Mayor que > greaterThan número El atributo es mayor que el valor que ha proporcionado
Mayor que o igual a >= greaterThanOrEquals número El atributo es mayor que o igual al valor que ha proporcionado
Menor que < lessThan número El atributo es menor que el valor que ha proporcionado
Menor que o igual a <= lessThanOrEquals número El atributo es menor que o igual al valor que ha proporcionado
In : in lista de cadenas El atributo está en la lista que ha proporcionado (actualmente es más compatible con los almacenes de vectores de Amazon OpenSearch sin servidor y Neptune Analytics GraphRAG)
No en !: notIn lista de cadenas El atributo no está en la lista que ha proporcionado (actualmente es más compatible con los almacenes de vectores de Amazon OpenSearch sin servidor y Neptune Analytics GraphRAG)
Contiene una cadena No disponible 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 Amazon OpenSearch sin servidor. El almacén de vectores de Neptune Analytics GraphRAG admite la variante de cadena, pero no la variante de lista, de este filtro).
Contiene una lista No disponible 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 proporcionó como uno de sus miembros (actualmente es más compatible con los almacenes de vectores de Amazon OpenSearch sin servidor).

Para combinar los operadores de filtrado, puede usar los siguientes operadores lógicos:

Operadores lógicos
Operador Consola Nombre del campo del filtro de la API Resultados filtrados
Y y andAll Los resultados cumplen con todas las expresiones de filtrado del grupo
O o 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 o Consulta de una base de conocimiento y generación de respuestas en función de los datos recuperados. 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.
  • 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.
  • 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.
  • Para combinar distintos operadores lógicos, seleccione + 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.
  • 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.
  • Para editar un filtro, selecciónelo, modifique la operación de filtrado y elija Aplicar.

    Edite un filtro.
  • 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. ) situado junto al grupo. Para eliminar un filtro, seleccione el icono de eliminación ( Close or cancel icon represented by an "X" symbol. ) junto al filtro.

    Elimine un filtro o un grupo de filtros.

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.
API

Cuando realice una solicitud Retrieve o RetrieveAndGenerate, incluya un campo retrievalConfiguration asignado a un objeto KnowledgeBaseRetrievalConfiguration. Para ver la ubicación de este campo, consulte los cuerpos de las solicitudes Retrieve y RetrieveAndGenerate en la referencia de la API.

Los siguientes objetos JSON muestran los campos mínimos necesarios en el objeto KnowledgeBaseRetrievalConfiguration 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", ...] } } } }
  2. 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", ...] }, ... ] } } }
  3. 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", ...] } ] } } }
  4. 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 ha proporcionado (solo se admite en los almacenes vectoriales de Amazon OpenSearch sin servidor)

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 Send a query and include filters (Retrieve) y Send a query and include filters (RetrieveAndGenerate).

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 Retrieve. 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" } ]

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.

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.

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 o Consulta de una base de conocimiento y generación de respuestas en función de los datos recuperados. 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.

  2. Cuando haya terminado de editar, elija Save changes (Guardar cambios). Para salir sin guardar, seleccione Descartar cambios.

API

Cuando realice una solicitud RetrieveAndGenerate, 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 RetrieveAndGenerate en la referencia de la API.

El siguiente objeto JSON muestra los campos mínimos necesarios en el objeto GenerationConfiguration para establecer guardrailConfiguration:

"generationConfiguration": { "guardrailConfiguration": { "guardrailId": "string", "guardrailVersion": "string" } }

Especifique el guardrailId y la guardrailVersion para las barreras de protección que ha elegido.

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 o Consulta de una base de conocimiento y generación de respuestas en función de los datos recuperados. 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.

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?

  2. Cuántos goles marcó Francia en la final de la Copa del Mundo de la FIFA?

Console
  1. Cree y sincronice un origen de datos o utilice una base de conocimientos existente.

  2. Vaya a la ventana de prueba y abra el panel de configuración.

  3. 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 } }, ...} }

Al generar respuestas basadas en la recuperación de información, puede utilizar parámetros de inferencia 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 o Consulta de una base de conocimiento y generación de respuestas en función de los datos recuperados. 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. 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 RetrieveAndGenerate. 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).

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.

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.

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 “\nObservation” en la respuesta generada y pasa un valor top_k personalizado de 50.

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.

    Variable Plantilla de petición Se sustituye por Modelo ¿Obligatorio?
    $query$ Orquestación, generación Es la consulta del usuario enviada a la base de conocimientos. Anthropic Claude Instant, Anthropic Claude v2.x
    Anthropic Claude 3 Sonnet No (incluido automáticamente en la entrada del modelo)
    $search_results$ Generación Los resultados recuperados para la consulta del usuario. Todos
    $output_format_instructions$ Orquestación Instrucciones subyacentes para formatear la generación de respuestas y las citas. Depende del modelo. Si define sus propias instrucciones de formato, le sugerimos que elimine este marcador de posición. Sin este marcador de posición, la respuesta no contendrá citas. Todos
    $current_time$ Orquestación, generación Hora actual Todos No
  • 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 en la Guía del usuario de Anthropic.

Para ver las directrices generales de ingeniería de peticiones, consulte Conceptos de ingeniería de peticiones.

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 o Consulta de una base de conocimiento y generación de respuestas en función de los datos recuperados. 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. Seleccione Editar.

  2. 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.

  3. 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 solicitud RetrieveAndGenerate, incluya un campo generationConfiguration asignado a un objeto GenerationConfiguration. Para ver la ubicación de este campo, consulte el cuerpo de la solicitud RetrieveAndGenerate en la referencia de la API.

El siguiente objeto JSON muestra los campos mínimos necesarios en el objeto GenerationConfiguration para establecer el número máximo de resultados recuperados que se van a devolver:

"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 conocer el número máximo de caracteres permitido en la petición del sistema, consulte el campo textPromptTemplate en GenerationConfiguration.