QA avec LLM et RAG (Génération augmentée de récupération)
Ce projet est une question qui répond à une application avec des modèles de grande langue (LLMS) et Amazon Aurora PostgreSQL à l'aide de PGVector. Une application utilisant l'approche RAG (récupération de génération augmentée) récupère les informations les plus pertinentes pour la demande de l'utilisateur de la base de connaissances ou du contenu d'entreprise, le soutient comme contexte avec la demande de l'utilisateur en tant qu'invite, puis l'envoie au LLM pour obtenir une réponse Genai.
Les LLM ont des limites autour du nombre maximal de mots pour l'invite d'entrée, en choisissant ainsi les bons passages parmi des milliers ou des millions de documents dans l'entreprise, a un impact direct sur la précision de la LLM.
Dans ce projet, Amazon Aurora PostgreSQL avec PGVector est utilisé pour la base de connaissances.
L'architecture globale est comme ceci:
Flux de travail global
- Déployez les piles CDK (pour plus d'informations, voir ici).
- Un studio Sagemaker dans un VPC privé.
- Un point de terminaison Sagemaker pour la génération de texte.
- Un point de terminaison Sagemaker pour générer des intérêts.
- Un cluster Amazon Aurora PostgreSQL pour stocker des intégres.
- Les informations d'accès du cluster Aurora PostgreSQL (nom d'utilisateur et mot de passe) stockées dans AWS Secrets Mananger comme un nom tel que
RAGPgVectorStackAuroraPostg-xxxxxxxxxxxx .
- Ouvrez JupyterLab dans Sagemaker Studio, puis ouvrez un nouveau terminal.
- Exécutez les commandes suivantes sur le terminal pour cloner le référentiel de code pour ce projet:
git clone --depth=1 https://github.com/aws-samples/rag-with-amazon-postgresql-using-pgvector.git
- Ouvrez
data_ingestion_to_pgvector.ipynb Notebook et exécutez-les. (Pour plus d'informations, voir ici) - Exécutez l'application Streamlit. (Pour plus d'informations, voir ici)
Références
- Tirez parti de PGVector et Amazon Aurora Postgresql pour le traitement du langage naturel, les chatbots et l'analyse des sentiments (2023-07-13)
- Accélérer l'indexation et la recherche HNSW avec PGVector sur Amazon Aurora Postgresql Compatible Edition et Amazon RDS pour PostgreSQL (2023-11-06)
- Optimiser les applications génératrices d'IA avec indexation PGVector: une plongée profonde dans les techniques IVFFlat et HNSW (2024-03-15)
- Améliorer les performances des charges de travail généatives de l'IA sur Amazon Aurora avec des lectures optimisées et PGVector (2024-02-09)
- Construire une recherche alimentée par AI dans PostgreSQL à l'aide d'Amazon Sagemaker et PGVector (2023-05-03)
- Créer des applications Streamlit dans Amazon Sagemaker Studio (2023-04-11)
- Construisez rapidement les applications génératrices de l'IA de haute précision sur les données d'entreprise à l'aide d'Amazon Kendra, de Langchain et de modèles de langage grand (2023-05-03)
- (github) Échantillons de rétractation Amazon Kendra
- Question Répondre à l'utilisation de la génération augmentée de récupération avec des modèles de fondation dans Amazon Sagemaker Jumpstart (2023-05-02)
- Utilisez des modèles de fondation propriétaire d'Amazon Sagemaker Jumpstart dans Amazon Sagemaker Studio (2023-06-27)
- Langchain - Un cadre pour le développement d'applications alimentées par des modèles de langage.
- STAILLIT - Un moyen plus rapide de créer et de partager des applications de données
- Rag-with-Amazon-Kendra-and-Sagemaker - Question répondant à une application avec des modèles de grande langue (LLMS) et Amazon Kendra
- Rag-With-Amazon-Opensearch-and-Sagemaker - Question Répondez à une application avec des modèles de grande langue (LLMS) et Amazon OpenSearch Service
- Rag-with-Amazon-Opensearch-Serverless - Question répondant à une application avec des modèles de grande langue (LLMS) et Amazon Opensearch Serverless Service
- PGVector Changelog - V0.4.0 (2023-01-11)
Augmentation des dimensions maximales pour le vecteur de 1024 à 16000
Augmentation des dimensions maximales pour l'index de 1024 à 2000
Sécurité
Voir contribuer pour plus d'informations.
Licence
Cette bibliothèque est autorisée sous la licence MIT-0. Voir le fichier de licence.