IniziaInizia gratis

Creare una chain RAG

Ora è il momento di mettere insieme tutti i componenti del tuo workflow RAG! Hai preparato i documenti e li hai inseriti in un database Chroma per il retrieval. Hai creato un prompt template per includere i chunk recuperati dall'articolo accademico e rispondere alle domande.

Il prompt template che hai creato nell'esercizio precedente è disponibile come prompt_template, un modello OpenAI è stato inizializzato come llm e il codice per ricreare il tuo retriever è stato incluso nello script.

Questo esercizio fa parte del corso

Sviluppare applicazioni LLM con LangChain

Visualizza il corso

Istruzioni dell'esercizio

  • Crea una chain LCEL usando l'operatore pipe (|) per collegare in sequenza retriever, prompt_template e llm.
  • La chain deve mappare il retriever su "context" e l'input dell'utente su "question".
  • Richiama la chain usando il metodo .invoke() sulla domanda fornita.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

vectorstore = Chroma.from_documents(
    docs,
    embedding=OpenAIEmbeddings(api_key='', model='text-embedding-3-small'),
    persist_directory=os.getcwd()
)

retriever = vectorstore.as_retriever(
    search_type="similarity",
    search_kwargs={"k": 3}
)

# Create a chain to link retriever, prompt_template, and llm
rag_chain = ({"context": ____, "question": ____}
            | prompt_template
            | llm)

# Invoke the chain
response = rag_chain.____("Which popular LLMs were considered in the paper?")
print(response.content)
Modifica ed esegui il codice