1 คะแนน โดย GN⁺ 2023-07-31 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • Khoj คือแอป AI ส่วนบุคคลที่ช่วยขยายศักยภาพของผู้ใช้ และมีสถาปัตยกรรมที่ขยายได้ตั้งแต่ AI ส่วนตัวแบบ on-device ไปจนถึง AI ระดับองค์กรขนาดคลาวด์
  • สามารถแชตกับ LLM ได้ทั้งแบบโลคัลหรือออนไลน์ โดยมีตัวอย่างโมเดล เช่น llama3, qwen, gemma, mistral, gpt, claude, gemini, deepseek
  • รับคำตอบได้จากอินเทอร์เน็ตและเอกสารต่าง ๆ โดยรองรับรูปแบบเอกสาร เช่น รูปภาพ, PDF, Markdown, org-mode, Word, ไฟล์ Notion เป็นต้น
  • เข้าถึงได้จาก Browser, Obsidian, Emacs, Desktop, Phone, Whatsapp และรองรับการสร้าง เอเจนต์ ที่มีคลังความรู้, เพอร์โซนา, โมเดลแชต และเครื่องมือที่ปรับแต่งได้
  • รองรับการทำวิจัยซ้ำ ๆ แบบอัตโนมัติ, การส่งจดหมายข่าวส่วนตัวและการแจ้งเตือนอัจฉริยะเข้า inbox, การสำรวจเอกสารที่เกี่ยวข้องผ่าน การค้นหาเชิงความหมาย ขั้นสูง, การสร้างภาพ, การสนทนาด้วยเสียง และการเล่นข้อความกลับ
  • เป็นโอเพนซอร์สและสามารถ self-host ได้ โดยรันแบบส่วนตัวบนคอมพิวเตอร์ของผู้ใช้ หรือใช้งานผ่าน cloud app ได้
  • เวอร์ชัน Enterprise มีให้ใช้งานในรูปแบบบริการคลาวด์, on-premise และโซลูชันแบบไฮบริด

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

 
GN⁺ 2023-07-31
ความคิดเห็นจาก Hacker News
  • บนหน้าแลนดิ้งเพจของเว็บไซต์ ผมไม่เห็นการกล่าวถึง Llama หรือกรณีใช้งานแบบออฟไลน์เลย ดูเหมือนจะพูดถึงแค่การใช้งานออนไลน์ผ่าน OpenAI เท่านั้น
    อยากรู้ด้วยว่าใช้โมเดลขนาดไหนและไฟน์จูนแบบใด รวมถึงมองประสิทธิภาพในกรณีใช้งานนี้อย่างไร
    ผมได้ลองใช้ Llama 2 ขนาด 7B และ 13B มานิดหน่อย และรู้สึกว่ามันกิน RAM ค่อนข้างมากบนเครื่องระดับผู้บริโภค เลยคาดหวังกับความเป็นไปได้นี้มากจริง ๆ
    ยังสงสัยด้วยว่าการค้นหาเป็นวิธีที่ใช้ embedding กับ vector DB แล้วเพิ่มการกรองเมตาดาต้าเสริมอย่างคำสั่งวันที่เข้าไปหรือไม่

    • เนื้อหาบนเว็บไซต์ค่อนข้างเก่าแล้ว จะลองอัปเดตภายในวันนี้
      Khoj ใช้ Llama 7B 4-bit quantized GGML ของ TheBloke
      น่าจะใกล้เคียงกับโมเดลแชตออฟไลน์ตัวแรกที่ให้คำตอบต่อคำถามผู้ใช้ได้สอดคล้องเมื่อใส่โน้ตเข้าไปเป็นบริบท และก็น่าสนใจที่มันมีความเป็นภาษาสนทนามากกว่า GPT-3.5+ ด้วย
    • ในฐานะคนที่ไม่ค่อยรู้รายละเอียดของการเชื่อมต่อ AI ผมมักสงสัยเสมอว่าโปรเจกต์แบบนี้ใช้เป็น โหมดเฉพาะโลคัล ได้ไหม
      ถ้าโฮสต์เองแล้วมีการรับประกันว่าข้อมูลส่วนตัวจะไม่ถูกส่งไปยังบริการระยะไกลเลย การเขียนเรื่อง การรับประกันความเป็นส่วนตัว ให้ชัดเจนมาก ๆ จะช่วยได้มาก
  • เห็นสิ่งนี้แล้วรู้สึกว่าเจ๋งมาก และผมมองว่า การรันบนเครื่อง คืออนาคตที่แท้จริงของ AI
    ผมลองรันบน M2 MacBook Air เครื่องเล็ก ๆ แล้วมันค้างสนิทไปเลย
    ทำให้นึกถึงสมัยก่อนที่พีซีติดไวรัส แล้วพอขยับเมาส์ต้องรออีก 45 วินาทีกว่าเคอร์เซอร์จะขยับ รู้สึกคิดถึงแบบแปลก ๆ ด้วยซ้ำ
    คงต้องลดความคาดหวังด้านประสิทธิภาพสำหรับ Air เครื่องนี้ และนี่เป็นครั้งแรกที่เจอเรื่องแบบนี้

    • อีกสัก 10 ปี คอมพิวเตอร์น่าจะมี หน่วยประมวลผล AI โดยเฉพาะอยู่ข้างใน และเราคงไม่ต้องกังวลว่าระบบจะค้างแค่เพราะคุยกับบอต
    • อยากรู้ว่า MacBook มีหน่วยความจำเท่าไร
      โมเดล 7B มักทำงานได้ดีถ้ามี unified memory อย่างน้อย 16GB แต่ผมเคยเห็น Mac 8GB ลำบากพอสมควร
  • เป็นไปได้ไหมที่จะรับประวัติเว็บในแต่ละวัน แล้ว สรุปเป็นโน้ต ว่าผมค้นคว้าอะไรไปบ้าง
    มันกำลังเข้าใกล้อุดมคติของ AI ส่วนตัวมากขึ้นเรื่อย ๆ
    รอไม่ไหวแล้ว อีกไม่กี่ปีผมน่าจะมีสมองดิจิทัลที่เต็มไปด้วยทุกสิ่งที่ผมรู้

    • น่าจะเจ๋งทีเดียว
      การทำส่วนขยายเบราว์เซอร์ที่สรุปประวัติเบราว์เซอร์รายวันคงไม่ใช่งานใหญ่มากนัก และน่าจะมีอะไรคล้าย ๆ กันอยู่แล้วด้วย
      การทำให้เส้นทางดิจิทัลทั้งหมดถูกทำดัชนีและย่อยให้อ่านง่ายได้คงมีคุณค่ามากจริง ๆ
      หวังว่า Khoj จะกลายเป็นแบบนั้นได้
    • https://www.rewind.ai
    • ผมก็คิดคำถามเดียวกันเป๊ะ และนี่อาจแก้ความไม่สะดวกจริง ๆ ได้
      อยากรู้ว่ามีเครื่องมือแนะนำที่ทำฟีเจอร์แบบนี้ไหม
      หรือไม่ก็อยากหาคนมาร่วมกันทำ
  • PostHog telemetry ใช้ทำอะไร
    ไม่เข้าใจว่าทำไมในเอกสารถึงไม่มีอะไรเลย และทำไมถึงไม่มีวิธี opt-out ที่ชัดเจน

    • เราใช้เพื่อทำความเข้าใจการใช้งาน
      เช่น เพื่อดูว่าผู้คนใช้ Markdown หรือ org เป็นต้น
      ข้อมูลทั้งหมดถูกเก็บแบบไม่ระบุตัวตนโดยสมบูรณ์ และไม่มีข้อมูลที่ระบุตัวตนได้ถูกส่งไปยังเซิร์ฟเวอร์ telemetry
      หากต้องการ opt-out ให้ตั้งค่า should-log-telemetry เป็น false ใน khoj.yml
      เราได้เพิ่มรายการข้อมูลที่เก็บและวิธีการลงในเอกสารแล้ว: https://docs.khoj.dev/#/telemetry
    • ลบออกได้ค่อนข้างง่าย สุดท้ายผมก็ทำแบบนั้น
      นอกเหนือจากนั้น โปรเจกต์นี้ทำงานได้ดีจนน่าทึ่ง
  • ดูเป็นโปรเจกต์ที่เจ๋งมาก
    ถ้าทำ การทำดัชนีไดเรกทอรี PDF ได้ และทำ OCR ให้ PDF เพื่อให้ทำดัชนีเอกสารสแกนได้ด้วยก็คงดีมาก
    อาจอยู่นอกขอบเขตโปรเจกต์ตอนนี้ แต่เมื่อไม่กี่วันก่อนผมก็เพิ่งคิดว่าอยากมีเครื่องมือแบบนี้

    • ถ้าค้นหาและคุยกับไฟล์ PDF ได้ก็น่าจะมีประโยชน์ทีเดียว
      Khoj สามารถทำดัชนี ไดเรกทอรี PDF เพื่อการค้นหาและแชตได้
      อย่างไรก็ตาม ตอนนี้ยังประมวลผลไฟล์ PDF ที่สแกนซึ่งไม่มีข้อความให้เลือกได้ไม่ได้
      ถ้ารองรับไฟล์แบบนั้นได้ด้วยก็คงดี และแค่ต้องลงมือ implement
      หวังว่าจะทำได้เร็ว ๆ นี้
    • ผมอยากได้ local crawler ที่รันบนเครื่องผมเองและจัดหมวดหมู่ จัดระเบียบ ติดแท็ก และย้ายไฟล์ทั้งหมดให้อัตโนมัติ
      อยากให้มัน crawl ไฟล์ PDF, ดาวน์โหลด, สกรีนช็อต, รูปภาพ ฯลฯ แล้วแสดง tree เชิงตรรกะของการจัดระเบียบไฟล์ และให้แก้ไขได้ประมาณว่า “เพิ่ม PDF ที่เกี่ยวข้องกับหัวข้อนี้ไว้ตรงนี้ แล้วจัดเรียงตามแหล่งที่มา/ผู้เขียน จากนั้นย้ายสกรีนช็อตมาที่นี่ตามลำดับวันที่”
      ผมอยากมีคอมพิวเตอร์ที่เรียกแค่ว่า “COMPUTER.” ได้มาตลอด
      พอตะโกนว่า “COMPUTER!” มันกลับตอบว่า “ท่านครับ ท่านต้องใช้คีย์บอร์ด” โอ้ คีย์บอร์ด ช่างโบราณเสียจริง
  • ดูเหมือนจะใช้ gpt4all เลยสงสัยว่ามี วิธีที่รองรับอย่างเป็นทางการในการเปลี่ยนโมเดล inference บนเครื่อง ไหม
    แอปจำนวนมากที่ออกแบบมาสำหรับ completion/chat API ของ OpenAI สามารถทำงานได้แทบเหมือนเดิมเพียงแค่ชี้ไปยัง endpoint ที่ llama-cpp-python [0] ให้มา และยังใช้โมเดลกับ quantization หลายแบบที่ llama.cpp รองรับได้
    แบบนั้นจะรันโมเดลที่ใหญ่ขึ้นบนฮาร์ดแวร์ที่ต้องการได้ รวมถึงการเร่งด้วย Metal บน Apple Silicon หรือ NVIDIA GPU และยังใช้พร็อกซีอื่นอย่าง openrouter.io ได้ด้วย
    โดยส่วนตัวผมใช้ openrouter.io บ่อย เพราะรองรับโมเดล 100k ของ Anthropic
    [0]: https://github.com/abetlen/llama-cpp-python

    • จุดสำคัญของ gpt4all คือการเปลี่ยนโมเดลได้โดยไม่พังมากนัก
      น่าจะเปลี่ยนบรรทัดนี้ https://github.com/khoj-ai/khoj/blob/master/src/khoj/process... เป็นโมเดลที่ต้องการได้
      ต้อง build image โลคัลเองด้วย docker-compose แต่ก็น่าจะค่อนข้างง่าย
    • ตอนนี้ยังไม่มีการรองรับอย่างเป็นทางการ
      นักพัฒนาหลายคนอยากลองโมเดลต่าง ๆ แต่เราต้องการมุ่งไปในทิศทางที่ทั้งใช้งานง่ายและช่วยได้ลึก
      ทรัพยากรมีจำกัด เลยกำลังคิดอยู่นิดหน่อยว่าควรโฟกัสตรงไหน
  • ในฐานะคนที่เพิ่งเริ่มใช้ Obsidian และลองเล่น AI แชตอยู่ นี่เป็นสิ่งที่ยอดเยี่ยมจริง ๆ

    • อยากให้ลองทดสอบดูว่าเหมาะกับกรณีใช้งานของผมหรือไม่ แล้วบอกให้รู้ด้วย
    • เป็นโปรเจกต์ที่ทำให้อยากย้ายไปใช้ Obsidian เลย :D
  • ยังไม่ได้ลองใช้ แต่ของแบบนี้ควรมีอยู่แน่นอน
    ถ้าไม่มี GPU ที่ดีพอ ก็คงยังไม่ถึงขั้นใช้งานได้ดีมากบน ฮาร์ดแวร์สำหรับผู้บริโภค แต่มั่นใจว่าจะเป็นไปได้ภายในไม่กี่ปี หรืออาจเร็วกว่านั้น
    โลโก้ก็สวย และชอบสีด้วย
    สำหรับกรณีใช้งานแบบนี้ Llama 2 น่าจะมีความสามารถเพียงพอ โดยเฉพาะเมื่อความเป็นส่วนตัวสำคัญ ก็ทำให้แรงจูงใจในการจ่ายเงินให้ ChatGPT ลดลง
    ขอให้พัฒนาต่อไปให้ดี

    • Llama V2 น่าจะดีพอที่จะทดแทน ChatGPT หรือก็คือ GPT-3.5 ได้ในหลายกรณีใช้งาน
  • ผมลองใช้ Khoj มาหนึ่งวันแล้ว มันเรียบร้อยและทำออกมาได้ดีจริง ๆ
    มีข้อสังเกตบางอย่าง

    1. เทเลเมทรีเปิดใช้เป็นค่าเริ่มต้น และอาจรวมถึง API กับคำถามแชตด้วย
      ผมได้เปิดอิชชูและข้อเสนอเกี่ยวกับเรื่องนี้ไว้ที่นี่: https://github.com/khoj-ai/khoj/issues/389
    2. อยากให้สามารถ ตั้งค่าใน UI ได้ แทนที่จะฝังการตั้งค่า YAML ลงในอิมเมจคอนเทนเนอร์
      ผมเพิ่มโน้ตไว้ในอิชชู GitHub ข้างต้นด้วย
    3. ยังไม่ชัดเจนว่าสามารถนำโมเดลของตัวเองเข้ามาใช้ได้หรือไม่
      เช่น อยากรู้ว่าสามารถตั้งค่าโมเดล huggingface/gpt4all ได้ไหม และถ้าได้ ระบบจะดาวน์โหลดอัตโนมัติตามชื่อหรือเปล่า หรือว่าต้องวางไฟล์ .bin กับ YAML ไว้ในโวลุ่มที่ไหนสักแห่ง
    4. ถ้ามีการเร่งความเร็วด้วย AMD GPU/APU หรือก็คือ รองรับ CLBLAS จะดีมาก และผมก็เปิดคำขอฟีเจอร์นี้ไว้เป็นอิชชูด้วย: https://github.com/khoj-ai/khoj/issues/390
    • Khoj ไม่ได้เก็บคำค้นหาหรือคำถามแชต
      อย่างที่เขียนไว้ในเอกสาร คุณสามารถดูเซิร์ฟเวอร์เทเลเมทรี[1] ได้โดยตรง
      ถ้าเห็นอะไรแปลก ๆ แจ้งมาได้ แล้วจะออกฮอตฟิกซ์ให้ทันที
      เมทาดาต้าเทเลเมทรีทั้งหมดก็ดูได้ที่นี่[2]
      [1]: https://github.com/khoj-ai/khoj/tree/master/src/telemetry
      [2]: https://github.com/khoj-ai/khoj/blob/master/src/khoj/routers...
      การตั้งค่า docker-compose ค่อนข้างเฉพาะทางเล็กน้อย รายละเอียดดูได้ในอิชชูนั้น
      ขอบคุณสำหรับข้อสังเกตเรื่องการผสานกับ GPU และเพื่อให้ชัดเจน ตอนนี้เราใช้การปรับให้เหมาะกับ GPU สำหรับการทำดัชนี แต่ยังไม่ได้ใช้กับแชตโลคัลที่ใช้ Llama
      กำลังทำให้ส่วนนั้นใช้งานได้อยู่
    • จะรองรับ URL แบบกำหนดเองสำหรับโมเดลโลคัล ได้ไหม เหมือนที่ได้จากการรัน ./server ใน ggml?
      ถ้ากำลังโทเคนไนซ์บริบทการค้นหาไว้ล่วงหน้า อาจจะยากขึ้นก็ได้
      โปรเจกต์นี้เจ๋งจริง ๆ
  • ที่พูดถึง C-s น่าสนใจดี
    isearch-forward มักใช้สำหรับ การค้นหาแบบตรงตัวอักษร ที่มีความหน่วงต่ำ
    อยากรู้ว่าในเวิร์กโฟลว์แบบไหน Khoj จะให้ความหน่วงที่ยอมรับได้หรือให้ประโยชน์ที่ดีกว่า จนใช้แทน isearch ได้
    มีตัวอย่างไหมว่าใช้อย่างไรตอนสำรวจเอกสาร?

    • การค้นหาของ Khoj ทำหน้าที่นั้นแทบจะตรงกันพอดี
      มันให้ประสบการณ์ค้นหาทันทีระหว่างพิมพ์ผ่าน อินเทอร์เฟซค้นหาด้วยภาษาธรรมชาติ ไม่ใช่คีย์เวิร์ด
      เวิร์กโฟลว์ของผมเป็นแบบนี้
      1. ค้นหาด้วย Khoj search[1]: C-c s s RET
      2. กระโดดไปยังรายการที่เกี่ยวข้องด้วย speed key[2]: n n o 2
        [1]: C-c s ถูก bind ไว้กับ transient menu ของ khoj
        [2] https://orgmode.org/manual/Speed-Keys.html