1. Learn
  2. /
  3. คอร์ส
  4. /
  5. การพัฒนาแอปพลิเคชัน LLM ด้วย LangChain

Connected

แบบฝึกหัด

การแบ่งข้อความแบบ Recursive ตามอักขระ

นักพัฒนาหลายคนนิยมใช้ recursive character splitter เพื่อแบ่งเอกสารตามรายการอักขระที่กำหนด โดยค่าเริ่มต้นจะใช้อักขระเหล่านี้: ["\n\n", "\n", " ", ""] ซึ่งได้แก่ ย่อหน้า ขึ้นบรรทัดใหม่ ช่องว่าง และสตริงว่าง

หลักการทำงานคือ splitter จะพยายามแบ่งที่ย่อหน้าก่อน จากนั้นตรวจสอบว่าค่า chunk_size และ chunk_overlap เป็นไปตามเงื่อนไขหรือไม่ หากไม่เป็นไปตามเงื่อนไข ก็จะแบ่งที่ประโยค คำ และอักขระแต่ละตัวตามลำดับ

ในทางปฏิบัติ มักต้องทดลองปรับค่า chunk_size และ chunk_overlap หลายรอบ เพื่อหาค่าที่เหมาะสมกับเอกสารของคุณ

คำแนะนำ

100 XP
  • Import คลาส RecursiveCharacterTextSplitter จาก langchain_text_splitters
  • สร้าง instance ของ RecursiveCharacterTextSplitter โดยกำหนด separators=["\n", " ", ""], chunk_size=24 และ chunk_overlap=10
  • ใช้เมธอด .split_text() เพื่อแบ่ง quote แล้วพิมพ์ chunk และความยาวของแต่ละ chunk