paint-brush
Lograr respuestas relevantes de LLM abordando los desafíos comunes de la generación aumentada de recuperaciónpor@datastax
745 lecturas
745 lecturas

Lograr respuestas relevantes de LLM abordando los desafíos comunes de la generación aumentada de recuperación

por DataStax4m2024/01/16
Read on Terminal Reader

Demasiado Largo; Para Leer

Analizamos los problemas comunes que pueden surgir con las implementaciones de RAG y las interacciones LLM.
featured image - Lograr respuestas relevantes de LLM abordando los desafíos comunes de la generación aumentada de recuperación
DataStax HackerNoon profile picture
0-item
1-item


Desarrollar aplicaciones de IA generativa con recuperación de generación aumentada (RAG) y las bases de datos vectoriales pueden ser un desafío. A menudo necesitará solucionar problemas de implementaciones RAG que dependen de bases de datos vectoriales para garantizar que se recupere el contexto relevante; Esto es fundamental, porque ese contexto se incluye luego en una indicación de un modelo de lenguaje grande para proporcionar resultados más precisos.


En el artículo anterior de esta serie , analizamos el canal de incorporación, que puebla el base de datos vectorial con incrustaciones, y consideró tres áreas que pueden conducir a malos resultados: modelos de incrustación subóptimos, estrategias de fragmentación ineficientes y falta de filtrado de metadatos.

Aquí, veremos la interacción real con el LLM y examinaremos un par de problemas comunes que pueden conducir a malos resultados: indicaciones imprecisas y enfoques de generación insuficientes.

Refinamiento rápido

Incluso las mejores estrategias de integración y fragmentación no pueden reemplazar la necesidad de calidad. pronta ingeniería . Esto implica hacer que las indicaciones sean más explícitas, específicas y alineadas con el resultado previsto. Se deben probar diversos formatos de mensajes, longitudes y opciones léxicas para afinar el proceso RAG.

Una mirada simplificada a un LLM


Específicamente, hay varias cosas que debe considerar al crear indicaciones para aplicaciones RAG. Éstas incluyen:


Dígale al LLM su función: al interactuar con agentes de LLM como ChatGPT, actuarán de forma predeterminada como un chatbot útil. Sin embargo, puede alterar la naturaleza de las respuestas que se generarán instruyendo al LLM para que actúe de una manera particular. Algunos ejemplos podrían ser cosas como “usted es un abogado que evalúa si alguna de las partes incumple un acuerdo” o “usted es un agente de servicio al cliente de un proveedor de servicios de Internet; su trabajo es ayudar a las personas a solucionar sus problemas de Internet” o lo que tenga sentido para su situación particular.


Dígale explícitamente al LLM que use el contexto proporcionado : déjele claro al LLM que está proporcionando contexto y que desea que la respuesta generada refleje ese contexto. Puedes hacerlo diciendo algo como “tu respuesta debe tener en cuenta el siguiente contexto” seguido del contexto. Utilice ejemplos: en el escenario recién mencionado de pedirle al LLM que actúe como abogado evaluando contratos, es posible que desee incluir varios ejemplos en el mensaje. Por ejemplo, podría proporcionar un ejemplo de un contrato que diga que el pago vence dentro de los 30 días, pero el comprador no envió el pago hasta 40 días después de la firma del contrato y, por lo tanto, violó el acuerdo. Podría proporcionar ejemplos adicionales de derechos de reparación y posibles formas de resolver violaciones de contrato.


Especifique el formato de salida: si su caso de uso requiere una salida específica, puede especificar el formato al que debe adherirse la salida generada. Puede combinar esta técnica junto con el consejo anterior para proporcionar ejemplos que le dejen claro al LLM cómo desea que responda, así como los puntos clave de información que espera en la respuesta generada.


Utilice la cadena de pensamiento : para casos de uso en los que interviene el razonamiento para determinar la respuesta adecuada, puede considerar el uso de una técnica llamada cadena de pensamiento para ayudar a explicar los pasos que desea que siga el LLM para llegar a una respuesta generada. Por ejemplo, en el caso de contratos legales, es posible que desee guiar al LLM a través de los pasos lógicos que una persona seguiría para determinar si se ha violado un término del contrato. Por ejemplo, cuando se trata de contratos legales, puede indicarle al LLM que primero busque cláusulas que especifiquen las condiciones de pago, luego identifique la cantidad de tiempo que tuvo el comprador para presentar el pago y luego calcule la cantidad de días entre el momento en que se recibió el pago y el fecha en que se firmó el contrato. Luego, si el pago tardó más del plazo acordado, el comprador violó el acuerdo.


Aprovechar estas técnicas para mejorar su ingeniería rápida puede tener un impacto significativo en la calidad de los resultados generados que puede producir en sus aplicaciones RAG. Sin embargo, a veces será necesario utilizar técnicas que impliquen múltiples intercambios con el LLM para lograr una respuesta aceptable.

Patrones avanzados

LLAMARADA

Recuperación activa prospectiva, o LLAMARADA , es un ejemplo de una técnica RAG de consultas múltiples que implica llamar iterativamente al LLM con instrucciones personalizadas en su mensaje que le piden al LLM que proporcione preguntas adicionales sobre frases clave que lo ayudarían a generar una mejor respuesta. Una vez que el LLM tiene un contexto sin lagunas, finaliza con la respuesta final. El proceso agrega un bucle entre el LLM y el agente de IA (el chatbot de IA en el diagrama) para facilitar estas iteraciones:

LLAMARADA


Puede ver un ejemplo de cómo funciona FLARE en el ejemplo del libro de cocina de LangChain sobre FLARE .

Fusión de trapo

Al generar consultas similares a la consulta del usuario y recuperar el contexto relevante tanto para la consulta original como para las consultas similares generadas, podemos aumentar la probabilidad de que hayamos seleccionado el contexto más útil para generar resultados precisos. El proceso, llamado "fusión RAG", se ve así:

Fusión de trapo

El paso clave aquí es utilizar una función de clasificación recíproca para refinar aún más los resultados de ANN para identificar el contexto más relevante a utilizar para generar una respuesta.

Conclusión

RAG es un enfoque con el que es sencillo empezar, pero que a menudo deja a los desarrolladores frustrados con resultados insatisfactorios por razones poco claras. La relevancia de los resultados en las aplicaciones de IA generativa habilitadas por RAG puede verse afectada por varios factores. Al seleccionar meticulosamente modelos integrados, formular estrategias de fragmentación y diseñar indicaciones, puede elevar significativamente la calidad y precisión de las respuestas generadas en sistemas impulsados por LLM como ChatGPT. Esperamos que estos consejos le ayuden a crear aplicaciones RAG más útiles que brinden la experiencia y el valor que busca.


Pruebe DataStax Astra DB , la única base de datos vectorial para crear aplicaciones de IA a nivel de producción a partir de datos en tiempo real .


Por Chris Latimer, DataStax


También aparece aquí .