SynaLinks/synalinks

Keras based framework for neuro-symbolic LM systems

Synalinks – 用于语言模型应用的神经符号框架

它是什么

  • 一个开源 Python 库,让您能够使用类似 Keras 的声明式 API 构建、训练、评估和部署基于高级语言模型 (LM) 的系统,例如 RAG、自主智能体、递归智能体以及其他神经符号流水线。

核心理念

  • 模块即层 – 您可以像使用 Keras Layer 一样组合可重用的 Module 对象。
  • 上下文强化学习 (In-context RL) – 使用熟悉的 .compile() / .fit() / .evaluate() / .predict() 工作流,无需触及底层模型权重即可优化提示词、少样本示例或任何可训练变量。
  • 模型无关 – 通过一次 set_default_language_model 调用,即可在 LiteLLM 支持的任何 LLM(OpenAI、Anthropic、Ollama、Gemini、Mistral、Groq 等)之间切换,甚至支持针对成本/质量权衡的多目标选择。
  • 嵌入式沙箱 – 智能体在纯 Python 沙箱中运行不受信任的代码,无需 Docker 或外部服务,使其在无服务器或笔记本环境中非常安全。
  • 内置知识库 – 用于向量/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 中的徽章)。

社区与支持

  • 文档网站、常见问题解答、Discord 服务器以及用于智能体集成的专用 synalinks-skills 仓库。

总结 Synalinks 旨在成为“语言模型应用的 Keras”,为任何希望以最少样板代码从原型转向部署神经符号 AI 系统的人提供高级、生产就绪的工具包。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目