@dbx-tools/appkit-model-gateway

中文文档
0.9.206发布于 2026/11/11Apache-2.0TypeScriptES Module构建来源已验证近 30 天下载 8184

Databricks OpenAI、Anthropic、Codex和AI Gateway API的 AppKit 模型网关

中文使用文档
文档目录9 节
  1. 选择嵌入式、前景式或服务模式
  2. 注册 AppKit 插件
  3. 连接客户端
  4. 使用智能路由器
  5. 发现模式
  6. 请求兼容性
  7. 配置代码
  8. 配置示范政策
  9. 软件包 API

@dbx-tools/appkit-模范出道道

通过 OpenAI 响应、 OpenAI 聊天在 Databricks 工作空间中曝光模型 完成, Anthropic Messages, 嵌入, 以及 Codex 兼容 API. 这个 网关发现工作空间目录并选择兼容的数据砖 每个请求的路径.

选择嵌入式、前景式或服务模式

当模型路由属于已存在的应用程序时注册 AppKit 插件 . 运行 dbx model-gateway 用于本地工具所使用的前景回路端点. 使用 dbx model-gateway service install 当当地终点必须继续下去时 终点站关闭后.

注册 AppKit 插件

import { createApp, server } from "@databricks/appkit";
import { modelGateway } from "@dbx-tools/appkit-model-gateway";

await createApp({
  plugins: [modelGateway(), server()],
});

AppKit 挂载插件路由 /api/model-gateway/v1/*编辑 @dbx-tools/cli (英语) 提供前景服务器构建, 当前用户服务管理,以及标准根兼容路径.

连接客户端

当一个工具期望 OpenAI 兼容的基础 URL 时使用独立的 CLI :

dbx model-gateway \
  --profile PRIMARY-PROFILE \
  --profile FALLBACK-PROFILE \
  --listen tcp://127.0.0.1:4000

简介按申报顺序进行。 模型发现和路由使用 第一个简介。 当一个推断请求收到 HTTP 429 时, 网关重试 相同的上游模型,通过下一个配置图,其工作空间是可用的. 冷却器由工作空间和模型 ID 共享,所以两个配置相同 工作空间不会绕过相同的限制。 报告重试间隔后 过期, 请求自动返回第一个配置 .

Retry-After 优先于 JSON retry_after 数值。 数据砖时 报告每个分钟的工作空间符号限制,但没有两个值,即网关 使用60秒冷却;其他429个响应使用15秒.

系统模型的首选路线是非准确的答复请求,包括: 代码交通,通过 system.ai.* AI 网关服务而非工作空间 服务端点。 Codex型号的弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出后弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹出弹 确切的终点 编号或 system.ai.* 名字总是赢.

配置客户端为 http://127.0.0.1:4000/v1 (中文(简体) )。用于嵌入式应用程序 路径,使用应用程序来源加 /api/model-gateway/v1。 。 。 .

网关支持:

  • OpenAI 回复和聊天补全.
  • Anthropic Messages. (原始内容存档于2018-09-27).
  • OpenAI-相容嵌入.
  • Codex模型发现和响应流量.

使用智能路由器

选择虚拟 smart-router 模式来自任何支持的聊天协议 :

{
  "model": "smart-router",
  "input": "Refactor the authorization layer across the repository"
}

回来之前 GET /v1/models网关让人想起 task_v3 向数据砖请求能力 /ai-gateway/routing/v1/routes:select。虚拟模式仅在 该请求在有效身份和生活上取得成功 system.ai.* 候选人。 阳性探测器共用5分钟,同时探测器 组合为一个请求。 时立即返回 Stale 值 @dbx-tools/cache refreshAfterWrite 连接一个访问触发背景 刷新点 一个明确的推断请求跳过这个合成的飞行前,因为 它的真正路由选择已经是可用性检查.

推断一下,网关从Resolution输入中提取了捆绑的任务上下文, 聊天补全或Anthropic消息,纯文本,或通用JSON对象. 这个 不包括证书、工具计划和工具参数。 OpenAI 形状的请求 使用该 codex 智能路由器控制策略; Anthropic 信件使用 claude。 。 。 . 选中的路由必须匹配一个可兼容协议的在线 模特们 没有本地的分级或倒置选择器 .

一样 smart-router id 与 Resignation, Chat Professions, Anthropic 一起工作 信息 和 Codex 兼容的响应流量 。 嵌入需要一个 明确型号。 明确的具体模型和模范类标题继续 赢了.

智能路由器选择被固定在逻辑用户转弯时. 默认存储 使用 AppKit 软件 CacheManager,因此配置的 Lakebase/PostgreSQL 持久性是 复用过应用复制品. 供应 smartRouterStore 要使用另一个存储 执行进展情况 get编号 :set 合同,包括SQLite支持 适配器. 仅存储所选模型和有界限的路由元数据; 提示 答复则不然.

这个状态是TTL路由针,不是对话历史. 网关没有 读取 Mastra PostgresStore: 支持的聊天请求已携带便携式 与马斯特拉连接会排除其他聊天客户. AppKit 缓存持久性也比网关拥有的文件或第二个更可取 过期的表格,因为它已经处理进程局部再利用,项目范围 磁盘倒置,并配置了Lakebase/PostgreSQL存储. 消费者还是可以 当部署需要另一个后端时, 注入不同的存储 .

反应信头显示 选定的混凝土模型,返回路线模型, 带、缓存源和任何 task_v3 任务等级、服务等级或剖析器 状态不重写上游反应机构的模型身份.

通过通过 JSON 或文本文件来选择不启动服务器的模型,或者 - 用于标准输入 :

dbx model-gateway --profile PROFILE --select-model-from request.json

发现模式

import { createModelGatewayClient } from "@dbx-tools/shared-model-gateway";

const client = createModelGatewayClient({ baseUrl: "http://127.0.0.1:4000/" });
const models = await client.listModels({ search: "sonnet" });

使用 { codex: true } 当一个 Codex 客户端需要它的本地目录形状时.

请求兼容性

当选定模式支持时, 请求保留在本地流路径上 客户协议 。 当协议不同时,网关会翻译请求和 通过 Vercel AI SDK 消息进行响应,同时保留文本,功能工具, 推理、使用、结束原因、流出和取消。 嵌入使用一个 直接 Databricks 嵌入路由而不翻译.

该网关拒绝它无法保存的状态响应选项,包括 previous_response_id, (中文(简体) ), store: true,以及 background: true。 。 。 .

明确 temperature: null 省略。 对于已发布 Databricks 模型 模型.dev 元数据,不支持的温度被省略和支持的值 被夹在 Databricks 上 0..2 范围。 未知的自定义端点保持有限制 数值温度不变.

见 请求参数翻译 温度和推理流.

网页搜索和自定义工具请求仅在发现时使用直接路径 模型广告 所需的能力。 OpenAI 模型列表 capabilities.web_search 和代码 supports_search_tool 使用同样的 发现值.

配置代码

GET /v1/models 当请求带有时, 包括编码元数据 Originator 包含 codex (对大小写不敏感),或非空白 client_version 查询参数。 Codex sults 更喜欢完全合格的 Databricks 软件 模式服务名称.

添加 metadata=true 或 Codex 请求包含 每个模型上的可选 dbx 工具元数据对象。 其耐久性和评级领域 每个都暴露出一个可分级的根分数加上嵌入式的测量或源排名. 默认响应会省略字段, 因此已有的 OpenAI 和 Codex 客户端会保留 他们的当前有效载荷形状.

Codex将提供者模型与其捆绑的目录合并. 网关保留a 单独提供商的优先范围如此捆绑的建议保持不变, 然后将智能路由器放在Databricks模型列表之前. 特定代码模型 命令将 GPT 模型放在更古老的版本之前, 以及更新的家族版本 . Databricks GPT 标签包括 Databricks 前缀使其保持区分 在 Codex 应用其紧凑的标签格式后从捆绑的GBT 模型中取出.

指向编码提供者 :

http://127.0.0.1:4000/v1

使用 wire_api = "responses" 财务报告和审定财务报表 supports_websockets = false。 。 。 .

配置示范政策

model 财务报告和审定财务报表 modelClass 设置默认选择. preferSystemModels 选择 system.ai.* AI网关服务为不准确的合格请求服务. 准确 服务终点或 system.ai.* 名称仍然胜利.

智能路由器默认为 smartRouter: "auto" 并只在 能力探测器成功 设定 smartRouter: "true" 进行模型发现 当路由器不可用时失败,或者 smartRouter: "false" 来禁用它. 配置 smartRouterTimeoutMs, (中文(简体) ), smartRouterContextTokenBudget, (中文(简体) ), smartRouterProbeTtlMs, (中文(简体) ), smartRouterProbeRefreshIntervalMs,以及 smartRouterRouteTtlSeconds 调奏 运输、上下文、请求驱动的探测器过期、背景探测器刷新以及 转动行为。 失败的真实选择立即失效 阳性探测器.

使用 overrides 当工作空间元数据必须针对特定模型进行更正时. 例如, 禁用所选网关路由的已公告的能力 无法使用 :

import { modelGateway } from "@dbx-tools/appkit-model-gateway";

modelGateway({
  overrides: [
    {
      model: "databricks-gpt-example",
      capabilities: { webSearch: false },
    },
  ],
});

重叠会影响出行道和OpenAI和Codex模型目录.

软件包 API

  • modelGateway() 注册 AppKit 插件.
  • gateway 处理协议中性网关请求.
  • registry 发现并解决工作空间模型.
  • router 从模型能力中选择一个相容的路径.
  • smartRouter 构建任务背景、探测可用性和呼叫 task_v3。 。 。 .
  • transport 向 Databricks 模型 API 发送请求 .

版本与发布记录

@dbx-tools/appkit-model-gateway 共发布 97 个版本,首次发布于 2026/10/06;过去 12 个月发布了 97 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.9.206latest2026/11/11今天
0.9.2052026/11/111 天前
0.9.2032026/11/074 天前
0.9.2022026/11/065 天前
0.9.2012026/11/056 天前
0.9.2002026/11/056 天前

关于 @dbx-tools/appkit-model-gateway 的常见问题

@dbx-tools/appkit-model-gateway 是什么?

Databricks OpenAI、Anthropic、Codex和AI Gateway API的 AppKit 模型网关

如何安装 @dbx-tools/appkit-model-gateway?

在项目目录运行 npm install @dbx-tools/appkit-model-gateway,或使用 pnpm add / yarn add / bun add。

@dbx-tools/appkit-model-gateway 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@dbx-tools/appkit-model-gateway 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@dbx-tools/appkit-model-gateway 可以商用吗?

@dbx-tools/appkit-model-gateway 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@dbx-tools/appkit-model-gateway 的下载量有多少?

根据 npm 官方下载统计,@dbx-tools/appkit-model-gateway 在 2026/10/12 – 2026/11/10 这 30 天内被下载 8,184 次,日均约 273 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@dbx-tools/appkit-model-gateway 还在维护吗?

最新版本 0.9.206 发布于 2026/11/11(今天);至今共发布 97 个版本,其中过去 12 个月发布了 97 个;首次发布于 2026/10/06。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。