QA avec LLM et RAG (Génération augmentée de récupération)
Ce projet est une question de répondant à une application avec des modèles de grande langue (LLMS) et un service Amazon OpenSensearch. 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, le service Amazon OpenSesearch 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 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 OpenSesearch pour stocker des intégres.
- Les informations d'accès d'accès du cluster d'OpenSearch (nom d'utilisateur et mot de passe) stockées dans AWS Secrets Mananger comme un nom tel que
OpenSearchMasterUserSecret1-xxxxxxxxxxxx .
- Ouvrez 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/ksmin23/rag-with-amazon-opensearch-and-sagemaker.git
- Ouvrez le cahier
data_ingestion_to_opensearch et exécutez-le. (Pour plus d'informations, voir ici) - Exécutez l'application Streamlit. (Pour plus d'informations, voir ici)
Références
- Construisez une question puissante répondant au bot avec Amazon Sagemaker, Amazon Opensearch Service, Streamlit et Langchain (2023-05-25)
- Utilisez des modèles de fondation propriétaire d'Amazon Sagemaker Jumpstart dans Amazon Sagemaker Studio (2023-06-27)
- 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)
- Les capacités de la base de données vectorielle d'Amazon OpenSearch Service expliquées
- 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
- Améliorer la pertinence de la recherche avec ML dans Amazon Opensearch Service Workshop - Module 7. Génération augmentée de récupération
- Rag-with-Amazon-Kendra - Question répondant à une application avec des modèles de grande langue (LLMS) et Amazon Kendra
- Rag-with-PostgreSQL-PGVector - Question Répondre à l'application avec des modèles de grande langue (LLMS) et Amazon Aurora PostgreSQL