Dapatan Dokumen Induk dan Tetingkap Ayat
Pisahkan cebisan yang anda cari daripada cebisan yang anda pulangkan supaya LLM mendapat padanan tepat dengan konteks yang kaya.
Dapatan Dokumen Induk dan Tetingkap Ayat ialah pelajaran LangChain / RAG / Pangkalan Data Vektor percuma di CoddyKit. Ini ialah pelajaran 4 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran LangChain / RAG / Pangkalan Data Vektor, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus LangChain / RAG / Pangkalan Data Vektor merangkumi sejumlah 4 pelajaran.
Dilema Saiz Cebisan
Cebisan kecil membolehkan carian yang tepat tetapi kekurangan konteks; cebisan besar memberikan konteks tetapi mencairkan kerelevanan. Pendapatan semula dokumen induk menyelesaikan pertentangan ini dengan mencari cebisan kecil dan mengembalikan cebisan besar.
Dua Saiz Cebisan
Indekskan cebisan anak yang kecil untuk padanan kesamaan yang tepat, tetapi kekalkan pautan kepada cebisan induk yang lebih besar dan mengelilingi setiap cebisan tersebut.
- Cari menggunakan pembenaman anak
- Kembalikan teks induk kepada LLM
ParentDocumentRetriever
LangChain menyediakan pemuat semula yang sedia digunakan. Anda memberikannya pemisah anak, pemisah induk pilihan, stor vektor dan stor dokumen untuk induk.
from langchain.retrievers import ParentDocumentRetriever
retriever = ParentDocumentRetriever(
vectorstore=vectorstore,
docstore=store,
child_splitter=child_splitter,
parent_splitter=parent_splitter,
)Menambah Dokumen
Pemuat semula memisahkan setiap dokumen kepada induk dan anak, melakukan pembenaman terhadap anak, kemudian menyimpan induk berdasarkan id supaya induk itu boleh diambil apabila terdapat padanan.
retriever.add_documents(docs)
results = retriever.invoke("What is the refund window?")
print(len(results[0].page_content)) # large parent textPendapatan Semula Tetingkap Ayat
Satu variasi mengindeks ayat tunggal tetapi, semasa pendapatan semula, mengembangkan setiap padanan untuk merangkumi ayat di sekelilingnya. Model melihat padanan tepat serta ayat jirannya.
Menyimpan Tetingkap
Semasa pengindeksan, anda menyimpan teks bersebelahan dalam metadata supaya teks itu boleh dicantumkan semula pada masa pertanyaan.
doc.metadata["window"] = " ".join(
sentences[max(0, i-2): i+3]
)
doc.page_content = sentences[i]Menukar Kandungan Selepas Carian
Selepas carian kesamaan mengembalikan ayat yang sepadan, gantikan kandungannya dengan tetingkap yang disimpan sebelum menyerahkannya kepada LLM.
for r in results:
r.page_content = r.metadata["window"]Bila Menggunakan Setiap Kaedah
Dokumen induk sesuai untuk dokumen berstruktur dengan bahagian semula jadi. Tetingkap ayat sesuai untuk prosa padat yang mengutamakan ayat yang tepat.
Mengelakkan Induk Pendua
Beberapa padanan anak boleh dipetakan kepada induk yang sama. Buang pendua berdasarkan id induk supaya LLM tidak menerima petikan yang sama dua kali.
seen = set()
unique = []
for d in results:
pid = d.metadata["parent_id"]
if pid not in seen:
seen.add(pid)
unique.append(d)Kos dan Had Konteks
Mengembalikan induk yang lebih besar menggunakan lebih banyak ruang tetingkap konteks LLM. Seimbangkan saiz induk dengan bajet token anda dan bilangan hasil k.
Menggabungkan Semuanya
Indekskan anak yang terperinci, lakukan pendapatan semula dengan tepat, kemudian kembangkan kepada induk atau tetingkap. Langkah penjanaan anda menerima petikan yang terfokus namun mempunyai konteks.
docs = retriever.invoke("cancellation terms")
context = "\n\n".join(d.page_content for d in docs)
answer = llm.invoke(f"Context:\n{context}\n\nQuestion: ...")Semakan Pantas
Uji pemahaman anda tentang pendapatan semula terpisah.
Ringkasan
Anda telah belajar memisahkan carian daripada unit yang dikembalikan:
- Dokumen induk: cari anak, kembalikan induk
- Tetingkap ayat: padankan ayat, kembangkan kepada ayat jiran
- Buang pendua induk dan awasi had konteks
Pelajari LangChain / RAG / Pangkalan Data Vektor dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 12
- Pelajaran
- 48
Soalan Lazim
Adakah pelajaran “Dapatan Dokumen Induk dan Tetingkap Ayat” percuma?
Ya — teks penuh “Dapatan Dokumen Induk dan Tetingkap Ayat” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus LangChain / RAG / Pangkalan Data Vektor, tingkat taraf kepada CoddyKit PRO. Kursus LangChain / RAG / Pangkalan Data Vektor merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Dapatan Dokumen Induk dan Tetingkap Ayat”?
Pisahkan cebisan yang anda cari daripada cebisan yang anda pulangkan supaya LLM mendapat padanan tepat dengan konteks yang kaya. Anda berlatih LangChain / RAG / Pangkalan Data Vektor menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan LangChain / RAG / Pangkalan Data Vektor?
Tiada pengalaman terdahulu diperlukan. Pembelajaran LangChain / RAG / Pangkalan Data Vektor di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 4 daripada 4.
Berapa lamakah pelajaran “Dapatan Dokumen Induk dan Tetingkap Ayat” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran LangChain / RAG / Pangkalan Data Vektor ini?
Ya. Setiap pelajaran LangChain / RAG / Pangkalan Data Vektor menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Strategi Pengambilan Berbilang Pertanyaan
- Pemampatan Kontekstual dengan LLM
- Carian Hibrid dan Pemeringkatan Semula
- Dapatan Dokumen Induk dan Tetingkap Ayat