Eine RAG-Kette erstellen
Jetzt musst alle Teile in deinem RAG-Workflow zusammenfügen! Du hast die Dokumente vorbereitet und in eine Chroma-Datenbank abrufbereit gespeichert. Du hast eine Prompt-Vorlage erstellt, um die aus dem wissenschaftlichen Artikel abgerufenen Teile einzufügen und Fragen zu beantworten.
Die in der vorherigen Übung erstellte Prompt-Vorlage ist unter prompt_template verfügbar, ein OpenAI-Modell wurde unter llm initialisiert und der Code zum Erstellen deines retriever wurde in das Skript aufgenommen.
Diese Übung ist Teil des Kurses
<Kurs>Entwickeln von LLM-Anwendungen mit LangChain</Kurs>Übungsanweisungen
- Erstell eine LCEL-Kette mit dem Pipe-Operator (
|), umretriever,prompt_templateundllmnacheinander zu verbinden. - Die Kette sollte den Retriever auf
"context"und die Benutzereingabe auf"question"verweisen. - Ruf die Kette mit der Methode „
.invoke()“ für die angegebene Frage auf.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
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)