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.
Puede utilizar Amazon Nova Models como LLM dentro de un sistema RAG de texto personalizado. Para crear su propio sistema de RAG con Amazon Nova, puede configurar su sistema de RAG para que consulte directamente una base de conocimientos o puede asociar una base de conocimientos a un agente (para obtener más información, consulte) Creación de agentes de IA con Amazon Nova
Cuando se utiliza Amazon Nova en cualquier sistema RAG, hay dos enfoques generales
-
Uso de un recuperador como herramienta (recomendado): puede definir su recuperador para usarlo como herramienta en la API de Converse o en la API ToolParameter de Invokemodel. Por ejemplo, puedes definir la API Bedrock Retrieve o cualquier otro recuperador como una «herramienta».
-
Uso de instrucciones personalizadas para sistemas RAG: puede definir sus propias instrucciones personalizadas para crear un sistema RAG personalizado.
Uso de un recuperador como herramienta
Defina una herramienta que permita al modelo invocar un recuperador. La definición de la herramienta es un esquema JSON que se pasa en el parámetro de solicitud toolConfig
(ToolConfiguration) a la Converse
operación.
{
"tools": [
{
"toolSpec": {
"name": "Retrieve information tool",
"description": "This tool retrieves information from a custom database",
"inputSchema": {
"json": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "This is the description of the query parameter"
}
},
"required": [
"query"
]
}
}
}
}
]
}
Una vez definida la herramienta, puedes pasar la configuración de la herramienta como parámetro en la API de conversión.
¿Cómo interpretar los elementos de respuesta
Recibirás una respuesta del modelo en formato JSON en la «función» del asistente, siendo el tipo de contenido «ToolUse» o como tipo de contexto «texto» si el modelo decide no utilizar la herramienta de recuperación. Si el modelo elige usar la herramienta de recuperación, la respuesta identificará la herramienta (tool_name). La información sobre cómo debe usarse la herramienta solicitada se encuentra en el mensaje que devuelve el modelo en el campo output
() ConverseOutput. Específicamente, el campo toolUse
(ToolUseBlock). El campo toolUseId
se utiliza para identificar la solicitud de herramienta en llamadas posteriores.
{
"output": {
"message": {
"role": "assistant",
"content": [
{
"toolUse": {
"toolUseId": "tooluse_1234567",
"name": "Retrieve information tool",
"input": {
"query": "Reformatted user query" #various arguments needed by the chosen tool
}
}
}
]
}
},
"stopReason": "tool_use"
}
Desde el toolUse
campo de la respuesta del modelo, puede usar el name
campo para identificar el nombre de la herramienta. A continuación, llame a la implementación de la herramienta y pase los parámetros de entrada desde el input
campo.
¿Cómo volver a introducir el contenido recuperado en la API de Converse
Para volver a ejecutar los resultados recuperados en Amazon Nova, ahora puede crear un mensaje de bloqueo de herramientas que incluya un bloque de contenido toolResult
(ToolResultBlock) dentro del rol de usuario. En el bloque de contenido, incluya la respuesta de la herramienta y el ID de la solicitud de herramienta que ha recibido en el paso anterior.
{
"role": "user",
"content": [
{
"toolResult": {
"toolUseId": "tooluse_1234567",
"content": [
{
"json": {
"Text chunk 1": "retrieved information chunk 1",
"Text chunk 2": "retrieved information chunk 2"
}
}
],
"status": "success | error"
}
}
]
}
El ToolResult puede tener «contenido», que puede incluir «texto», «JSON» e «imagen» (según el modelo utilizado). Si se produce un error en la herramienta, como una solicitud de argumentos inexistentes o incorrectos, puede enviar la información del error al modelo en el toolResult
campo. Para indicar un error, especifique error
en el campo status
.