SynaLinks/synalinks

Keras based framework for neuro-symbolic LM systems

Synalinks – 言語モデルアプリケーションのための神経記号フレームワーク

概要

  • Kerasスタイルの宣言的APIを使用して、RAG、自律型エージェント、再帰型エージェント、その他の神経記号パイプラインといった、高度な言語モデル(LM)ベースのシステムを構築、トレーニング、評価、デプロイできるオープンソースのPythonライブラリです。

コアコンセプト

  • モジュールとしてのレイヤー – Kerasの Layer と同様に、再利用可能な Module オブジェクトを構成します。
  • インコンテキスト強化学習 – おなじみの .compile() / .fit() / .evaluate() / .predict() ワークフローを使用して、基盤となるモデルの重みに触れることなく、プロンプト、Few-shot例、またはトレーニング可能な変数を最適化します。
  • モデル非依存 – set_default_language_model を一度呼び出すだけで、LiteLLMがサポートするあらゆるLLM(OpenAI、Anthropic、Ollama、Gemini、Mistral、Groqなど)を切り替え可能。コストと品質のトレードオフのためのマルチ目的選択もサポートしています。
  • 埋め込みサンドボックス – エージェントはDockerや外部サービスを必要としない純粋なPythonサンドボックス内で信頼できないコードを実行するため、サーバーレスやノートブック環境でも安全です。
  • 組み込み知識ベース – ベクター/RAGストレージ、自動セマンティック重複排除、制約付き知識グラフ抽出のためのグラフベースおよびSQLベースの埋め込みデータベース。
  • 本番環境向けデプロイ – 単一のコマンドでプログラムをFastAPIサービスまたはFastMCPサーバーとしてエクスポートします。

主な機能

  • LMパイプラインの宣言的構成(Program、Branch、データモデル演算子)。
  • 自動JSONスキーマ検証を備えた構造化データモデル定義。
  • ファーストクラスのメッセージパーツとしてのマルチモーダルサポート(画像、音声)。
  • KerasTuner互換性によるハイパーパラメータ検索。
  • MLflowの可観測性フック(メトリクス、トレーシング、Monitor コールバック)。
  • モジュールの自動非同期並列実行。
  • エージェントスキル統合 – synalinks-skills をインストールすることで、コーディングエージェント(Claude Code、Cursor、Copilotなど)が慣用的なSynalinksコードを生成できるようになります。

ターゲットユーザー

ロール メリット
AI開発者 ボイラープレートなしで本番グレードのLMアプリを構築。
研究者 神経記号システムやインコンテキストRLシステムのプロトタイプを迅速に作成。
データサイエンティスト LLMワークフローを既存のAPI、データベース、パイプラインに接続。
学生/ホビイスト クリーンでKerasライクなスタイルで構成可能なAIプログラミングを学習。

クイックスタート

# CLIヘルパーのインストール(uvを推奨)
uvx synalinks init          # 数秒で新しいプロジェクトをスキャフォールド
# または既存のプロジェクトにライブラリを追加
uv add synalinks

デフォルトモデルを一度設定します:

import synalinks
synalinks.set_default_language_model("gemini/gemini-3.1-flash-lite-preview")

次に、シンプルなエージェントプログラムを定義します(完全な例はREADMEを参照)。ライブラリがサンドボックス、スキル読み込み、非同期実行を自動的に処理します。

インストール要件

  • Python 3.12+。
  • Linux: fuse3 および非特権ユーザー名前空間の有効化。
  • macOS (Apple silicon): Homebrew経由で libkrun をインストール。
  • Windows: WSL2を使用し、Linuxの手順に従う。

ライセンス

  • Apache-2.0 (READMEのバッジを参照)。

コミュニティとサポート

  • ドキュメントサイト、FAQ、Discordサーバー、およびエージェント統合用の専用 synalinks-skills リポジトリ。

結論 Synalinksは「言語モデルアプリケーションのためのKeras」を目指しており、プロトタイプから本番環境の神経記号AIシステムへ最小限のボイラープレートで移行したいすべての人のための、高レベルで本番環境に対応したツールキットです。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト