Ouvrir dans l'application Inscrivez-vous Connectez-vous
Recherche
RAG - Questions-réponses PDF Utilisation de
Llama 2 en 8 étapes
Sanjjushri Varshini R · Suivre
2 min de lecture · 31 mars 2024
Écoute Partager
1. Importation des modules requis : Ici, des modules essentiels tels que la
langchain et ses composants sont importés pour configurer l'environnement
pour les questions et réponses PDF à l'aide de RAG.
# Importer les modules requis
de langchain importation moyeu
de [Link] importation RécupérationQA
de [Link].streaming_stdout importation StreamingStdOutCallbackHandler
de [Link] importation Responsable des rappels
de [Link] importation Ollama
de [Link] importation OllamaEmbeddings
de [Link] importation Chroma
de langchain.text_splitter importation RecursiveCharacterTextSplitter
de langchain.document_loaders importation PyPDFLoader
de [Link] importation Modèle d'invite
de [Link] importation ConversationBufferMémoire
2. Définition du chemin de fichier et des paramètres du modèle : Cet extrait établit
des variables telles que FILEPATH pour le fichier PDF à traiter et spécifie le modèle
à utiliser localement comme “lama2”.
FILEPATH = "é[Link]"
LOCAL_MODÈLE = "llama2"
INTÉGRATION = "texte atomique intégré"
3. Chargement des données PDF : Le document PDF spécifié dans FILEPATH est
chargé à l'aide de PyPDFLoader et son contenu est récupéré pour un traitement
ultérieur.
chargeur = PyPDFLoader (FILEPATH)
données = [Link]()
text_splitter = RecursiveCharacterTextSplitter(
chunk_size=1500, chunk_overlap=100)
all_splits = text_splitter.split_documents(données)
4. Diviser le texte du document : Le texte du document chargé est divisé en
morceaux gérables à l'aide de RecursiveCharacterTextSplitter pour faciliter un
traitement efficace.
persist_directory = " données "
vectorstore = Chroma.from_documents(
documents=all_splits,
embedding=OllamaEmbeddings(modèle=EMBEDDING),
persist_directory=persist_directory
)
5. Création d'un magasin de vecteurs : La mémoire vectorielle Chroma est générée à
partir des documents divisés, en utilisant les intégrations Ollama pour la
représentation sémantique.
llm = Ollama(base_url="[Link]
modèle=LOCAL_MODEL,
verbose=Vrai,
callback_manager=CallbackManager(
[StreamingStdOutCallbackHandler()])
)
retriever = vectorstore.as_retriever()
6. Définir le modèle rapide et la gestion de la mémoire : Un modèle d'invite est
défini pour structurer l'interaction entre l'utilisateur et le chatbot. De plus, un
mécanisme de mémoire est établi pour maintenir l'historique des conversations.
modèle = « » « Vous êtes un chatbot compétent, ici pour répondre aux questions
Contexte: {context}
Histoire: {histoire}
Utilisateur : {question}
Chatbot :
"""
invite = PromptTemplate(
entrée_variables=["histoire", "contexte", "question"],
modèle=template,
)
mémoire = ConversationBufferMemory(
mémoire_key="histoire",
retour_messages=Vrai,
entrée_key="question"
)
7. Configuration de la chaîne RetrievalQA : La chaîne RetrievalQA est instanciée,
intégrant les composants nécessaires aux questions-réponses, notamment le
modèle de langage, le retriever et la mémoire.
qa_chain = RetrievalQA.from_chain_type(
llm=llm,
chaîne_type=" trucs ",
retriever=retriever,
verbose=Vrai,
chaîne_type_kwargs={
"verbe": Vrai,
"prompt": prompt,
"mémoire": mémoire,
}
)
8. Configuration de la requête : Un exemple de requête est formulé, précisant les
informations recherchées concernant les méthodes de clustering dans le document
PDF.
requête = « Quelles méthodes de clustering ont été mises en œuvre ? »
requête += ". Uniquement à partir de ce pdf. Gardez-le court"
9. Chaîne de questions-réponses d'invocation : Enfin, la chaîne de questions-
réponses est invoquée avec la requête formulée, ce qui déclenche le modèle RAG
pour récupérer et générer une réponse concise à partir du contenu PDF.
qa_chain.invoquer({"requête": requête})
Les extraits de code décrits illustrent le processus complexe de mise en œuvre de
RAG pour les interactions de questions et réponses PDF, mettant en valeur la fusion
de techniques avancées de traitement du langage naturel avec l'analyse de
documents. En exploitant des modèles comme RAG dans les documents PDF, les
utilisateurs peuvent extraire de manière transparente des informations ciblées,
révolutionnant ainsi la façon dont nous interagissons avec les données textuelles.
GitHub : [Link]
Chatbot de données privé Rag Lama 2
Suivre
Écrit par Sanjjushri Varshini R
42 abonnés · 12 Suivant
Ingénieur logiciel | AI Chercheur
Réponses (1)
Écrire une réponse
Quelles sont vos pensées ?
Urveshkumar Koshti
9 septembre 2024
Il y a donc un gros Bug dans ce code ([Link])
L'explication est la suivante : j'ai essayé votre code et je l'ai testé mais il ne fonctionne pas parfaitement. Oui,
comme vous l'avez dit, il met à jour la base de données vectorielle lorsqu'il y a un nouveau pdf. Mais cela n'est
vrai que lorsque le... plus
Répondre
Plus de Sanjjushri Varshini R
Sanjjushri Varshini R
Discutez avec votre base de données SQL à l'aide de Vanna AI — Ollama
et ChromaDB
Dans cet article, nous explorerons l'exploitation de Vanna AI pour interagir de manière
transparente avec votre base de données SQL. Vanna AI combine le pouvoir des Grands...
22 juillet 2024 23
Dans featurepreneur par Sanjjushri Varshini R
Vous vous ennuyez de Jupyter? Explorons Marimo !
Configurez Marimo et créez votre projet Data Science !
21 juin 2024 74
Sanjjushri Varshini R
Imputation de données sans effort avec la forêt de souris en Python
Améliorez votre intégrité des données : maîtriser l'imputation des données manquantes avec la
forêt de souris
30 mai 2024 23
Sanjjushri Varshini R
Modèle d’apprentissage automatique de surveillance utilisant
évidemment l’IA
Rendre la surveillance ML efficace avec Evidently AI
19 mai 2024 24
Voir tout de Sanjjushri Varshini R
Recommandé à partir de Medium
Ferry Djaja
Créez un agent RAG avec LangGraph pour extraire les informations d'un
fichier PDF
Dans ce blog, nous allons construire un agent simple pour extraire les informations d'un fichier
PDF avec LangGraph. Nous utiliserons GPT-4o pour extraire...
23 septembre 2024 169 1
Pankaj
Débloquez la puissance de PyMuPDF4LLM : un changement de jeu pour
l'extraction de PDF et les flux de travail d'IA
Convertissez efficacement les PDF en données structurées pour les grands modèles
linguistiques et les systèmes de génération augmentés par récupération
15 octobre 2024 345 4
Listes
Traitement du langage naturel
histoires de 1981 · 1620 sauvegardes
Dans Codage de niveau supérieur par Khan à tarif
Tester 18 techniques RAG pour trouver le meilleur
crag, HyDE, fusion et plus encore !
il y a 2d 420 5
Dans Python en anglais simple par Codeurs Arrêter
Comment créer des PDF dynamiques à l'aide de Python : automatiser la
génération de rapports
Les PDF sont l'un des formats les plus largement utilisés pour le partage de documents, la
génération de rapports et la communication d'entreprise. Automatisation de la création de…
il y a 3d 11
Dans Primastat par Shivansh Kaushik
Créer de puissantes applications RAG avec Docling et LangChain : un
guide pratique
Découvrez comment créer des applications RAG prêtes pour la production en utilisant Docling
d'IBM pour le traitement de documents et LangChain.
26 décembre 2024 19 1
Benito Martin
Construire une application LLM multimodale avec PyMuPDF4LLM
Auteur : Benito Martin
30 septembre 2024 890 5
Voir plus de recommandations