En este proyecto, construí un trapo en el LLAMA3-70B-8192 LLM, accedido con Groq API. Los documentos utilizados para RAG se recuperaron a través de WebScapping of the Segedly Blog, que contiene artículos sobre finanzas personales. Los artículos que recuperé se trataban principalmente de comprar propiedades en Singapur y pólizas de seguro. El objetivo es desarrollar un modelo de lenguaje que sea más consciente del contexto y capaz de responder preguntas relacionadas con las finanzas personales dentro del contexto de Singapur.
Utilicé Scrapy para raspar los artículos, el modelo All-Minilm-L6-V2 para la conversión de fragmentos de texto en embedidas y la tienda Vector Faiss para el almacenamiento y recuperación de texto. Finalmente, utilicé Langchain para interactuar todos los diferentes componentes, desde la recuperación de fragmentos de texto hasta provocar estructuración y encadenamiento para lograr una salida deseada.
La salida final se genera encadenando dos indicaciones, el primero en resumir el contexto proporcionado (los 3 principales fragmentos de texto similar a la pregunta que el usuario hizo), y el segundo para generar una respuesta real. Esto es para garantizar que el aviso utilizado para generar respuestas no se vuelva demasiado tiempo (si contiene fragmentos de texto de longitud completa como contexto), lo que permite que se proporcione más contexto a la LLM.
El encadenamiento de indicaciones funciona como se esperaba, con resumen de fragmentos de texto agregados con éxito a la segunda solicitud. El rendimiento de la tubería varía según la calidad de los documentos de contexto proporcionados.
Al hacer este proyecto, aprendí cómo implementar un trapo usando Langchain, cómo interactuar un LLM con plantillas de inmediato y encadenar con aviso utilizando el lenguaje de expresión de Langchain (LCEL) y cómo usar tiendas vectoriales e incrustar funciones junto con Langchain. Creo que estos conceptos fundamentales del desarrollo de aplicaciones LLM me permitirán construir aplicaciones LLM más complejas en el futuro.