Knowledge Bases Single Document.jpg

En AWS re: Inventar 2023, anunciamos la disponibilidad general de Bases de conocimiento para Amazon Bedrock. Con Knowledge Bases para Amazon Bedrock, puede conectar de forma segura modelos de base (FM) en Roca Amazónica a los datos de su empresa para una generación aumentada de recuperación (RAG) totalmente administrada.

En publicaciones anteriores, cubrimos nuevas capacidades como soporte de búsqueda híbrida, Filtrado de metadatos para mejorar la precisión de la recuperación.y cómo Knowledge Bases para Amazon Bedrock administra el flujo de trabajo RAG de un extremo a otro.

Hoy presentamos la nueva capacidad de chatear con su documento sin configuración en Knowledge Bases para Amazon Bedrock. Con esta nueva capacidad, puede hacer preguntas de forma segura sobre documentos individuales, sin la sobrecarga de configurar una base de datos vectorial o ingerir datos, lo que facilita que las empresas utilicen sus datos empresariales. Sólo necesita proporcionar un archivo de datos relevante como entrada y elegir su FM para comenzar.

Pero antes de entrar en los detalles de esta característica, comencemos con lo básico y comprendamos qué es RAG, sus beneficios y cómo esta nueva capacidad permite la recuperación y generación de contenido para necesidades temporales.

¿Qué es la recuperación de generación aumentada?

Los asistentes de inteligencia artificial (IA) impulsados ​​por FM tienen limitaciones, como proporcionar información desactualizada o tener dificultades con el contexto fuera de sus datos de entrenamiento. RAG aborda estos problemas permitiendo a los FM comparar fuentes de conocimiento autorizadas antes de generar respuestas.

Con RAG, cuando un usuario hace una pregunta, el sistema recupera el contexto relevante de una base de conocimientos seleccionada, como la documentación de la empresa. Proporciona este contexto al FM, que lo utiliza para generar una respuesta más informada y precisa. RAG ayuda a superar las limitaciones de FM al aumentar sus capacidades con el conocimiento exclusivo de una organización, lo que permite que los chatbots y los asistentes de IA proporcionen información actualizada y específica del contexto adaptada a las necesidades comerciales sin volver a capacitar a todo el FM. En AWS, reconocemos el potencial de RAG y hemos trabajado para simplificar su adopción a través de bases de conocimiento para Amazon Bedrock, brindando una experiencia RAG totalmente administrada.

Necesidades de información instantánea y a corto plazo.

Aunque una base de conocimientos hace todo el trabajo pesado y sirve como un gran almacén persistente de conocimientos empresariales, es posible que necesite acceso temporal a los datos para tareas específicas o análisis dentro de sesiones de usuarios aislados. Los enfoques RAG tradicionales no están optimizados para estos escenarios de acceso a datos a corto plazo basados ​​en sesiones.

Las empresas incurren en cargos por el almacenamiento y la gestión de datos. Esto puede hacer que RAG sea menos rentable para organizaciones con requisitos de información altamente dinámicos o efímeros, especialmente cuando los datos solo se necesitan para tareas o análisis específicos y aislados.

Haga preguntas en un solo documento sin configuración

Esta nueva capacidad de chatear con su documento dentro de las bases de conocimiento de Amazon Bedrock aborda los desafíos antes mencionados. Proporciona un método sin configuración para utilizar su documento único para la recuperación de contenido y tareas relacionadas con la generación, junto con los FM proporcionados por Amazon Bedrock. Con esta nueva capacidad, puede hacer preguntas sobre sus datos sin la sobrecarga de configurar una base de datos vectorial o ingerir datos, lo que facilita el uso de sus datos empresariales.

Ahora puede interactuar con sus documentos en tiempo real sin ingesta previa de datos ni configuración de base de datos. No es necesario realizar más pasos de preparación de datos antes de consultarlos.

Este enfoque sin configuración facilita el uso de los activos de información de su empresa con IA generativa mediante Amazon Bedrock.

Casos de uso y beneficios

Considere una empresa de contratación que necesita analizar currículums y encontrar candidatos con oportunidades laborales adecuadas en función de su experiencia y habilidades. Anteriormente, habría que configurar una base de conocimientos, invocando un flujo de trabajo de ingesta de datos para asegurarse de que solo los reclutadores autorizados puedan acceder a los datos. Además, deberá gestionar la limpieza cuando los datos ya no sean necesarios para una sesión o un candidato. Al final, pagaría más por el almacenamiento y la gestión de la base de datos vectorial que por el uso real de FM. Esta nueva característica en las bases de conocimiento de Amazon Bedrock permite a los reclutadores analizar currículums de manera rápida y efímera y relacionar candidatos con oportunidades laborales adecuadas según la experiencia y el conjunto de habilidades del candidato.

Para otro ejemplo, considere un gerente de producto en una empresa de tecnología que necesita analizar rápidamente los comentarios de los clientes y los tickets de soporte para identificar problemas comunes y áreas de mejora. Con esta nueva capacidad, simplemente puede cargar un documento para extraer información en poco tiempo. Por ejemplo, podría preguntar «¿Cuáles son los requisitos para la aplicación móvil?» o «¿Cuáles son los puntos débiles comunes mencionados por los clientes con respecto a nuestro proceso de incorporación?» Esta característica le permite sintetizar rápidamente esta información sin la molestia de la preparación de datos ni ninguna sobrecarga de gestión. También puede solicitar resúmenes o conclusiones clave, como «¿Cuáles son los aspectos más destacados de este documento de requisitos?»

Los beneficios de esta característica van más allá del ahorro de costos y la eficiencia operativa. Al eliminar la necesidad de bases de datos vectoriales y la ingesta de datos, esta nueva capacidad dentro de las bases de conocimiento de Amazon Bedrock ayuda a proteger sus datos de propiedad, haciéndolos accesibles solo dentro del contexto de sesiones de usuarios aislados.

Ahora que hemos cubierto los beneficios de las funciones y los casos de uso que permite, profundicemos en cómo puede comenzar a utilizar esta nueva función de las bases de conocimientos de Amazon Bedrock.

Chatea con tu documento en Bases de conocimiento para Amazon Bedrock

Tienes múltiples opciones para comenzar a usar esta función:

  • La consola Amazon Bedrock
  • El lecho rocoso del Amazonas RetrieveAndGenerate API (SDK)

Veamos cómo podemos empezar a utilizar la consola de Amazon Bedrock:

  1. En la consola de Amazon Bedrock, en Orquestación en el panel de navegación, elija Bases de conocimiento.
  2. Elegir Chatea con tu documento.
  3. Bajo Modeloelegir Seleccionar modelo.
  4. Elige tu modelo. Para este ejemplo, utilizamos el modelo Claude 3 Sonnet (solo admitimos Sonnet en el momento del lanzamiento).
  5. Elegir Aplicar.
  6. Bajo Datospuedes cargar el documento con el que deseas chatear o señalar el Servicio de almacenamiento simple de Amazon (Amazon S3) ubicación del depósito que contiene su archivo. Para esta publicación, subimos un documento desde nuestra computadora.

Los formatos de archivo admitidos son PDF, MD (Markdown), TXT, DOCX, HTML, CSV, XLS y XLSX. Asegúrese de que el tamaño del archivo no supere los 10 MB y no contenga más de 20.000 tokens. A simbólico se considera una unidad de texto, como una palabra, subpalabra, número o símbolo, que se procesa como una sola entidad. Debido al límite de token de ingesta preestablecido, se recomienda utilizar un archivo de menos de 10 MB. Sin embargo, un archivo con mucho texto, que sea mucho menor que 10 MB, puede potencialmente superar el límite de token.

Ahora estás listo para chatear con tu documento.

Como se muestra en la siguiente captura de pantalla, puede chatear con su documento en tiempo real.

Para personalizar su mensaje, ingrese su mensaje en Sistema inmediato.

De manera similar, puede utilizar el SDK de AWS a través del retrieve_and_generate API en los principales lenguajes de codificación. En el siguiente ejemplo, utilizamos el SDK de AWS para Python (Boto3):

import boto3

bedrock_client = boto3.client(service_name="bedrock-agent-runtime")
model_id = "your_model_id_here"    # Replace with your modelID
document_uri = "your_s3_uri_here"  # Replace with your S3 URI

def retrieveAndGenerate(input_text, sourceType, model_id, document_s3_uri=None, data=None):
    region = 'us-west-2'  
    model_arn = f'arn:aws:bedrock:{region}::foundation-model/{model_id}'

    if sourceType == "S3":
        return bedrock_client.retrieve_and_generate(
            input={'text': input_text},
            retrieveAndGenerateConfiguration={
                'type': 'EXTERNAL_SOURCES',
                'externalSourcesConfiguration': {
                    'modelArn': model_arn,
                    'sources': [
                        {
                            "sourceType": sourceType,
                            "s3Location": {
                                "uri": document_s3_uri  
                            }
                        }
                    ]
                }
            }
        )
        
    else:
        return bedrock_client.retrieve_and_generate(
            input={'text': input_text},
            retrieveAndGenerateConfiguration={
                'type': 'EXTERNAL_SOURCES',
                'externalSourcesConfiguration': {
                    'modelArn': model_arn,
                    'sources': [
                        {
                            "sourceType": sourceType,
                            "byteContent": {
                                "identifier": "testFile.txt",
                                "contentType": "text/plain",
                                "data": data  
                            }
                        }
                    ]
                }
            }
        )

response = retrieveAndGenerate(
                                input_text="What is the main topic of this document?",
                                sourceType="S3", 
                                model_id=model_id,
                                document_s3_uri=document_uri
                              )
                    
print(response['output']['text'])

Conclusión

En esta publicación, cubrimos cómo las bases de conocimientos de Amazon Bedrock ahora simplifican la formulación de preguntas en un solo documento. Exploramos los conceptos centrales detrás de RAG, los desafíos que aborda esta nueva característica y los diversos casos de uso que permite en diferentes roles e industrias. También demostramos cómo configurar y utilizar esta capacidad a través de la consola de Amazon Bedrock y el SDK de AWS, mostrando la simplicidad y flexibilidad de esta característica, que proporciona una solución sin configuración para recopilar información de un solo documento, sin configurar una base de datos vectorial. .

Para explorar más a fondo las capacidades de las bases de conocimientos de Amazon Bedrock, consulte los siguientes recursos:

Comparta y aprenda con nuestra comunidad de IA generativa en comunidad.aws.


Sobre los autores


Suman Debnath es uno de los principales defensores de los desarrolladores de aprendizaje automático en Amazon Web Services. Con frecuencia habla en conferencias, eventos y reuniones de AI/ML en todo el mundo. Le apasionan los sistemas distribuidos a gran escala y es un ávido fanático de Python.


Sebastián Múnera es ingeniero de software en el equipo de bases de conocimiento de Amazon Bedrock en AWS, donde se enfoca en crear soluciones para el cliente que aprovechen las aplicaciones RAG y la IA generativa. Anteriormente trabajó en la creación de soluciones basadas en IA generativa para que los clientes agilicen sus procesos y aplicaciones con código bajo/sin código. En su tiempo libre le gusta correr, levantar objetos y jugar con la tecnología.