Control de calidad con LLM y RAG (Generación Aumentada de Recuperación)
Este proyecto es una aplicación de respuesta a preguntas con modelos de lenguajes grandes (LLM) y Amazon Aurora Postgresql utilizando pgvector. Una aplicación que utiliza el enfoque RAG (Generación Aumentada de Recuperación) recupera la información más relevante para la solicitud del usuario de la base de conocimientos o el contenido de la empresa, la agrupa como contexto junto con la solicitud del usuario como un mensaje y luego la envía al LLM para obtener una Respuesta de GenAI.
Los LLM tienen limitaciones en cuanto al recuento máximo de palabras para el mensaje de entrada, por lo tanto, elegir los pasajes correctos entre miles o millones de documentos en la empresa tiene un impacto directo en la precisión del LLM.
En este proyecto, se utiliza Amazon Aurora Postgresql con pgvector como base de conocimientos.
La arquitectura general es así:
Flujo de trabajo general
- Implemente las pilas de cdk (para obtener más información, consulte aquí).
- Un SageMaker Studio en una VPC privada.
- Un punto final de SageMaker para la generación de texto.
- Un punto final de SageMaker para generar incrustaciones.
- Un clúster de Amazon Aurora Postgresql para almacenar incorporaciones.
- Las credenciales de acceso del clúster Aurora Postgresql (nombre de usuario y contraseña) almacenadas en AWS Secrets Mananger como un nombre como
RAGPgVectorStackAuroraPostg-xxxxxxxxxxxx
.
- Abra SageMaker Studio y luego abra una nueva terminal del sistema .
- Ejecute los siguientes comandos en la terminal para clonar el repositorio de código para este proyecto:
git clone --depth=1 https://github.com/ksmin23/rag-with-postgresql-pgvector-and-sagemaker.git
- Abra el cuaderno
data_ingestion_to_pgvector.ipynb
y ejecútelo. (Para más información ver aquí) - Ejecute la aplicación Streamlit. (Para más información ver aquí)
Referencias
- Aproveche pgvector y Amazon Aurora PostgreSQL para procesamiento de lenguaje natural, chatbots y análisis de sentimientos (2023-07-13)
- Acelere la indexación y la búsqueda de HNSW con pgvector en la edición compatible con Amazon Aurora PostgreSQL y Amazon RDS para PostgreSQL (2023-11-06)
- Optimice las aplicaciones de IA generativa con indexación pgvector: una inmersión profunda en las técnicas IVFFlat y HNSW (2024-03-15)
- Mejore el rendimiento de las cargas de trabajo de IA generativa en Amazon Aurora con lecturas optimizadas y pgvector (2024-02-09)
- Creación de búsquedas impulsadas por IA en PostgreSQL utilizando Amazon SageMaker y pgvector (03/05/2023)
- Cree aplicaciones Streamlit en Amazon SageMaker Studio (2023-04-11)
- Cree rápidamente aplicaciones de IA generativa de alta precisión sobre datos empresariales utilizando Amazon Kendra, LangChain y modelos de lenguaje grandes (2023-05-03)
- (github) Muestras de Amazon Kendra Retriver
- Respuesta a preguntas mediante recuperación de generación aumentada con modelos básicos en Amazon SageMaker JumpStart (2023-05-02)
- Utilice modelos básicos patentados de Amazon SageMaker JumpStart en Amazon SageMaker Studio (27 de junio de 2023)
- LangChain: un marco para desarrollar aplicaciones basadas en modelos de lenguaje.
- Streamlit: una forma más rápida de crear y compartir aplicaciones de datos
- rag-with-amazon-kendra-and-sagemaker: aplicación de respuesta a preguntas con modelos de lenguaje grandes (LLM) y Amazon Kendra
- rag-with-amazon-opensearch-and-sagemaker: aplicación de respuesta a preguntas con modelos de lenguaje grandes (LLM) y Amazon OpenSearch Service
- rag-with-amazon-opensearch-serverless: aplicación de respuesta a preguntas con modelos de lenguaje grandes (LLM) y servicio sin servidor de Amazon OpenSearch
- Registro de cambios de pgvector
Se aumentaron las dimensiones máximas para el vector de 1024 a 16000.
Dimensiones máximas aumentadas para el índice de 1024 a 2000