ExtensityAI/symbolicai

A neurosymbolic perspective on LLMs

解決的問題

SymbolicAI 提供了一種透過神經符號方法,將傳統 Python 程式設計與大型語言模型(LLMs)能力結合的方式。它透過在 Python 程式碼中直接引入結構化驗證與語意推理,解決 LLM 的幻覺與不可預測性問題,讓開發者能建構更可靠、更可預測的 AI 應用程式。

工作原理

此框架圍繞兩個核心概念建構:原語契約

  • 原語(符號): 該專案引入 Symbol 物件,可在兩種模式下運作:語法模式(表現如標準 Python 值)與 語意模式(連結至神經符號引擎以理解意義與上下文)。使用者可透過投影如 .sem.syn,或呼叫語意函數如 .map() 在這兩種模式間切換。
  • 契約: 基於「契約式設計」原則,此系統使用裝飾器對 LLM 的輸入與輸出施加約束。它利用 LLMDataModel(與 Pydantic 相容)定義資料結構與驗證規則。若契約遭違反,框架可自動透過補救系統(預補救與後補救)嘗試修復錯誤,並支援可設定的重試邏輯。
  • 引擎: 此框架具模組化設計,支援多種引擎,包括文字、語音、影像產生與網路搜尋,透過原始 REST 請求通訊,無需依賴特定供應商的 SDK。

適用對象

希望以更強的正確性保證、結構化資料輸出,以及更自然的 Python 式語意推理整合方式,將 LLM 引入軟體的 Python 開發者。

主要亮點

  • 雙模式符號: 在同一物件上無縫切換字面 Python 操作與 AI 驅動的語意操作。
  • 契約式設計: 內建驗證與自動補救系統,減少幻覺並確保類型驗證的輸出。
  • 模組化引擎架構: 易於擴充的設計,支援本地主機引擎或與外部工具(如網路搜尋、影像產生)整合。
  • 供應商無關: 使用共享傳輸層,透過 REST 與各種 LLM 供應商(如 Anthropic、OpenAI、Gemini)互動。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案