Erişim (retrieval) zinciri oluşturma
Şimdi bölümün finaline geldik! LangChain Expression Language'ı (LCEL) kullanarak bir erişim zinciri oluşturacaksın. Bu zincir, daha önce yüklediğin RAG makalesinden gömülü belge parçacıklarını içeren vektör deposunu, bir istem şablonunu ve bir LLM'i birleştirerek belgelerinle konuşmaya başlamanı sağlayacak.
İşte önceki egzersizde oluşturduğun ve kullanman için hazır olan prompt_template hatırlatması:
Yalnızca verilen bağlamı kullanarak aşağıdaki soruyu yanıtla. Yanıtı bilmiyorsan emin olmadığını söyle.
Context: {context}
Question: {question}
Daha önce oluşturduğun gömülü belge parçacıklarından oluşan vector_store da, gerekli tüm kütüphane ve sınıflarla birlikte senin için yüklendi.
Bu egzersiz
LangChain ile Retrieval Augmented Generation (RAG)
kursunun bir parçasıdırEgzersiz talimatları
- Chroma
vector_store'u LCEL erişim zincirinde kullanılmak üzere bir retriever nesnesine dönüştür. - Girdi sorularını yanıtlayabilmesi için
retriever,prompt_template,llmve bir string çıktı ayrıştırıcıyı birleştirerek LCEL erişim zincirini oluştur. - Zinciri verilen soru üzerinde çalıştır (invoke et).
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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?"))