OneRAG - ซอร์ส RAG ที่สร้างโดย PM แชตบอต เปลี่ยน Vector DB/LLM และอื่น ๆ ได้ด้วยการแก้แค่บรรทัดเดียวในคอนฟิก
(github.com/notadev-iamaura)ในฐานะคนที่ไม่ใช่นักพัฒนา ผมได้ทำโปรดักต์เกี่ยวกับแชตบอตมาหลายครั้ง และเมื่อถึงจุดหนึ่งก็อยากลองสร้างโปรดักต์ให้เป็นไปตามที่ผมคิดด้วยตัวเอง
ดังนั้นผมจึงเริ่มพัฒนาแชตบอตบน Kmong
ช่วงนี้มีโปรเจกต์บน Kmong จากคนที่ไม่ใช่นักพัฒนาอยู่เยอะเหมือนกัน และผมเองก็ทำรายได้ประมาณ 14 ล้านวอนตลอด 5 เดือนนับตั้งแต่เดือนกันยายนปีที่แล้ว โดยใช้ RAG แชตบอตเป็นเครื่องมือหลักเพียงอย่างเดียว
ความต้องการของผู้ว่าจ้างส่วนใหญ่คล้ายกัน และการต้องคอยแก้โค้ดเพื่อรองรับ RAG pipeline ที่ต่างกันเล็กน้อย รวมถึงการใช้งาน vector DB ที่ต่างกัน ก็เป็นเรื่องค่อนข้างยุ่งยาก ผมเลยสร้าง OneRAG ขึ้นมา
แนวคิดหลัก: เปลี่ยนคอมโพเนนต์ใด ๆ ก็ได้ เพียงแก้แค่หนึ่งบรรทัดในไฟล์คอนฟิก
คอมโพเนนต์ที่รองรับ:
- Vector DB: Weaviate, Chroma, Pinecone, Qdrant, pgvector, MongoDB
- LLM: Gemini, OpenAI, Claude, OpenRouter
- Reranker: Jina, Cohere, Google, OpenAI, Local
- Cache: Memory, Redis, Semantic
- Extra: GraphRAG, PII Mask, Agent
ควิกสตาร์ต 5 นาที:
git clone https://github.com/notadev-iamaura/OneRAG
cd OneRAG && make quickstart
พัฒนาบน FastAPI มาพร้อม Docker Compose และรองรับ NLP ภาษาเกาหลีพื้นฐาน
(ผมทำงานฝั่งบริการ AI ในเกาหลีมาโดยตลอด)
ไลเซนส์ MIT หากมีฟีดแบ็กด้านสถาปัตยกรรม หรือข้อเสนอแนะว่าควรเพิ่มคอมโพเนนต์ไหน จะขอบคุณมากครับ
8 ความคิดเห็น
ช่วงนี้ผมเองก็รู้สึกเลือนๆ ว่าน่าจะต้องมีบริการแบบนี้เหมือนกันครับ เลยอยากทราบว่ามีแผนจะเพิ่มโมเดลจีนอย่าง GLM ของ zhipu หรือ kimi บ้างไหมครับ
ขอบคุณสำหรับความคิดเห็นครับ!
ตอนนี้ก็สามารถเรียกใช้โมเดลผ่าน OpenRouter ได้อยู่แล้ว ดังนั้นหากตั้งค่าการเรียกใช้งานบน OpenRouter ก็จะสามารถเรียกใช้โมเดลที่กล่าวถึงได้เพียงแค่เปลี่ยนชื่อโมเดล
หากเป็นโครงสร้างที่ทำให้โมเดลดังกล่าวทำงานแบบโลคัล ผมอยากอัปเดตเรื่องนี้ในอนาคต
อย่างไรก็ตาม น่าจะเป็นหลังจากที่เห็นว่าเป็นโมเดลที่อยู่ในระดับที่สามารถนำไปใช้กับ Korean RAG ได้ก่อน
ก่อนหน้านั้น มีแผนจะเพิ่มไปป์ไลน์แบบย่อที่ทำให้ผู้ที่เพิ่งเริ่มต้นกับ RAG สามารถทดลองได้อย่างง่ายดายมากขึ้น
ตัวอย่างเช่น กำลังพิจารณาฟีเจอร์ที่ใช้ Grok Collections API เพื่อให้ทำ RAG ได้ง่ายขึ้นด้วยการตั้งค่าที่น้อยลง :)
ขอบคุณสำหรับคำตอบครับ/ค่ะ OpenRouter ที่พูดถึงคือบริการนี้ใช่ไหมครับ/คะ https://openrouter.ai/ ? ส่วนที่บอกว่าเป็นโมเดลที่อยู่ในระดับที่ใช้กับ RAG ภาษาเกาหลีได้นั้น เป็นเรื่องที่ผม/ฉันเองก็ไม่ได้รู้ลึกมากนัก แต่สำหรับผม/ฉัน GLM 4.7 ให้คำตอบภาษาเกาหลีที่ดีกว่าและสม่ำเสมอกว่า sonnet 4.5 กับพรอมป์ต์ที่ผม/ฉันต้องการ จึงทำให้ความเชื่อมั่นเพิ่มขึ้นพอสมควร ดังนั้นคิดว่าน่าจะลองสนใจดูได้ครับ/ค่ะ
ใช่ครับ ถูกต้องครับ! โดยอิงจาก OpenRouter API ในลิงก์ดังกล่าว การสลับเปลี่ยนโมเดลทำได้สะดวก
(อย่างไรก็ตาม จะมีค่าใช้จ่ายเพิ่มเติมราว 5% จากค่าเติมเงิน จึงเหมาะกับการใช้งานอย่างสะดวกในระดับโปรเจกต์ทดลอง)
ผมจะลองตรวจสอบประสิทธิภาพของ GLM4.7 จากการใช้งานจริง และวางแผนให้สามารถนำมาปรับใช้ได้ครับ :)
ตกแต่งเว็บแอปให้สวย ๆ แล้วน่าจะเหมาะเอาไปใช้เป็นแบ็กเอนด์สำหรับแชตบอตได้ดีเลย
อืม ดูแล้วก็น่าจะไม่แย่สำหรับเอาไปใช้ในโปรเจกต์ส่วนตัว โดยตกแต่งฝั่งฟรอนต์เอนด์ให้ดี :)
ขอบคุณที่เผยแพร่ครับ!
ครับ! หวังว่าสิ่งนี้จะช่วยให้การทดสอบโปรดักต์ RAG ทำได้สะดวกขึ้นไม่มากก็น้อยนะครับ!