ยินดีต้อนรับสู่ "Moin von Bremen" โครงการที่สนุกสนานและมีการโต้ตอบที่พัฒนาโดยกลุ่มนักศึกษาปริญญาโทที่กระตือรือร้นจากมหาวิทยาลัยเบรเมน ในโครงการนี้เราดำดิ่งสู่โลกของ LLMs (แบบจำลองภาษาขนาดใหญ่) สำรวจพลังของการสร้าง Augmented Generation (RAG) และทดลองกับแนวคิดของความหลากหลาย เราได้สร้างคู่มือ Audio City สำหรับเมือง Bremen อันเป็นที่รักของเรา! ?
โครงการนี้เป็นการเดินทางที่น่าสนใจที่เริ่มต้นด้วยความคิดในการสร้างแชทบ็อตที่สามารถใช้เป็นคู่มือเมืองเสียง จะเลือกเมืองใดที่ดีไปกว่าเบรเมนบ้านของเราในขณะเรียนที่มหาวิทยาลัยเบรเมน? ด้วยคู่มือนี้คุณจะได้รู้จัก Bremen อย่างที่ไม่เคยมีมาก่อน!
เรารวมความรู้ในท้องถิ่นของเราเข้ากับข้อเท็จจริงที่เชื่อถือได้จาก Wikipedia เพื่อสร้างประสบการณ์ที่น่าสนใจและให้ข้อมูล นี่คือรายละเอียดทีละขั้นตอนของวิธีการที่เราทำ:
การสร้างข้อมูล : เราจัดหารูปภาพและข้อมูลจาก Wikipedia เพื่อสนับสนุน chatbot ของเรา ตรวจสอบไฟล์ datageneration.ipynb สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับวิธีการทำสิ่งนี้
LLM & RAG : อยากรู้เกี่ยวกับการสร้างบอทส่วนตัวของคุณเอง? เราเป็นเช่นนั้น! เราเจาะลึกลงไปใน LLMS และเทคนิค RAG ที่ได้รับความนิยมตลอดเวลาเพื่อพัฒนาแอปพลิเคชันความรู้เฉพาะโดเมน RAG ถูกใช้อย่างกว้างขวางโดยธุรกิจขนาดใหญ่เพื่อสร้างแอปพลิเคชันพิเศษ ต้องการเรียนรู้เพิ่มเติมหรือไม่? อ่านบทความผ้าขี้ริ้วที่ลึกซึ้งนี้
การฝังข้อความด้วย Chromadb : การเดินทางของเราดำเนินต่อไปด้วยไฟล์ textdata_chromadb.py ที่เราพัฒนา RAG โดยใช้เวกเตอร์ฝังตัวกับ Chromadb เรายังสร้าง API โดยใช้ Gradio สำหรับส่วนต่อประสานผู้ใช้ที่ราบรื่น นอกจากนี้เรายังทดลองกับแนวคิดหลายรูปแบบโดยการสร้างคอลเลกชันสำหรับทั้งข้อความและรูปภาพ เมื่อได้รับพรอมต์ระบบจะค้นหาภาพและข้อความที่เกี่ยวข้องมากที่สุดในฐานข้อมูล
การฝังเวกเตอร์ : แนวคิดของการฝังเวกเตอร์ขยายไปถึงการสร้างบริบทตัวเลขที่เกี่ยวข้องซึ่งใช้ในระหว่างการค้นหาเพื่อดึงข้อมูลที่เกี่ยวข้องมากที่สุดจากฐานข้อมูล สำหรับคำอธิบายเชิงลึกลองดูบทความนี้เกี่ยวกับฐานข้อมูล Embeddings และ Vector
คู่มือเสียงด้วย FAISS : ก้าวไปข้างหน้าเราพัฒนาคู่มือเสียงโดยใช้รหัสใน audiodata_faissEmbedding.py เราใช้โมเดล ASR ของ OpenAI สำหรับการแปลงด้วยเสียงเป็นข้อความ เรียนรู้เพิ่มเติมเกี่ยวกับ Whisper ที่นี่ สำหรับการดำน้ำลึกที่น่าสนใจลงใน Mel Spectrograms ลองดูบทความนี้
การค้นหาความคล้ายคลึงกันกับ FAISS : FAISS พัฒนาโดย Facebook AI Research ได้รับการออกแบบมาสำหรับการค้นหาความคล้ายคลึงกันอย่างมีประสิทธิภาพและการจัดกลุ่มของเวกเตอร์หนาแน่น มันมีประโยชน์อย่างไม่น่าเชื่อสำหรับการค้นหารายการที่คล้ายกันในชุดข้อมูลตามการเป็นตัวแทนเวกเตอร์ สำหรับคำอธิบายโดยละเอียดโปรดไปที่หน้าอย่างเป็นทางการของ FAISS
ทำไมเราถึงเลือก Chromadb ผ่าน FAISS สำหรับโครงการนี้? นี่คือการเปรียบเทียบอย่างรวดเร็ว:
สำหรับการค้นหาแบบหลายโหมด (เช่นการค้นหาข้อความด้วยการฝังอิมเมจ) Chromadb มีความยืดหยุ่นมากกว่า FAISS เราทำลายกระบวนการตัดสินใจของเราและการใช้งานใน Main.py , แสดงในแผนภาพต่อไปนี้ (แทรกไดอะแกรมที่นี่)
ในการเริ่มต้นกับโครงการนี้ให้ทำตามขั้นตอนเหล่านี้:
pip install -r requirements.txtdata