Aan de slagGa gratis aan de slag

Een RAG-chain maken

Tijd om alle onderdelen in je RAG-workflow samen te brengen! Je hebt de documenten voorbereid en in een Chroma-database geladen voor retrieval. Je hebt een prompttemplate gemaakt die de opgehaalde stukken uit het academische artikel opneemt en vragen beantwoordt.

De prompttemplate die je in de vorige oefening hebt gemaakt is beschikbaar als prompt_template, een OpenAI-model is geïnitialiseerd als llm, en de code om je retriever opnieuw te maken is in het script opgenomen.

Deze oefening maakt deel uit van de cursus

LLM-toepassingen ontwikkelen met LangChain

Cursus bekijken

Oefeninstructies

  • Maak een LCEL-chain met de pipe-operator (|) om retriever, prompt_template en llm achter elkaar te koppelen.
  • De chain moet de retriever mappen naar "context" en de gebruikersinvoer naar "question".
  • Roep de chain aan met de .invoke()-methode op de meegegeven vraag.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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)
Code bewerken en uitvoeren