NeoGraph - Công cụ agent engine chuyển LangGraph sang C++
(github.com/fox1245)Xin chào.
Tôi xin chia sẻ NeoGraph, công cụ agent orchestration engine do tôi tạo ra.
Nó dựa trên C++17 và có thể cài đặt bằng lệnh dưới đây.
pip install neograph-engine
Vì sao tôi tạo ra nó
Khi sử dụng LangGraph dựa trên Python, nhiều lúc tôi thấy hiệu năng chưa thật sự thỏa mãn. Do cấu hình cần thiết để chạy server cũng khá cao, tôi thường nghĩ sẽ tốt hơn nếu có một orchestration engine nhẹ và nhanh, vì vậy ý tưởng triển khai bằng C++ để nhắm đến cải thiện hiệu năng đã hình thành.
Đặc điểm?
Nó xử lý graph dưới dạng dữ liệu, không phải mã.
Phần lớn các framework Python định nghĩa graph bằng đối tượng Python. NeoGraph định nghĩa chính cấu trúc graph bằng JSON. Không phải một đối tượng StateGraph, mà là một khối JSON có thể nằm gọn trong một dòng của DB.
Vì vậy, những điều sau đây trở nên khả thi.
-
Hot swap không cần deploy - nếu muốn thay đổi cấu trúc agent (graph topology), chỉ cần thay một dòng JSON trong DB.
Không cần deploy lại, không cần khởi động lại process, cũng không làm mất các cuộc hội thoại đang diễn ra. -
Multi-tenant - có thể chạy cấu trúc agent khác nhau cho từng khách hàng trong cùng một process. Trong thử nghiệm thực tế với OpenAI gpt-4o-mini khi xử lý đồng thời 1.000 khách hàng, RSS là 29MB và không có lỗi nào. Với cùng cấu hình đó, nếu dùng LangGraph thì do phải có process cho từng khách hàng, tôi ước tính sẽ cần khoảng vài chục GB.
-
Agent tự tiến hóa - LLM quan sát hội thoại của từng khách hàng rồi viết lại
graph_def(JSON) của khách hàng đó. Nói cách khác, agent sẽ "tự thay đổi hình dạng" để phù hợp với hành vi người dùng.
Và nó rất nhanh.
| Framework | Engine overhead (1 lần node) | So với NeoGraph |
|---|---|---|
| NeoGraph | 5.0 µs | 1× |
| Haystack | 140 µs | 28× |
| LangGraph | 643 µs | 128× |
| LlamaIndex | 1,565 µs | 313× |
| AutoGen | 3,127 µs | 625× |
Tất nhiên, kết quả có thể khác tùy theo cách đo, và khi có lời gọi LLM thực tế thì I/O bên ngoài sẽ chi phối nên tốc độ cảm nhận được có thể sẽ tương tự nhau.
Theo tôi, các con số µs này thực sự có ý nghĩa trong những trường hợp multi-tenant/edge, nơi hàng nghìn request đổ vào cùng một máy.
GitHub: https://github.com/fox1245/NeoGraph
PyPI: https://pypi.org/project/neograph-engine/
Rất mong nhận được phản hồi.
Chưa có bình luận nào.