1. Learn
  2. /
  3. Courses
  4. /
  5. Développer des applications LLM avec LangChain

Connected

Exercise

Préparer les documents et la base vectorielle

Au cours des prochains exercices, vous allez bâtir un flux de travail RAG complet pour clavarder avec un document PDF contenant l'article « RAG VS Fine-Tuning: Pipelines, Tradeoffs, and a Case Study on Agriculture » de Balaguer et al. (2024). Le procédé consiste à découper les documents en segments, à les stocker dans une base de données vectorielle, à définir une invite pour relier les documents récupérés et l'entrée de l'utilisateur, puis à construire une chaîne de récupération permettant au LLM d'accéder à ces données externes.

Dans cet exercice, vous allez préparer le document pour l'entreposage et l'ingérer dans une base de données vectorielle Chroma. Vous utiliserez un RecursiveCharacterTextSplitter pour segmenter le PDF, puis vous l'ingérerez dans une base vectorielle Chroma à l'aide d'une fonction d'empaquetage OpenAI. Comme pour le reste du cours, vous n'avez pas à fournir votre propre clé d'API OpenAI.

Les classes suivantes ont déjà été importées pour vous : RecursiveCharacterTextSplitter, Chroma et OpenAIEmbeddings.

Instructions

100 XP
  • Découpez les documents dans data en utilisant un RecursiveCharacterTextSplitter avec un chunk_size de 300 et un chunk_overlap de 50.
  • Utilisez la méthode .from_documents() pour créer les vecteurs et ingérer les documents dans une base de données vectorielle Chroma avec la fonction d'empaquetage OpenAI fournie.
  • Configurez vectorstore en un objet « retriever » qui renvoie les 3 meilleurs documents à utiliser dans la chaîne RAG finale.