ПочатиПочніть безкоштовно

Створення ланцюжка отримання даних (retrieval chain)

Фінал розділу! Ви створите ланцюжок отримання даних за допомогою LangChain Expression Language (LCEL). Він об'єднає векторне сховище з вбудованими (embedded) фрагментами документа зі статті про RAG, яку ви завантажили раніше, шаблон підказки (prompt template) і LLM, щоб ви могли ставити запитання до своїх документів.

Нагадування про prompt_template, який ви створили у попередній вправі й який доступний для використання:

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 з вбудованими фрагментами документа, який ви створили раніше, разом з усіма потрібними бібліотеками та класами.

Ця вправа є частиною курсу

Retrieval Augmented Generation (RAG) з LangChain

Переглянути курс

Інструкції до вправи

  • Перетворіть Chroma vector_store на об'єкт-ретрівер для використання в LCEL-ланцюжку отримання даних.
  • Створіть LCEL-ланцюжок отримання даних, щоб об'єднати retriever, prompt_template, llm і парсер рядкового виводу, який повертатиме відповіді на вхідні запитання.
  • Викличте ланцюжок на наведеному запитанні.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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?"))
Редагувати та запускати код