Codex สำหรับ Honcho ที่สร้างด้วย Vibe coding + เกตเวย์ local embedding
(github.com/DaydreamBlend)(โปรเจกต์นี้เป็นโปรเจกต์ที่ใช้ Vibe coding)
สวัสดีครับ! ผมเป็นนักศึกษาบัณฑิตศึกษาสายเภสัชที่ติดตาม GeekNews เป็นประจำ
ผมได้รู้จัก Hermes Agent จากที่นี่และใช้งานกับงานวิจัยได้ดีมาก แต่ก็พบว่าสามารถเพิ่ม memory adapter ที่ชื่อ Honcho เข้าไปได้ด้วย
แต่พอลองดูรายละเอียดแล้ว มันไม่ได้ใช้โควตา Codex subscription โดยตรง กลับทำงานด้วยการส่งคำขอ API แบบคิดตามโทเค็นแยกต่างหาก ทำให้ผมกังวลเรื่องค่าใช้จ่ายเพิ่มเติม ผมรู้สึกว่าถ้าเผลอใช้ไปเรื่อย ๆ อาจทำให้เงินเดือนน้อยนิดของนักศึกษาบัณฑิตศึกษาหายไปหมดก็ได้
ดังนั้น โดยอาศัยแนวคิดจากการใช้โควตา Codex ที่มาพร้อมกับ ChatGPT subscription ใน Hermes Agent ให้ทำงานเสมือนเป็นคำขอแบบคิดตามโทเค็น
ผมจึงสร้าง adapter ลักษณะหนึ่งขึ้นมาเพื่อใช้ Codex subscription แทน Honcho backend
วิธีการทำงานมีดังนี้
- เมื่อตรวจสอบวิธีการทำงานของ Honcho พบว่าในการตั้งค่าเริ่มต้น ระบบจะส่งคำขอไปยัง OpenAI GPT 5.4 mini เพื่อตัดสินความสำคัญของเมมโมรี และใช้ OpenAI embedding model สำหรับ embedding เพื่อการค้นหาด้วย
- ดังนั้นผมจึงนำโค้ด Codex OAuth ของ Hermes Agent มาปรับให้ตอบกลับในรูปแบบเดียวกับ OpenAI endpoint และเปลี่ยนส่วน Embedding ให้ทำงานบนเครื่องผ่าน llama.cpp โดยใช้ BGE-M3 fp16.gguf
- เดิมทีมิติของ Embedding คือ 1536 มิติ แต่เนื่องจากมีโมเดลแบบเปิดที่เป็น 1536 มิติค่อนข้างน้อย จึงเลือกใช้ BGE-M3 ซึ่งเป็นโมเดล 1024 มิติ
- ในการตั้งค่า Honcho มีการรองรับ local server อยู่แล้ว จึงติดตั้ง docker stack ของ honcho-codex-gateway ไว้ล่วงหน้า และให้ docker stack เดิมของ honcho เชื่อมต่อไปยังเซิร์ฟเวอร์ที่รันจากตรงนั้น
- นอกจากนี้ วิธี tokenizing ของ honcho แตกต่างจาก bge จึงเกิดปัญหาเรื่องความยาว ผมเลยทำให้ระบบแบ่ง Chunking โดยให้ tokenizing ทำใน bge-m3 แทน
ผมไม่ค่อยมั่นใจเรื่องการเขียนโค้ดนัก ดังนั้นในการเขียนโค้ดครั้งนี้จึงใช้ Hermes Agent โดยตั้ง backend เป็น GPT 5.5 แบบอิง Codex subscription และใช้ระดับการใช้เหตุผลเป็น Low
ผมยืนยันได้ว่ามันทำงานได้ดีบนเครื่องรุ่น GB10 ซีรีส์ MSI EdgeXpert 1TB (ARM Ubuntu) ที่ซื้อมาใช้เป็นงานอดิเรก
แต่ยังไม่ได้ตรวจสอบว่าสามารถทำงานบน OS อื่น ๆ เช่น Windows/Mac ได้หรือไม่
ตอนแรกผมตั้งเป้าไว้ว่าถ้ามีคน git clone สักประมาณ 100 คน ก็น่าจะลองนำมาโพสต์บน GeekNews ดูได้ และเมื่อครบตามเกณฑ์ภายใน 13 วัน ผมเลยอยากนำมาลงให้ชุมชนที่ผมแวะมาเป็นประจำช่วยประเมินดู
ขอบคุณที่อ่านจนจบครับ!
ยังไม่มีความคิดเห็น