Las empresas de todos los sectores se enfrentan a un desafío común: cómo extraer eficientemente información valiosa de grandes cantidades de datos no estructurados. Los enfoques tradicionales a menudo implican procesos que requieren muchos recursos y modelos inflexibles. Esta publicación presenta una solución revolucionaria: el uso de Claude Tool en Amazon Bedrock, que utiliza el poder de los modelos de lenguaje grandes (LLM) para realizar un reconocimiento de entidades dinámico y adaptable sin una configuración o capacitación extensa.
En esta publicación, analizamos:
Qué es el uso de Claude Tool (llamada a funciones) y cómo funciona Cómo utilizar Claude Tool para extraer datos estructurados mediante indicaciones en lenguaje natural Configurar una canalización sin servidor con Amazon Bedrock, AWS Lambda y Amazon Simple Storage Service (S3) Implementar extracción dinámica de entidades para varios tipos de documentos Implementar una solución lista para producción siguiendo las mejores prácticas de AWS
¿Cuál es el uso de Claude Tool (llamada a funciones)?
El uso de Claude Tool, también conocido como llamada de función, es una capacidad poderosa que nos permite aumentar las habilidades de Claude estableciendo e invocando funciones o herramientas externas. Esta característica nos permite brindarle a Claude una colección de herramientas preestablecidas a las que puede acceder y emplear según sea necesario, mejorando su funcionalidad.
Cómo funciona el uso de Claude Tool con Amazon Bedrock
Amazon Bedrock es un servicio de inteligencia artificial (IA) generativa totalmente administrado que ofrece una variedad de modelos básicos (FM) de alto rendimiento de líderes de la industria como Anthropic. Amazon Bedrock hace que la implementación del uso de la herramienta Claude sea notablemente sencilla:
Los usuarios definen un conjunto de herramientas, incluidos sus nombres, esquemas de entrada y descripciones. Se proporciona un mensaje de usuario que puede requerir el uso de una o más herramientas. Claude evalúa el mensaje y determina si alguna herramienta podría ser útil para abordar la pregunta o tarea del usuario. Si corresponde, Claude selecciona qué herramientas utilizar y con qué aportaciones.
Descripción general de la solución
En esta publicación, demostramos cómo extraer campos personalizados de licencias de conducir utilizando Claude Tool en Amazon Bedrock. Esta solución sin servidor procesa documentos en tiempo real y extrae información como nombres, fechas y direcciones sin la capacitación del modelo tradicional.
Arquitectura
Nuestra solución personalizada de reconocimiento de entidades utiliza una arquitectura sin servidor para procesar documentos de manera eficiente y extraer información relevante utilizando el modelo Claude de Amazon Bedrock. Este enfoque minimiza la necesidad de una gestión de infraestructura compleja al tiempo que proporciona capacidades de procesamiento escalables bajo demanda.
La arquitectura de la solución utiliza varios servicios de AWS para crear un proceso fluido. Así es como funciona el proceso:
Los usuarios cargan documentos en Amazon S3 para su procesamiento. Una notificación de evento PUT de S3 activa una función de AWS Lambda. Lambda procesa el documento y lo envía a Amazon Bedrock. Amazon Bedrock invoca a Anthropic Claude para la extracción de entidades. Los resultados se registran en Amazon CloudWatch para su monitoreo.
El siguiente diagrama muestra cómo estos servicios funcionan juntos:
Componentes de arquitectura
Amazon S3: almacena documentos de entrada AWS Lambda: se activa al cargar archivos, envía indicaciones y datos a Claude, almacena resultados Amazon Bedrock (Claude): procesa entradas y extrae entidades Amazon CloudWatch: monitorea y registra el rendimiento del flujo de trabajo
Requisitos previos
Guía de implementación paso a paso:
Esta guía de implementación demuestra cómo crear una solución de procesamiento de documentos sin servidor utilizando Amazon Bedrock y los servicios de AWS relacionados. Si sigue estos pasos, puede crear un sistema que extraiga automáticamente información de documentos como licencias de conducir, evitando la entrada manual de datos y reduciendo el tiempo de procesamiento. Ya sea que maneje unos pocos documentos o miles, esta solución puede escalarse automáticamente para satisfacer sus necesidades y al mismo tiempo mantener una precisión constante en la extracción de datos.
Configuración de su entorno (10 minutos) Cree un depósito S3 de origen para la entrada (por ejemplo, entrada de licencia de conducir). Configure roles y permisos de IAM: { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "bedrock:InvokeModel", "Resource": "arn:aws:bedrock:*::foundation-model/*", "arn:aws:bedrock:*:111122223333:inference-profile/*” }, { "Effect": "Allow", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*" } ] } Creación de la función Lambda (30 minutos)
Esta función Lambda se activa automáticamente cuando se carga una nueva imagen en su depósito S3. Lee la imagen, la codifica en base64 y la envía a Claude 4.5 Sonnet a través de Amazon Bedrock utilizando la API de uso de herramientas. La función define una única herramienta llamada extract_license_fields con fines de demostración. Sin embargo, puede definir esquemas y nombres de herramientas según su caso de uso, por ejemplo, extraer datos de tarjetas de seguro, credenciales de identificación o formularios comerciales. Claude selecciona dinámicamente si desea llamar a su herramienta según la relevancia del mensaje y la estructura de entrada.
Estamos usando "tool_choice": "auto" para permitir que Claude decida cuándo invocar la función. En casos de uso de producción, es posible que desee codificar “tool_choice”: { “type”: “tool”, “name”: “your_tool_name” } para un comportamiento determinista. Vaya a la consola de AWS Lambda. Elija Crear función. Seleccione Autor desde cero. Establezca el tiempo de ejecución en Python 3.12. Elija Crear función.
Configurar el tiempo de espera de Lambda En la configuración de la función Lambda, haga clic en la pestaña Configuración general. En Configuración general, haga clic en Editar para tiempo de espera, aumente desde los 3 segundos predeterminados hasta al menos 30 segundos. Recomendamos configurarlo entre 1 y 2 minutos para imágenes más grandes. Elija Guardar.
Nota: Este ajuste es crucial porque el procesamiento de imágenes a través de Claude puede tardar más que el tiempo de espera predeterminado de Lambda, especialmente para imágenes de alta resolución o cuando se procesan varios campos. Supervise el tiempo de ejecución de su función en CloudWatch Logs para ajustar esta configuración a su caso de uso específico.
Pegue este código en el archivo de código lambda_function.py:
Implemente la función Lambda: después de pegar el código, elija el botón Implementar en el lado izquierdo del editor de código y espere el mensaje de confirmación de implementación.
Importante: recuerde siempre implementar su código después de realizar cambios. Esto garantiza que su código más reciente se guarde y se ejecute cuando se active la función Lambda. Trabajar con esquemas de uso de herramientas de Claude Amazon Bedrock con Claude 4.5 Sonnet admite llamadas de funciones mediante el uso de herramientas, donde se definen herramientas invocables con esquemas JSON claros. Una entrada de herramienta válida debe incluir: nombre: identificador de su herramienta (por ejemplo, extract_license_fields) input_schema: esquema JSON que define los campos, tipos y estructura requeridos Ejemplo de definición de uso de herramienta:
Puede definir varias herramientas en la matriz de herramientas. Claude selecciona uno (o ninguno) según el valor de opción_herramienta y qué tan bien el mensaje coincide con un esquema determinado. Configurar la notificación de eventos de S3 (5 minutos) Abra la consola de Amazon S3. Seleccione su depósito S3. Haga clic en la pestaña Propiedades. Desplácese hacia abajo hasta Notificaciones de eventos. Haga clic en Crear notificación de evento. Introduzca un nombre para la notificación (por ejemplo, "LambdaTrigger"). En Tipos de eventos, seleccione PUT. En Destino, seleccione la función Lambda. Elija su función Lambda en el menú desplegable. Haga clic en Guardar cambios. Prueba y validación (15 minutos) Formatos admitidos: Claude 4.5 admite entradas de imágenes en formatos JPEG, PNG, WebP y GIF de un solo cuadro. Nota: Si bien esta implementación actualmente solo admite imágenes .jpeg, puede ampliar la compatibilidad con otros formatos modificando el campo media_type en la función Lambda para que coincida con el tipo MIME del archivo cargado. Límites de tamaño y resolución: Tamaño máximo de imagen: 20 MB Resolución recomendada: 300 DPI o superior Dimensiones máximas: 4096 x 4096 píxeles Es posible que las imágenes más grandes no se procesen o produzcan resultados inexactos. Consejos de preprocesamiento para una mayor precisión: recorte la imagen con precisión para eliminar el ruido y las secciones irrelevantes. Ajuste el contraste y el brillo para garantizar que el texto sea claramente legible. Corrija los escaneos y asegúrese de que el texto esté alineado horizontalmente. Evite capturas de pantalla de baja resolución o imágenes con artefactos de compresión elevados. Prefiere fondos blancos y texto oscuro para obtener la máxima claridad de OCR. Cargar imagen de prueba: Abra su depósito S3. Cargue una imagen de licencia de conducir (formatos admitidos: .jpeg, .jpg). Nota: Asegúrese de que la imagen sea clara y legible para obtener mejores resultados. Supervisar los registros de CloudWatch Vaya a la consola de Amazon CloudWatch. Haga clic en Registrar grupos en la navegación izquierda. Busque el nombre de su función Lambda invoke_drivers_license. Haga clic en el último flujo de registro (ordenado por marca de tiempo). Vea los resultados de la ejecución, que muestran este resultado de muestra: