原生人工智能
Postgres 上的本机 AI:NL2SQL、RAG 和代理
NL2SQL 和 RAG 直接内置于 Aurabase 后端,而不是事后添加的外部连接器。逐个功能地准确解析“本地”的含义。
Aurabase 嵌入 NL2SQL (自然语言到 SQL,已验证且有界)和 RAG (pgvector 搜索,HNSW 嵌入)直接进入后端,使用 3 本土法学硕士提供商 (OpenAI、Anthropic/Claude、Gemini)。 Mistral、Scaleway AI 和 Ollama 仍可通过 OpenAI 兼容端点进行访问,而不是定制的本机客户端。
NL2SQL — 自然语言提示,安全的 SQL 输出
Aurabase 的 NL2SQL 引擎在执行前验证每个生成的查询:AST 解析 sql解析器、严格的 SQL 函数白名单和有界的 限制 对每个执行的查询强制执行。这不是一个不受约束的 LLM 调用——它是一个严格的语法验证器,除了简单的语法之外,它拒绝任何东西。 选择.
验证器明确拒绝 CTE/WITH 子句、子查询、UNION 语句、非白名单函数(计数, 总和, 平均, 分钟, 最大, 较低, 上层, 合并, 日期截断, 现在),以及任何系统目录访问。行上限是服务器端可配置的,并且可以根据查询进行限制——永远不会超出租户限制。
原生 RAG 和 pgvector — 零外部依赖
PG向量 0.8.6 预安装在每个 Aurabase 租户 Postgres 映像中,并配有一个摄取管道,该管道具有自动网络重试和跨 3 个维度类(768、1536 和 3072)的 HNSW 矢量搜索 — 完全在 pgvector 的 16,000 维度限制之内。
不需要额外的步骤来“安装”pgvector:扩展被烘焙到标准租户映像中。摄取管道本身是直接设计到 Aurabase 中的应用程序级功能。
存储是按命名空间构建的:每个摄取的文档(POST /v1/ai/ /rag/ingest) 被分块、嵌入并映射到匹配的向量维度列。查询端点(POST /v1/ai/ /rag/query) 结合检索和生成;专用端点(获取 /v1/ai/ /search)自行公开向量相似性搜索,而不触发 LLM 调用。切换嵌入模型永远不会破坏您的数据集:可以重新索引命名空间(POST /v1/ai/ /rag/ /reindex)在新模式下无需重新上传文件。
其他地方很少记录技术细微差别:超过 2,000 个维度,HNSW 无法索引 pgvector 的标准 矢量 类型。对于 3072 维度,Aurabase 自动利用 halfvec(3072) (降低精度,可索引)而不是默默地将查询降级为全表扫描。默认情况下,检索返回 5 个段落(前k个)高于 0.3 相似度阈值 — 每个查询都可以覆盖这两个参数。
3 个本地提供商,以及“本地”排除的内容
OpenAI、Anthropic (Claude) 和 Google Gemini 在 Aurabase 代码库内有专用的本机客户端集成。 Mistral、Scaleway AI 和 Ollama 仍然可以通过 OpenAI 兼容端点进行访问——如果您的堆栈依赖于定制的提供程序原语,那么这是一个重要的操作区别。
| 提供者 | 整合 | 影响 |
|---|---|---|
| 开放人工智能 | Dedicated native client | Direct project API key configuration |
| 人类(克劳德) | Dedicated native client | Direct project API key configuration |
| 谷歌双子座 | Dedicated native client | Direct project API key configuration |
| 米斯特拉尔 | OpenAI-compatible endpoint | Functional via standard endpoint, without custom client |
| Scaleway人工智能 | OpenAI-compatible endpoint | Functional via standard endpoint, without custom client |
| 奥拉马(自托管) | OpenAI-compatible endpoint | 非常适合本地法学硕士或本地部署 |
为什么 Supabase 押注于连接器而不是原生 NL2SQL
Supabase 于 2026 年 2 月推出了官方 Claude 连接器,随后又集成了 ChatGPT。两者都允许从第三方聊天界面查询 Supabase 数据库——一种外部编排模式,与直接嵌入后端本身的 NL2SQL 引擎明显不同。另请参阅我们的 Aurabase 与 Supabase 的全面比较.
是什么阻止法学硕士运行任意或破坏性查询
在任何执行之前都应用三个安全护栏:严格的语法验证(仅限 SELECT、函数白名单)、通过 LIMIT 有界结果限制,以及将目标模式与调用项目单独隔离。内省模式从来不是由客户提供的——它源自项目数据库,唯一的权威来源。
选择 查询。任何尝试 插入, 更新, 删除, 丢弃, 创造, 或 改变 模型发出的结果在 AST 级别被拒绝——在执行之前,而不仅仅是通过提示指令。除了仅限 SELECT 的限制之外,验证器还阻止 CTE/WITH、子查询、UNION/INTERSECT/EXCEPT 语句、表值函数 (生成系列, pg_sleep…)、窗口函数、美元引用和锁定子句 (更新)。彻底的安全性遍历整个抽象语法树——包括 DISTINCT ON、OFFSET、FETCH 和聚合子句——确保没有禁止的函数溜过未经检查的 AST 节点。
Postgres 上的 AI 代理 — 函数调用,而不是不受约束的 SQL
使用 LangChain 或 LlamaIndex 等框架构建的代理可以调用 Aurabase REST 端点(NL2SQL、RAG、数据库查询)作为从其自己的函数调用循环调用的本机工具。 NL2SQL 扮演着一个精确的角色:将代理的子查询转换为经过验证的、安全的 SQL,而不是授予代理不受限制的 SQL 执行。
实际上,向代理公开的工具包装了对 NL2SQL 端点的标准 HTTP 调用 - SDK 无需自定义框架插件即可执行请求: