JamAIBase
把 AI 能力嵌入电子表格,让数据库自己会"问答"
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
把 AI 能力嵌入电子表格,让数据库自己会"问答"
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一个这样的场景:产品经理拿着一份包含 5000 条客户反馈的电子表格,告诉你"帮我在表格里加一列情感分析"。传统的做法是打开 Python、配置 API Key、写脚本、运行——至少要半小时。但如果这张表格本身就"懂"大模型呢?
这就是 JamAI Base 试图解决的问题。它是一个开源的 RAG(检索增强生成)后端平台,核心理念是把 AI 能力直接嵌入数据库:在熟悉的电子表格界面里,用自然语言指挥大模型,自动生成内容、调用工具、执行复杂的工作流,而无需编写一行代码。
项目由 EmbeddedLLM 团队开发,2024 年 5 月开源至今已收获 1098 颗 GitHub Stars,支持 40+ 次 Fork,2 个开源 Issues,表明项目活跃度高、社区反馈积极。项目采用 Apache-2.0 许可证,商业友好。

图 1:JamAI Base 主界面,表格单元格可直接调用大模型生成内容
大模型(LLM)在过去两年席卷了技术圈,但在实际业务落地时,开发者普遍面临两道门槛:数据管理和工作流编排。传统 RAG 系统需要单独管理向量数据库、单独搭建 API 服务、单独处理提示词工程——这三件套对非 AI 工程师来说几乎是天堑。
JamAI Base 的解题思路是:让已有的结构化数据(数据库、电子表格、文档)直接与大模型打通。它采用"表格即应用"的哲学——用户不需要理解什么是向量检索、什么是嵌入模型,只需要告诉表格"这列要用 GPT-4 生成摘要",剩下的由平台处理。
这个思路与 Notion AI、Copilot 略有不同:Notion AI 是在文档层做增强,而 JamAI Base 是在数据层做增强,更接近"AI Backend as a Service"(后端即服务)的定位。
JamAI Base 将 AI 能力封装为三种表格类型,分别对应不同的使用场景:
这是最直观的功能:选定一列,告诉大模型"根据其他列的信息生成描述",JamAI Base 会自动批量处理整列数据,并生成对应的 REST API 接口。
典型场景:电商平台根据商品名和规格自动生成商品详情;内容运营根据关键词批量生成 SEO 描述;客服系统根据用户标签批量生成个性化回复。
技术实现上,Generative Tables 通过流式输出(Streaming)逐行返回结果,响应速度接近实时,生成内容可直接通过内置 API 暴露给第三方应用调用。
如果说 Generative Tables 是"问答",Action Tables 就是"办事"。它允许将多个 AI 操作串联成复杂工作流:例如先用 GPT-4 总结用户问题,再调用搜索工具查询知识库,最后用 Claude 生成最终回复。
Action Tables 是 JamAI Base 最接近 Agent(AI 代理)概念的功能模块。它支持实时交互——表格的前端界面可以作为 AI 应用的用户交互层,用户输入后端实时触发 LLM 调用,结果回填到表格中。
从代码结构看,Action Tables 的核心逻辑在 services/api/src/owl/tasks/ 和 services/api/src/owl/routers/ 目录下,通过 FastAPI 构建 REST 接口,实现了前后端与 LLM 后端的实时通讯。
这是 JamAI Base 的 RAG 核心:上传文档(PDF、Word、网页等),平台自动解析、切分、向量化,存入内置的 LanceDB 向量数据库。用户查询时,系统自动完成语义检索 + 重排序(Reranker)+ 生成,直接返回带上下文的答案。
相比 LangChain、LlamaIndex 等纯代码框架,Knowledge Tables 的优势在于零代码 RAG:上传文档 → 提问 → 得到答案,全程图形界面操作。项目 topics 中明确标注了 rag、retrieval-augmented-generation,RAG 功能是产品的核心卖点之一。
从代码结构看,JamAI Base 采用了典型的前后端分离 + 微服务架构:
| 层级 | 技术选型 | 说明 |
|---|---|---|
| 后端 API | FastAPI + SQLModel + Pydantic | services/api/src/owl/,使用 SQLModel 统一 DB 模型和 API DTO |
| 数据库 | SQLite(行存)+ LanceDB(向量) | 双数据库设计,SQLite 处理结构化数据,LanceDB 处理向量检索 |
| 前端 | Svelte | services/app/ 目录,表格 UI 是核心 |
| 文档解析 | Docling(自研 docio 服务) | 支持 PDF、Word 等复杂文档的解析 |
| Python SDK | clients/python/ | 提供 jamaibase Python 包,封装 REST API 客户端 |
| TypeScript SDK | clients/typescript/ | 支持 Node.js 环境接入 |
| LLM 编排 | 内置(无 LangChain/LlamaIndex) | 项目自研 LLM 调度逻辑,支持 OpenAI/Anthropic/本地模型 |
架构设计值得注意的几个细节:
数据模型分离:DB 模型用 SQLModel(不做输入验证),API DTO 用 Pydantic(严格验证输入)。两者命名约定:Foo(DB)+ Foo_(Pydantic),这是一个清晰的分层模式。
纯 Python AI 链路:项目没有引入 LangChain 或 LlamaIndex,而是自研了 LLM 编排层。这降低了依赖复杂度,但也意味着所有 AI 功能需要自己维护。
OpenTelemetry 集成:生产环境默认开启链路追踪,配置了 VictoriaMetrics(指标)、VictoriaLogs(日志)、vmagent(采集器)的完整可观测性栈。
多 LLM 支持:.env.example 显示支持 OpenAI、Anthropic、Azure AI、Google Gemini、DeepSeek、Cerebras、Together AI、Voyage AI 等十余家 LLM 提供商,灵活性强。
部署方面,JamAI Base 提供了完整的 Docker Compose 配置,但基础设施组件较多:
ghcr.io/embeddedllm/jamaibase/owl.base 定制镜像Dockerfile.owl 的构建流程:
基础镜像 → 安装 uv venv → 安装 API 依赖 → 安装 Python Client → 复制源码 → 安装包
整体使用 uv 作为包管理器(现代 Python 工具链,比 pip 更快),Python 版本要求 3.12。
部署注意事项:
localhost:4000,后端 API 监听 localhost:6969kong.yml)部署难度评分:中等(3/5)。主要门槛在于 Docker Compose 组件较多、对 LLM API Key 的依赖,以及 VictoriaMetrics 等运维组件的学习成本。官方也提供云托管服务,适合不想自托管的用户。
对于不同用户群体,门槛差异较大:
| 用户类型 | 难度 | 说明 |
|---|---|---|
| AI 爱好者 | 中等 | 需要理解 Docker、有 API Key。有 GUI 界面,非程序员也能用 |
| Python 开发者 | 较低 | pip install jamaibase,几行代码即可调用 API |
| Svelte 前端开发者 | 低 | 有 TypeScript SDK,直接 npm 安装即可接入 |
| AI 工程师 | 低 | 熟悉的 Agent/RAG 模式,代码结构清晰易扩展 |
JamAI Base 作为一个快速迭代的开源项目,也有其局限性:
JamAI Base 代表着一种新兴的 AI 应用构建范式:Data-first AI。相比传统的"模型优先"(先选模型,再想怎么用),Data-first AI 是"从已有数据出发,用 AI 增强"。
这类工具的崛起意味着:未来不需要每个团队都去学 LangChain、搭 RAG 系统,而是可以在现有数据库/表格的基础上,直接赋予 AI 能力。类似趋势的还有 Flowise、Dify,这些工具的共同点是降低 AI 落地的技术门槛。
项目 2024 年 5 月至今(2026 年 6 月)不到两年,已获 1098 Stars,增长轨迹健康。随着 AI 应用开发需求的持续爆发,这类低代码 AI 平台的商业价值和社区价值都将持续增长。
项目速览