เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

Sparse retrieval ด้วย BM25

ลองใช้งาน sparse retrieval กัน! จะสร้าง BM25 retriever เพื่อตอบคำถามเกี่ยวกับบทความวิชาการด้าน RAG ซึ่งถูกแบ่งออกเป็น chunk แล้วในตัวแปรชื่อ chunks นอกจากนี้ยังมีโมเดล OpenAI chat และ prompt ที่กำหนดไว้แล้วในชื่อ llm และ prompt ตามลำดับ สามารถดู prompt ที่เตรียมไว้ได้โดยพิมพ์ลงใน console

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Retrieval Augmented Generation (RAG) ด้วย LangChain

ดูคอร์ส

คำแนะนำการฝึกหัด

  • สร้าง BM25 sparse retriever จากเอกสารที่เก็บอยู่ใน chunks โดยกำหนดให้คืนค่าเอกสาร 5 รายการในการดึงข้อมูลแต่ละครั้ง
  • สร้าง LCEL retrieval chain เพื่อเชื่อม BM25 retriever เข้ากับ llm และ prompt ที่เตรียมไว้

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Create a BM25 retriever from chunks
retriever = ____

# Create the LCEL retrieval chain
chain = ({"context": ____, "question": ____}
         | ____
         | ____
         | StrOutputParser()
)

print(chain.invoke("What are knowledge-intensive tasks?"))
แก้ไขและรันโค้ด