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 系统的人提供高级、生产就绪的工具包。
相关
- 项目
- 项目
- 项目
- 项目
- 项目