Kom igångKom igång gratis

Skapa en RAG-kedja

Nu är det dags att sätta ihop alla komponenter i ditt RAG-arbetsflöde! Du har förberett dokumenten och läst in dem i en Chroma-databas för hämtning. Du skapade också en promptmall för att inkludera de hämtade textavsnitten från den vetenskapliga artikeln och besvara frågor.

Promptmallen du skapade i föregående övning finns tillgänglig som prompt_template, en OpenAI-modell har initierats som llm, och koden för att återskapa din retriever finns med i skriptet.

Den här övningen är en del av kursen

Utveckla LLM-applikationer med LangChain

Visa kurs

Övningsinstruktioner

  • Skapa en LCEL-kedja med pipe-operatorn (|) för att koppla samman retriever, prompt_template och llm i sekvens.
  • Kedjan ska mappa retrievern till "context" och användarinput till "question".
  • Anropa kedjan med metoden .invoke() på den angivna frågan.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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)
Redigera och kör kod