ax-llm/ax
The pretty much "official" DSPy framework for Typescript
解決的問題
Ax 提供一個統一的、語言無關的程式設計模型,用於建構 LLM 應用程式。它消除了手動提示工程的需求,並允許開發者使用單一語義核心,在多種語言(TypeScript、Python、Java、C++、Go 和 Rust)中定義類型化、結構化的生成。
工作原理
Ax 使用「簽名(Signatures)」來定義輸入和輸出為類型化的結構化資料。這些簽名可透過字串 DSL、流暢建構器或 Standard Schema v1 驗證器(如 Zod)定義。系統將這些定義編譯為多種語言的原生函式庫。它包含一個三階段的代理管道(Distiller → Executor → Responder)和一個遞迴執行時(RLM),透過在沙箱會話中執行 JS 並使用檢查點重播來管理長上下文,防止提示膨脹。
適用對象
需要在不同執行時堆疊上執行或整合至現有多元語言環境中的穩健、類型安全的 LLM 代理與工作流程的軟體工程師。
主要亮點
- 多語言支援:單一核心可編譯為 TypeScript、Python、Java、C++、Go 和 Rust。
- 類型化結構化生成:使用 Zod、Valibot 或自訂字串 DSL 實現端對端類型安全。
- 高階代理架構:包含上下文預算、記憶體(向量/BM25)、技能(執行手冊)以及用於工具執行的沙箱 JS 執行時。
- 供應商無關:透過部署設定輕鬆在 OpenAI、Anthropic、Gemini 等供應商之間切換,無需變更程式碼。
- AxFlow:類型安全、可鏈式呼叫的工作流程執行器,可作為安全的 DAG 優化執行。
- 多模態與音訊:原生支援影像、音訊和即時語音串流。
相關
- 專案
- Dispatch
- Dispatch
- 專案
- Dispatch