Zacznij terazZacznij za darmo

Tworzenie łańcucha RAG

Czas połączyć wszystkie komponenty w swoim przepływie pracy RAG! Przygotowano dokumenty i załadowano je do bazy danych Chroma na potrzeby wyszukiwania. Utworzono też szablon promptu, który uwzględnia pobrane fragmenty artykułu naukowego i umożliwia odpowiadanie na pytania.

Szablon promptu utworzony w poprzednim ćwiczeniu jest dostępny jako prompt_template, model OpenAI został zainicjalizowany jako llm, a kod do odtworzenia retriever został dołączony do skryptu.

To ćwiczenie jest częścią kursu

Tworzenie aplikacji LLM z LangChain

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz łańcuch LCEL, używając operatora potoku (|), aby połączyć kolejno retriever, prompt_template i llm.
  • Łańcuch powinien przypisywać retriever do "context", a dane wejściowe użytkownika do "question".
  • Wywołaj łańcuch, używając metody .invoke() na podanym pytaniu.

Interaktywne ćwiczenie praktyczne

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

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)
Edytuj i uruchom kod