15 คะแนน โดย GN⁺ 2025-02-28 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • สร้างรีเสิร์ชเอเจนต์ในรูปแบบ Deep Research โดยใช้โมเดลและเครื่องมือโอเพนซอร์ส (Milvus, LangChain เป็นต้น)
  • มีตัวอย่างโครงสร้างเอเจนต์ที่เพิ่มขึ้นเรื่อย ๆ ซึ่งทำ การวิจัยเชิงลึกโดยอัตโนมัติสำหรับหัวข้อหรือคำถาม ผ่านการค้นหาบนเว็บและเอกสาร พร้อมทั้งเลือก การกระทำ (ค้นหา, สรุป ฯลฯ) ในแต่ละขั้นตอนกลาง
  • เนื้อหานี้แนะนำโปรเจกต์โอเพนซอร์ส DeepSearcher ที่ต่อยอดแนวคิดดังกล่าว โดยครอบคลุม query routing, conditional execution flow, และ การใช้เครื่องมือ web crawling
  • DeepSearcher มีให้ใช้งานทั้งในรูปแบบไลบรารี Python และ CLI ทำให้สามารถป้อนเอกสารจากหลายแหล่ง และปรับการตั้งค่า embedding model กับ vector DB ได้ง่ายผ่านไฟล์
  • แม้จะเรียบง่าย แต่ก็เป็นตัวอย่างสาธิต agent-based RAG ที่สามารถเป็นจุดเริ่มต้นไปสู่การพัฒนาแอปพลิเคชัน AI จริงได้
  • โดยเฉพาะอย่างยิ่ง มีการเน้นถึงปัญหาเรื่องความเร็วและประสิทธิภาพของ reasoning model เนื่องจากขั้นตอนการถามและค้นหาจำเป็นต้องสร้างโทเค็นจำนวนมาก ทำให้ ทรัพยากรสำหรับการอนุมาน กลายเป็นคอขวด
  • หากใช้ DeepSeek-R1 reasoning model ที่ทำงานบนฮาร์ดแวร์แบบปรับแต่งเฉพาะของ SambaNova จะได้ความเร็วในการสร้างโทเค็นต่อวินาทีที่เร็วกว่าบริการคู่แข่ง
  • ผ่านบริการคลาวด์สำหรับการอนุมานลักษณะนี้ ยังสามารถทำการอนุมานอย่างมีประสิทธิภาพกับโมเดลหลากหลาย เช่น Llama 3.x, Qwen2.5, QwQ เป็นต้น

การกำหนดและแยกย่อยคำถาม

  • แยกคำถามเริ่มต้นของผู้ใช้ออกเป็น คำถามย่อยที่ละเอียดขึ้น
  • คล้ายกับบทความก่อนหน้า คำถามอย่าง "How has The Simpsons changed over time?" จะถูกแบ่งออกเป็นคำถามย่อยหลายข้อดังนี้
    • ตัวอย่าง: อิทธิพลทางวัฒนธรรมและสังคมของผลงาน, การเปลี่ยนแปลงของตัวละคร/อารมณ์ขัน/วิธีเล่าเรื่องในแต่ละซีซัน, การเปลี่ยนแปลงด้านแอนิเมชันและเทคโนโลยีการผลิต, การเปลี่ยนแปลงของปฏิกิริยาผู้ชม เป็นต้น
  • ในขั้นตอนถัดไป หากจำเป็นก็อาจมีการ นิยามคำถามใหม่ หรือขยายคำถามเพิ่มเติม

การวิจัยและการวิเคราะห์

  • จากคำถามย่อย จะผ่านขั้นตอน query routing, vector search, reflection, และ การวนซ้ำแบบมีเงื่อนไข
  • Query routing
    • ออกแบบพรอมป์ต์เพื่อให้ LLM เป็นผู้ตัดสินใจว่าจะใช้คอลเลกชันใดจากหลายคอลเลกชันในฐานข้อมูล
    • รับคำตอบในรูปแบบ JSON แล้วให้สร้างคำค้นสำหรับแต่ละคอลเลกชัน
  • Vector search
    • ใช้ embedding ที่เก็บไว้ใน Milvus เพื่อทำ การค้นหาความคล้ายคลึง
    • เช่นเดียวกับบทความก่อนหน้า ข้อมูลต้นทางจะถูกแบ่งส่วนและแปลงเป็นเวกเตอร์ล่วงหน้า
  • Reflection
    • ให้ LLM ตรวจสอบจากคำถามและคำตอบที่ได้จากขั้นตอนก่อนหน้าว่า ยังต้องการข้อมูลเพิ่มเติมหรือไม่
    • หากยังมีส่วนที่ไม่พอ ก็จะสร้างคำถามย่อยใหม่และลองค้นหาอีกครั้ง
  • การวนซ้ำแบบมีเงื่อนไข
    • หากผลจากการ reflection ระบุว่าต้องมีคำถามเพิ่ม ก็จะทำขั้นตอนข้างต้นซ้ำ
    • หากพิจารณาแล้วว่าไม่จำเป็นต้องรวบรวมข้อมูลเพิ่มเติมอีก ก็จะเข้าสู่ขั้นตอนสร้างรายงานสุดท้าย

การสร้างรายงานสุดท้าย

  • รวบรวมคำถามย่อยทั้งหมดและผลการค้นหา แล้วสร้างรายงานด้วย พรอมป์ต์เดียว
  • ทำให้ได้รายงานที่มี ความสอดคล้องและความเป็นเอกภาพ สูงกว่าการสาธิตก่อนหน้า
  • ตัวอย่างเช่น รายงานสุดท้ายสำหรับ “How has The Simpsons changed over time?” จะให้รายละเอียดในโครงสร้างประมาณนี้
      1. อิทธิพลทางวัฒนธรรมและความเกี่ยวข้องทางสังคม
      1. วิวัฒนาการของตัวละคร อารมณ์ขัน และเส้นเรื่อง
      1. การเปลี่ยนแปลงด้านแอนิเมชันและเทคนิค
      1. การเปลี่ยนแปลงของกลุ่มผู้ชม ปฏิกิริยา และเรตติงการรับชม
    • บทสรุป: กระบวนการที่ผลงานเปลี่ยนจากงานเสียดสีขบถในยุคแรกไปสู่การเป็นไอคอนมหาชน เป็นต้น
  • สามารถเปรียบเทียบรายงานเวอร์ชันที่สร้างด้วยโมเดล DeepSeek-R1 กับเวอร์ชันที่สร้างด้วยโมเดล GPT-4o mini ได้

ทิศทางในอนาคต

  • DeepSearcher ยังอยู่ในระดับค่อนข้างเรียบง่าย แต่สามารถพัฒนาต่อได้อีกด้วย การเพิ่มองค์ประกอบของเอเจนต์, การจัดโครงสร้างรายงาน, และ การขยายการวนซ้ำแบบมีเงื่อนไข
  • โมเดลอนุมานขนาดใหญ่ต้องใช้ การประมวลผลที่หนักมาก ดังนั้น ความเร็วในการอนุมาน และ ต้นทุน จึงเป็นประเด็นสำคัญของบริการ
  • ระบุว่าเมื่อใช้โมเดล DeepSeek-R1 ของ SambaNova มีการเรียกใช้งานการอนุมาน 65 ครั้ง ใช้อินพุตราว 25k โทเค็น และเอาต์พุต 22k โทเค็น พร้อมได้การตอบสนองที่เร็วเพียงพอด้วยต้นทุนประมาณ 0.30 ดอลลาร์
  • สามารถลองใช้งานโปรเจกต์ได้โดยตรงที่ คลังเก็บ DeepSearcher และมีแผนจะแชร์ฟีเจอร์และกรณีตัวอย่างเพิ่มเติมอย่างต่อเนื่อง

1 ความคิดเห็น

 
GN⁺ 2025-02-28
ความเห็นจาก Hacker News
  • ระบบนี้ไม่ใช่ระบบโลคัลอย่างแท้จริง เพราะไม่ได้ใช้ LLM แบบโลคัล

    • สงสัยว่ามี deep searcher ที่สามารถใช้ LLM แบบโลคัลซึ่งโฮสต์ด้วย Ollama และ LM Studio ได้หรือไม่
  • อยากเห็นการเปรียบเทียบกับเวอร์ชันโอเพนซอร์สของ HuggingFace

    • เวอร์ชันของ HF ใช้ LLM สำหรับการให้เหตุผลที่ท่องเว็บ รวบรวมผลลัพธ์ ประเมิน แล้วสังเคราะห์ผลลัพธ์สุดท้าย
    • เวอร์ชันนี้ดูเหมือนจะแสดง vector store ของเอกสารที่สร้างจากการครอว์ลเว็บ
  • ความมหัศจรรย์ของการใช้งาน Grok น่าจะมาจากการแคชเว็บไซต์ส่วนใหญ่ไว้ จึงให้ความรู้สึกว่าเร็วมาก

    • ดูเหมือน Bing/Brave Search จะไม่ได้มีความสามารถนั้น
    • สงสัยว่ามีบริการลักษณะนี้อยู่หรือไม่
  • ชอบที่มีแนวทางหลากหลายต่อ Deep Research

    • ตอนนี้กำลังลองเวิร์กโฟลว์ใหม่ด้วย Flow
  • มีบล็อกโพสต์ที่เกี่ยวข้องอยู่ 2 บทความ

    • แชร์ประสบการณ์การสร้าง Deep Research โดยใช้งานโอเพนซอร์ส
  • เนื่องจากบริษัท AI รายใหญ่ต่างก็สร้างผลิตภัณฑ์ Deep Research แบบเดียวกัน การโฟกัสที่แพลตฟอร์มโอเพนซอร์สร่วมกันน่าจะสมเหตุสมผลกว่า

  • สงสัยว่าความหมายเชิงปฏิบัติของการผสานรวมการครอว์ลเว็บคืออะไร

    • ในทางทฤษฎี มันอาจใช้เพื่ออ่านงานวิจัยจาก Sci-Hub และสร้างงานวิจัยระดับบัณฑิตศึกษาที่ใช้ได้จริงหรือไม่
    • น่าจะมีประโยชน์ในการเปรียบเทียบรายงานที่เขียนโดย DeepSeek R1, GPT-4o และโมเดลขนาดใหญ่อื่น ๆ
    • โค้ดโอเพนซอร์สอาจช่วยเผยข้อจำกัดของ LLM หลายตัวได้เร็วขึ้น และช่วยพัฒนาลูปการให้เหตุผลที่ดีกว่าสำหรับความต้องการเฉพาะทาง
  • กำลังมองหาเครื่องมือ Deep Research ที่เชื่อมต่อกับโน้ตส่วนตัว (Obsidian) และเว็บได้

    • ดูเหมือนว่าเครื่องมือนี้จะมีความสามารถนั้น
    • ตอนนี้สิ่งที่เหลือคือหาวิธีส่งออกผลลัพธ์จาก Deep Research ไปยัง Obsidian
  • ได้ลองใช้งานจริงแล้ว และเจอปัญหาบางอย่างจนต้องเปลี่ยน openAI text embedding เป็น MilvusEmbedding

    • QuickStart ตอบสนองได้ดี
  • กระสุนวิเศษที่แท้จริงคือการค้นหา lib-gen และ sci-hub