2 คะแนน โดย procoinmac0 15 시간 전 | ยังไม่มีความคิดเห็น | แชร์ทาง WhatsApp

สวัสดีครับ
ผมขอแชร์ NeoGraph ซึ่งเป็นเอนจิน orchestration สำหรับเอเจนต์ที่ผมสร้างขึ้นเอง
พัฒนาบนพื้นฐาน C++17 และสามารถติดตั้งได้ด้วยคำสั่งด้านล่าง
pip install neograph-engine

ทำไมถึงสร้างมันขึ้นมา

เวลาที่ใช้งาน LangGraph ซึ่งพัฒนาด้วย Python มักมีหลายครั้งที่รู้สึกว่ายังขาดด้านประสิทธิภาพอยู่พอสมควร อีกทั้งสเปกที่ต้องใช้ตอนรันเซิร์ฟเวอร์ก็ค่อนข้างสูง จึงมักคิดอยู่บ่อย ๆ ว่าน่าจะมีเอนจิน orchestration ที่เบาและเร็ว เลยต่อยอดมาเป็นแนวทางในการทำด้วย C++ เพื่อหวังเพิ่มประสิทธิภาพ

จุดเด่น?

มันจัดการกราฟในรูปแบบ ข้อมูล ไม่ใช่ โค้ด

เฟรมเวิร์ก Python ส่วนใหญ่นิยามกราฟเป็นอ็อบเจ็กต์ Python แต่ NeoGraph นิยามโครงสร้างกราฟเองเป็น JSON ไม่ใช่อ็อบเจ็กต์ StateGraph แต่เป็นก้อน JSON ก้อนเดียวที่เก็บอยู่ในหนึ่งแถวของ DB

โฆษณา

ดังนั้นจึงทำสิ่งต่อไปนี้ได้

  1. hot swap แบบไม่ต้อง deploy - หากต้องการเปลี่ยนโครงสร้างเอเจนต์ (graph topology) ก็แค่สลับ JSON เพียงหนึ่งแถวใน DB
    ไม่ต้อง redeploy, ไม่ต้องรีสตาร์ตโปรเซส และไม่มีการสูญเสียบทสนทนาที่กำลังดำเนินอยู่

  2. multi-tenant - สามารถรันโครงสร้างเอเจนต์ที่ต่างกันไปตามลูกค้าแต่ละรายภายในโปรเซสเดียวกันได้ จากการทดสอบจริงด้วย OpenAI gpt-4o-mini ที่รองรับลูกค้า 1,000 รายพร้อมกัน พบว่า RSS อยู่ที่ 29MB และ error 0 ครั้ง หากใช้โครงสร้างเดียวกันบน LangGraph จะเป็นลักษณะหนึ่งโปรเซสต่อลูกค้า จึงคาดว่าต้องใช้หน่วยความจำระดับหลายสิบ GB

  3. เอเจนต์วิวัฒนาการตัวเอง - LLM จะดูบทสนทนาของลูกค้าแต่ละรายแล้วเขียน graph_def (JSON) ของลูกค้านั้นใหม่ กล่าวคือ เอเจนต์จะ "ปรับรูปร่างของตัวเอง" ให้เข้ากับพฤติกรรมผู้ใช้

    โฆษณา

และมันเร็วด้วย

เฟรมเวิร์ก overhead ของเอนจิน (รันโหนด 1 ครั้ง) เทียบกับ NeoGraph
NeoGraph 5.0 µs
Haystack 140 µs 28×
LangGraph 643 µs 128×
LlamaIndex 1,565 µs 313×
AutoGen 3,127 µs 625×

แน่นอนว่าผลลัพธ์อาจต่างกันได้ตามวิธีวัด และเมื่อมีการเรียกใช้ LLM จริง external I/O จะกลายเป็นปัจจัยหลัก ทำให้ความเร็วที่รู้สึกได้อาจใกล้เคียงกัน
ผมคิดว่าตัวเลขระดับ µs นี้จะมีความหมายจริงในกรณี multi-tenant/edge ที่มีคำขอหลายพันรายการวิ่งเข้ามาในเครื่องเดียว

GitHub: https://github.com/fox1245/NeoGraph
PyPI: https://pypi.org/project/neograph-engine/

ยินดีรับฟีดแบ็กครับ

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น