ในโครงการนี้ฉันสร้างผ้าขี้ริ้วบน LLAMA3-70B-8192 LLM เข้าถึงได้โดยใช้ GROQ API เอกสารที่ใช้สำหรับ RAG ถูกเรียกคืนผ่าน webscrapping ของบล็อก Seedly ซึ่งมีบทความเกี่ยวกับการเงินส่วนบุคคล บทความที่ฉันดึงมาส่วนใหญ่เกี่ยวกับการซื้ออสังหาริมทรัพย์ในสิงคโปร์และนโยบายการประกัน จุดมุ่งหมายคือการพัฒนารูปแบบภาษาที่ตระหนักถึงบริบทและสามารถตอบคำถามที่เกี่ยวข้องกับการเงินส่วนบุคคลภายในบริบทของสิงคโปร์
ฉันใช้ SCRAPY สำหรับการขูดบทความโมเดลทั้งหมดมิลม์-L6-V2 สำหรับการแปลงชิ้นข้อความเป็น embeddings และร้านค้าเวกเตอร์ FAISS สำหรับการจัดเก็บข้อความและการดึงข้อมูล ในที่สุดฉันก็ใช้ Langchain เพื่อเชื่อมต่อส่วนประกอบที่แตกต่างทั้งหมดตั้งแต่การดึงข้อความของข้อความไปจนถึงการจัดโครงสร้างและการผูกมัดเพื่อให้ได้ผลลัพธ์ที่ต้องการ
เอาต์พุตสุดท้ายถูกสร้างขึ้นโดยการผูกมัดสองครั้งซึ่งเป็นครั้งแรกที่สรุปบริบทที่ให้ไว้ (3 ข้อความที่คล้ายกันมากที่สุดที่ผู้ใช้คำถามที่ถาม) และอันที่สองเพื่อสร้างการตอบสนองที่เกิดขึ้นจริง นี่คือเพื่อให้แน่ใจว่าพรอมต์ที่ใช้ในการสร้างการตอบกลับไม่ยาวเกินไป (ถ้ามีชิ้นข้อความยาวเต็มรูปแบบเป็นบริบท) ช่วยให้บริบทมากขึ้นที่จะมอบให้กับ LLM
การผูกมัดของพรอมต์ทำงานได้ตามที่คาดไว้โดยมีการสรุปของชิ้นข้อความที่เพิ่มเข้ามาในพรอมต์ที่สองได้สำเร็จ ประสิทธิภาพของ Pipeline แตกต่างกันไปขึ้นอยู่กับคุณภาพของเอกสารบริบทที่มีให้
การทำโครงการนี้ฉันได้เรียนรู้วิธีการใช้ RAG โดยใช้ Langchain วิธีการเชื่อมต่อ LLM กับเทมเพลตที่รวดเร็วและการผูกมัดพร้อมใช้งานโดยใช้ Langchain Expression Language (LCEL) และวิธีการใช้ร้านค้าเวกเตอร์และฟังก์ชั่นการฝังพร้อมกับ Langchain ฉันเชื่อว่าแนวคิดพื้นฐานเหล่านี้ของการพัฒนาแอปพลิเคชัน LLM จะช่วยให้ฉันสามารถสร้างแอปพลิเคชัน LLM ที่ซับซ้อนมากขึ้นในอนาคต