Artículo
· 12 jun, 2024 Lectura de 4 min

Búsqueda vectorial + GenAI + tecnologías InterSystems con Banksia Global

 

¡Hola a todos! Aquí me gustaría compartir cómo utilizamos la búsqueda vectorial y la inteligencia artificial generativa (GenAI) con la tecnología de InterSystems. Como ejemplo, describiré el proyecto BG-AppealAI, que nuestra empresa presentó al concurso de Búsqueda Vectorial, GenAI y ML de InterSystems. La aplicación BG-AppealAI puede redactar una apelación si se sube un contrato de seguro y la carta de la compañía de seguros con la negativa a pagar los gastos médicos. Por supuesto, somos conscientes de que, en este momento, la IA no ha alcanzado un nivel tal como para crear documentos legales listos. Sin embargo, ya es posible crear herramientas que sirvan como asistentes para especialistas o usuarios comunes. De igual manera, nuestra aplicación es un asistente de IA que responde a la pregunta: "¿Es posible apelar?" y crea un borrador de carta de apelación, si es posible.

Explorad nuestra aplicación en acción siguiendo este enlace: https://appealai.cloud.banksia.global/#/welcome

También hemos creado un video que muestra nuestra aplicación: https://www.youtube.com/embed/0p6FvZpzaaA

Cómo funciona BG-AppealAI

Vectorización de contratos de seguro y cartas de rechazo: para poder asistir mejor con las apelaciones, la IA necesita un contexto de la denegación. Una de las formas posibles en que podemos proporcionar un contexto es citando partes relevantes de los contratos de seguro. Al recibir un contrato de seguro, BG-AppealAI lo descompone en partes, convirtiendo cada parte en un vector multidimensional. Estos vectores se almacenan en una base de datos InterSystems IRIS, lo que permite una recuperación rápida y precisa cuando sea necesario.

Búsqueda Vectorial: cuando subís una carta de denegación a la aplicación, BG-AppealAI la convierte en un vector, a este proceso se le llama vectorización. BG-AppealAI luego utiliza la funcionalidad de búsqueda vectorial de IRIS para comparar los vectores extraídos de la carta de rechazo con los vectores extraídos del contrato de seguro relevante.

Generación de apelaciones impulsada por IA: habiendo identificado un posible contexto para la apelación, BG-AppealAI envía una solicitud al servicio de IA generativa para evaluar la posibilidad de redactar una apelación. Si se considera apropiado, AppealAI envía una nueva solicitud para crear un borrador de carta de apelación.

 

¿Qué hay bajo el capó de BG-AppealAI?

Tradicionalmente, nuestra aplicación consta de una parte backend y una parte frontend, donde el frontend está desarrollado con el framework Angular y el backend con InterSystems IRIS. El video sobre nuestra aplicación ya ha mostrado el funcionamiento de la parte frontend de la aplicación y una breve descripción del producto; aquí quiero centrarme en la implementación de Interoperability Production (Interoperabilidad de producto) . Aquí es donde podemos ver claramente la aplicación de la búsqueda vectorial y la inteligencia artificial generativa.

De esta forma, identificamos los siguientes elementos en nuestro sistema:

1)ConversionToVector: Proceso que convierte el texto del documento en vectores utilizando LangChain, e invoca el proceso GetText y las operaciones SaveVector y SaveDocument para las acciones correspondientes.

 

2)GetText: Proceso que analiza los datos de un archivo en un flujo para su posterior procesamiento y análisis de texto. Aquí existe la oportunidad de trabajar con 2 tipos de extensiones: docx y pdf, ya que son las más comunes para documentos.

 

3)VectorSearch: Proceso que realiza una búsqueda vectorial y busca coincidencias entre documentos. Además, es en este proceso de negocio donde se llaman métodos para escribir prompts a la IA y analizar cartas de rechazo.

 

Nota: aquí utilizamos un modelo desarrollado por OpenAI y el framework LangChain. Todos los procesos de negocio están implementados utilizando Python embebido, ya que proporciona un acceso fácil para utilizar LangChain y escribir prompts a OpenAI.

4) AppealIn: Servicio que recibe el archivo de denegación y lo envía para su análisis.

5) DocumentIn: Servicio que recibe el archivo del contrato de seguro y lo envía para su vectorización.

6) OpenAiOut: Operación que realiza una solicitud a una IA generativa - OpenAI, recibe el prompt y devuelve una respuesta de GenAI.

7) SaveDocument: Operación que almacena el archivo del documento en la base de datos.

8) SaveVector: Operación que almacena los vectores en la base de datos.

9) SaveAppeal: Operación que obtiene el texto de la apelación y lo almacena en la base de datos.

La interacción de todos los elementos mencionados se muestra claramente en el seguimiento/rastreo visual. Aquí el seguimiento visual de la toma de un contrato de seguro, su división en vectores y el almacenamiento de los vectores en una base de datos:

 

Seguimiento visual de la recepción de una carta de denegación, el envío de solicitudes a OpenAI y el guardado de la carta de apelación en caso de que ésta sea posible:

 

Este es un ejemplo de carta de rechazo:

 

Este es un ejemplo de recurso escrito por BG-AppealAI:

 

Esperamos que nuestro proyecto de código abierto sea útil a esta comunidad y os ayude a implementar tecnologías innovadoras en vuestros proyectos. Nuestro equipo quiere agradecer a InterSystems la oportunidad de trabajar con tecnologías de vanguardia. Estamos impacientes por conocer sus opiniones y preguntas en los comentarios que aparecen a continuación. Sigamos superando juntos los límites de lo que es posible con la tecnología. Estad atentos a más actualizaciones y opiniones de nuestro equipo.

Si os ha gustado conocer BG-AppealAI y sus funciones y queréis apoyarnos, dedicad un momento a votar por nuestra aplicación aquí https://openexchange.intersystems.com/contest/36. Muchas gracias.

Comentarios (0)1
Inicie sesión o regístrese para continuar