Построение цепочки извлечения
И вот финал главы! Вы создадите цепочку извлечения с использованием Expression Language (LCEL) от LangChain. Она объединит векторное хранилище с эмбеддингами (векторными представлениями) фрагментов документа из статьи по RAG, загруженной ранее, шаблон подсказки и языковую модель — всё это позволит вам «общаться» с вашими документами.
Напомним 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?"))