Desarrollar aplicaciones de IA generativa con
En el artículo anterior de esta serie , analizamos el canal de incorporación, que puebla el
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.
Incluso las mejores estrategias de integración y fragmentación no pueden reemplazar la necesidad de calidad.
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.
Recuperación activa prospectiva, o
Puede ver un ejemplo de cómo funciona FLARE en el ejemplo del libro de cocina de LangChain sobre FLARE .
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í:
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.
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.
Por Chris Latimer, DataStax
También aparece aquí .