2 คะแนน โดย GN⁺ 2024-04-04 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

LLocalSearch คืออะไร

  • เสิร์ชเอนจินที่ทำงานในเครื่องทั้งหมด โดยใช้เอเจนต์ LLM
  • เมื่อผู้ใช้ตั้งคำถาม ระบบจะใช้เชนของ LLM เพื่อค้นหาคำตอบ
  • ผู้ใช้สามารถดูความคืบหน้าของเอเจนต์และคำตอบสุดท้ายได้
  • ไม่ต้องใช้คีย์ API ของ OpenAI หรือ Google
  • ตอนนี้เพิ่มความสามารถในการถามต่อแล้ว: demo.mp4

คุณสมบัติ

  • 🕵️ ทำงานในเครื่องทั้งหมด จึงไม่ต้องใช้คีย์ API
  • 💸 ทำงานได้บนฮาร์ดแวร์ LLM "สเปกต่ำ" (วิดีโอเดโมใช้โมเดล 7b)
  • 🤓 มีบันทึกความคืบหน้าเพื่อช่วยให้เข้าใจกระบวนการค้นหาได้ดีขึ้น
  • 🤔 ถามคำถามต่อเนื่องได้
  • 📱 อินเทอร์เฟซที่เป็นมิตรกับมือถือ
  • 🚀 ปรับใช้ได้รวดเร็วและง่ายด้วย Docker Compose
  • 🌐 เว็บอินเทอร์เฟซที่เข้าถึงได้ง่ายจากทุกอุปกรณ์
  • 💮 UI ทำเองที่รองรับทั้งโหมดสว่างและโหมดมืด

สถานะ

  • โปรเจ็กต์นี้ยังอยู่ในระยะเริ่มต้น อาจมีบั๊กบางส่วน

หลักการทำงาน

  • หากต้องการข้อมูลล่าสุดที่สุด โปรดดูเอกสาร infra

การโฮสต์เอง & การพัฒนา

ข้อกำหนด

  • เซิร์ฟเวอร์ Ollama ที่กำลังรันอยู่และเข้าถึงได้จากคอนเทนเนอร์
  • GPU ไม่ได้จำเป็น แต่แนะนำให้มี
  • Docker Compose

รันรีลีสล่าสุด

  • แนะนำหากไม่ได้ตั้งใจจะพัฒนาโปรเจ็กต์นี้
    git clone https://github.com/nilsherzig/LLocalSearch.git
    cd ./LLocalSearch
    # 🔴 ตรวจสอบตัวแปรสภาพแวดล้อมในไฟล์ compose และเพิ่ม host:port ของเซิร์ฟเวอร์ ollama
    docker-compose up 🎉
    
  • จากนั้นสามารถเปิดเว็บอินเทอร์เฟซได้ที่ http://localhost:3000 เป็นค่าเริ่มต้น
  • ค่าเริ่มต้นจะไม่มีการเปิดเผยอย่างอื่นเพิ่มเติม

รันเวอร์ชัน git ปัจจุบัน

  • จะได้ใช้ฟีเจอร์ใหม่กว่า แต่ความเสถียรอาจน้อยกว่า
    git clone https://github.com/nilsherzig/LLocalsearch.git
    # 1. อย่าลืมตรวจสอบตัวแปรสภาพแวดล้อมใน `docker-compose.dev.yaml`
    # 2. ตรวจสอบให้แน่ใจว่าคุณดูไฟล์ dev compose ไม่ใช่ไฟล์ compose ปกติ
    # 3. สร้างคอนเทนเนอร์และเริ่มบริการ
    make dev
    
  • หากไม่ได้ติดตั้ง make สามารถรันคำสั่งใน Makefile ด้วยตนเองได้
  • ตอนนี้สามารถเข้าถึงฟรอนต์เอนด์ได้ที่ http://localhost:3000

ความเห็นของ GN⁺

  • LLocalSearch น่าสนใจในฐานะทางเลือกของเสิร์ชเอนจินสมัยใหม่ที่ให้ความสำคัญกับความเป็นส่วนตัวของผู้ใช้ โดยมอบความสามารถในการค้นหาได้โดยไม่ต้องส่งข้อมูลผู้ใช้ไปยังเซิร์ฟเวอร์ภายนอก จึงช่วยบรรเทาความกังวลด้านความเป็นส่วนตัวได้
  • โปรเจ็กต์นี้มอบโอกาสที่น่าสนใจให้กับนักพัฒนาในชุมชนโอเพนซอร์ส นักพัฒนาสามารถมีส่วนร่วมกับโปรเจ็กต์นี้เพื่อเพิ่มความเข้าใจเกี่ยวกับเทคโนโลยีเสิร์ชเอนจิน และเสริมความแข็งแกร่งให้พอร์ตโฟลิโอของตน
  • อย่างไรก็ตาม เนื่องจากยังเป็นโปรเจ็กต์ระยะเริ่มต้น จึงอาจมีปัญหาเรื่องบั๊กและเสถียรภาพ ซึ่งหมายความว่าควรพิจารณาอย่างรอบคอบเมื่อนำไปใช้ในสภาพแวดล้อมจริง
  • หาก LLocalSearch พัฒนาไปได้สำเร็จ ก็อาจเป็นจุดเริ่มต้นในการลดการพึ่งพาเสิร์ชเอนจินรายใหญ่ที่มีอยู่เดิม และเพิ่มความหลากหลายให้กับตลาดเสิร์ชเอนจิน
  • ในมุมมองทางเทคนิค การค้นหาด้วยเอเจนต์ LLM ถือว่านวัตกรรมมาก แต่การใช้งานอย่างมีประสิทธิภาพจำเป็นต้องมีทรัพยากรคอมพิวต์และความรู้ทางเทคนิคที่เพียงพอ

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

 
GN⁺ 2024-04-04
ความคิดเห็นจาก Hacker News
  • สรุปรวมความคิดเห็นจาก Hacker News:
    • 🤖 การผสาน LLMs กับเสิร์ชเอนจิน: มีคำอธิบายเกี่ยวกับระบบที่ให้ LLMs เข้าถึงเสิร์ชเอนจินและคิวรีฐานข้อมูลเวกเตอร์ได้ โดยนำผลลัพธ์อันดับต้น ๆ จำนวน n รายการจากคำค้นที่ LLM สร้างขึ้นมาไปสแครป แล้วเก็บเป็นชิ้นข้อมูลขนาดเล็กในฐานข้อมูลเวกเตอร์ จากนั้น LLM สามารถคิวรีฐานข้อมูลนี้เพื่อดึงชิ้นข้อมูลที่เกี่ยวข้องออกมาได้ แม้จะไม่ครอบคลุมเท่ากับ LLM ที่มีคอนเท็กซ์ 128k แล้วสรุปทุกอย่างในครั้งเดียว แต่บนฮาร์ดแวร์ภายในเครื่องจะทำงานได้เร็วกว่าและใช้ทรัพยากรน้อยกว่ามาก เดโมบน GitHub รันบน GPU สำหรับผู้บริโภคทั่วไป (amd rx 6700xt) ได้

    • 👍 คำชมต่อสถาปัตยกรรม: มีแผนจะใช้งานร่วมกับ LLMs ที่มีอยู่เดิม และดีใจที่ได้เห็นว่ามันทำงานแบบโลคัลได้ด้วย ขอบคุณที่แชร์และชื่นชอบสถาปัตยกรรมนี้

    • คำถามเกี่ยวกับความเกี่ยวข้องกับ Perplexity: ตั้งข้อสังเกตว่าระบบนี้เกี่ยวข้องกับ Perplexity อย่างไร และควรอ้างอิงถึงโมเดลพื้นฐานที่ใช้แทน

    • 🌟 ความสามารถพิเศษของโมเดลโลคัล: ยังไม่เคยเห็นโมเดลโลคัลเรียกใช้โมดูลพิเศษแบบนี้มาก่อน และมองว่า local 7b open-hermes ที่ใช้อยู่ส่วนตัวนั้นดีมาก

    • 🚀 ความเป็นไปได้ในการเชื่อมกับเสิร์ชเอนจินภายในองค์กร: แม้ยังไม่ได้ลองรัน แต่ดูมีอนาคตมาก และน่าจะมีประโยชน์มากหากนำไปเชื่อมกับเสิร์ชเอนจินภายในองค์กร ยินดีที่ได้เห็นผลิตภัณฑ์ที่ไม่ต้องใช้ API key และเชื่อมกับ LLMs แบบโลคัลมากขึ้น

    • 🛠️ คำถามเกี่ยวกับกระบวนการตัดสินใจในอินฟราสตรักเจอร์: ถามว่าบล็อก 'จำเป็นต้องใช้เครื่องมือ' และ 'พบคำตอบแล้ว' ถูกตัดสินอย่างไรภายในอินฟราสตรักเจอร์ และจากเดโมที่เห็น การคืนผลลัพธ์ใช้เวลาพอสมควร จึงสงสัยว่าขั้นตอนไหนใช้เวลามากที่สุดระหว่างการค้นหา การจัดเก็บในเวกเตอร์สโตร์ หรือการค้นหาจากฐานข้อมูลเวกเตอร์

    • 🕵️ หลักการทำงานของเสิร์ชเอนจินแบบโลคัล: แม้จะบอกว่าเป็น 'เสิร์ชเอนจินที่รันในเครื่อง' แต่ก็มีคำถามว่ามันค้นหาและทำดัชนีเว็บไซต์กับหน้าเว็บต่าง ๆ อย่างไร

    • 🤫 ความลับของ Perplexity: มีความเห็นว่า Perplexity แทบไม่ได้ทำอะไรไปมากกว่าการใช้โมเดลสำเร็จรูป

    • 🏭 Perplexity ในฐานะคู่แข่งของแชตบอต: มองว่า Perplexity ดูเป็นคู่แข่งของแชตบอต

    • ข้อเสนอให้ผสานกับ Plandex: มีข้อเสนอว่าหากนำไปเชื่อมกับ Plandex ที่แชร์ในวันนี้ เพื่อสร้างเครื่องมือให้ทำงานร่วมกับ AI ผ่านโค้ดโดยไม่ต้องออกจากคอมพิวเตอร์ ก็น่าจะยอดเยี่ยมมาก

ความรู้พื้นฐาน: LLMs (Large Language Models) คือโมเดลภาษาขนาดใหญ่ที่ใช้ในการประมวลผลภาษาธรรมชาติ ส่วนฐานข้อมูลเวกเตอร์คือฐานข้อมูลที่เก็บข้อมูลในรูปเวกเตอร์เพื่อให้ค้นหาได้อย่างรวดเร็ว สำหรับ Perplexity นั้นอาจเป็นตัวชี้วัดประสิทธิภาพของโมเดลในงานประมวลผลภาษาธรรมชาติด้วย แต่ในที่นี้ดูเหมือนจะหมายถึงผลิตภัณฑ์หรือบริการเฉพาะอย่างหนึ่ง