Створення ланцюжка отримання даних (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?"))