Zacznij terazZacznij za darmo

Budowanie łańcucha wyszukiwania

Czas na finał rozdziału! Stworzysz łańcuch wyszukiwania (retrieval chain) przy użyciu języka wyrażeń LangChain (LCEL). Połączy on magazyn wektorowy zawierający osadzone fragmenty dokumentu z artykułu RAG, który wcześniej wczytałeś, z szablonem promptu i modelem LLM – dzięki temu będziesz mógł zadawać pytania dotyczące swoich dokumentów.

Poniżej znajdziesz przypomnienie prompt_template z poprzedniego ćwiczenia, który jest dostępny do użycia:

Use the only the context provided to answer the following question. If you don't know the answer, reply that you are unsure.
Context: {context}
Question: {question}

vector_store z osadzonymi fragmentami dokumentu, który wcześniej utworzyłeś, został już załadowany wraz ze wszystkimi wymaganymi bibliotekami i klasami.

To ćwiczenie jest częścią kursu

Retrieval Augmented Generation (RAG) z LangChain

Zobacz kurs

Instrukcje do ćwiczenia

  • Przekształć vector_store Chroma w obiekt retrievera, aby można go było użyć w łańcuchu LCEL.
  • Utwórz łańcuch wyszukiwania LCEL, łącząc retriever, prompt_template, llm oraz parser wyjścia tekstowego, tak aby łańcuch mógł odpowiadać na zadawane pytania.
  • Uruchom łańcuch na podanym pytaniu.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# Convert the vector store into a retriever
retriever = vector_store.____(search_type="similarity", search_kwargs=____)

# Create the LCEL retrieval chain
chain = (
    {"____": ____, "question": ____}
    | ____
    | ____
    | ____
)

# Invoke the chain
print(chain.____("Who are the authors?"))
Edytuj i uruchom kod