1. Learn
  2. /
  3. Courses
  4. /
  5. Developing LLM Applications with LangChain

Connected

Exercise

Pregătirea documentelor și a bazei de date vectoriale

În următoarele câteva exerciții, vei construi un flux de lucru RAG complet pentru a purta o conversație cu un document PDF ce conține articolul RAG VS Fine-Tuning: Pipelines, Tradeoffs, and a Case Study on Agriculture de Balaguer et al. (2024). Aceasta funcționează prin împărțirea documentelor în fragmente, stocarea lor într-o bază de date vectorială, definirea unui prompt care conectează documentele recuperate cu inputul utilizatorului și construirea unui lanț de recuperare pentru ca LLM-ul să acceseze aceste date externe.

În acest exercițiu, vei pregăti documentul pentru stocare și îl vei încărca într-o bază de date vectorială Chroma. Vei folosi un RecursiveCharacterTextSplitter pentru a împărți PDF-ul în fragmente și le vei ingera într-o bază de date vectorială Chroma folosind o funcție de încorporări (embeddings) OpenAI. Ca și în restul cursului, nu trebuie să furnizezi propria cheie API OpenAI.

Următoarele clase au fost deja importate pentru tine: RecursiveCharacterTextSplitter, Chroma și OpenAIEmbeddings.

Instructions

100 XP
  • Împarte documentele din data folosind un RecursiveCharacterTextSplitter cu un chunk_size de 300 și un chunk_overlap de 50.
  • Folosește metoda .from_documents() pentru a încorpora și ingera documentele într-o bază de date vectorială Chroma cu funcția de încorporări OpenAI furnizată.
  • Configurează vectorstore ca obiect de tip retriever care returnează cele mai relevante 3 documente pentru utilizare în lanțul RAG final.