Vytvoření RAG řetězce
Teď je čas spojit všechny komponenty do jednoho RAG workflow! Dokumenty máš připravené a uložené v Chroma databázi pro vyhledávání. Vytvořil/a jsi také šablonu promptu, která zahrnuje načtené části akademického článku a umožňuje odpovídat na otázky.
Šablona promptu z předchozího cvičení je k dispozici jako prompt_template, OpenAI model je inicializovaný jako llm a kód pro opětovné vytvoření retrieveru je součástí skriptu.
Toto cvičení je součástí kurzu
Vývoj LLM aplikací s LangChain
Pokyny k cvičení
- Vytvoř LCEL řetězec pomocí operátoru roury (
|) a propojretriever,prompt_templateallmv uvedeném pořadí. - Řetězec by měl mapovat retriever na
"context"a uživatelský vstup na"question". - Spusť řetězec pomocí metody
.invoke()na zadané otázce.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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)