拓冰建站拓冰建站
首页 / 资讯中心 / 正文

为 AI SDK 添加新模型:Vercel AI SDK 仓库贡献指南全解析

为 AI SDK 添加新模型Vercel AI SDK 仓库贡献指南全解析【免费下载链接】aiThe AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and agents项目地址: https://gitcode.com/GitHub_Trending/ai/ai本篇指南基于仓库中的 contributing/add-new-model.md 展开系统讲解为 AI SDKThe AI Toolkit for TypeScript贡献新模型的完整流程从把模型 ID 写入设置项以获得编辑器自动补全到更新 Provider 文档页的模型能力表Model Capabilities再到通过 Changesets 提交 PR 并发布 NPM 包。读完本文你将掌握一条从新增模型 ID到随新版ai-sdk/*包发布的可复现路径并理解每一步对应的仓库文件位置与底层实现依据。一、总览一次模型贡献要动哪些文件为 AI SDK 添加新模型本质上是让模型 ID 在三个层面可见开发体验层模型 ID 进入设置项settings供 IDE / 交互式代码预览中的自动补全使用文档层模型 ID 进入对应 Provider 页面的 Model Capabilities 能力表并对知名模型进入汇总型文档的模型清单发布层随 PR 提交 changeset触发 Changesets 发布流程最终更新到 NPM 上的对应 provider 包。原文档给出的步骤清单如下本仓库 contributing/add-new-model.md将 model id 添加到 settingsmodel ids以获得自动补全将 model id 添加到/content/providers/...下对应 provider 页面的 Model Capabilities 表格位于页面底部如果该模型较为知名notable还需要添加到content/providers/01-ai-sdk-providers/index.mdxcontent/docs/02-foundations/02-providers-and-models.mdx提交带 changeset 的 PR通过 Changesets PR 完成 NPM 发布。下文将逐条展开并结合仓库源码给出每一步的实际落点。二、第一步把模型 ID 加入设置项以启用自动补全原文档要求Add model id to settings (model ids) for auto-complete。从仓库源码结构看这里的settings (model ids)对应的是文档站点中交互式代码预览interactive code preview组件的模型选择配置位于 apps/docs/components/docs/interactive-code-preview.tsx。该组件内部定义了modelIds的类型与状态管理逻辑类型上使用PartialRecordModelKind, string与RecordModelKind, stringinteractive-code-preview.tsx 中第 83、88 行附近ModelKind表示模型类别如语言模型、嵌入模型、图像模型等状态通过useState维护并将modelIds持久化到本地存储safeLocalStorage.setItem({ modelIds, tab })等逻辑见同文件第 664、699–702 行附近组件据此渲染可选的模型下拉列表供读者在文档示例中实时切换模型运行示例。因此当你新增一个模型 ID 时需要把它登记到这类模型选择配置中IDE 或交互式预览才能在下拉补全中认出这个 ID。这属于纯文档侧apps/docs的改动与 provider 包源码解耦但直接影响读者体验。三、第二步更新 Provider 页面底部的 Model Capabilities 表格每个官方 provider 的文档页都维护着一张模型能力表位于页面底部的## Model Capabilities小节。表格列通常包括列名含义Model模型 ID如deepseek-v4-flashText Generation是否支持文本生成Object Generation是否支持结构化对象生成如 JSON 输出Image Input是否支持图片输入多模态Tool Usage是否支持工具调用Tool Streaming是否支持工具调用的流式输出能力项用Check /支持与Cross /不支持两个文档组件渲染。以 content/providers/01-ai-sdk-providers/30-deepseek.mdx 底部的表格为例ModelText GenerationObject GenerationImage InputTool UsageTool Streamingdeepseek-v4-flashdeepseek-v4-prodeepseek-v4-flash-vision-exp从该表可以看到deepseek-v4-flash-vision-exp是带视觉能力的实验模型因此Image Input为Check /而纯文本模型该项为Cross /。新增模型时需按此格式在对应 provider 文档content/providers/01-ai-sdk-providers/目录下如30-deepseek.mdx、03-openai.mdx等中追加一行能力标记务必与模型实际能力及 provider 实现保持一致。提示content/providers/01-ai-sdk-providers/目录下已按数字序号维护了 xAI、OpenAI、Azure、Anthropic、Google、DeepSeek、Moonshot AI 等 40 余个 provider 的文档页新增模型时应先定位到对应 provider 的文件。四、第三步知名模型同步更新汇总清单如果新增的模型属于知名模型notable model仅更新单个 provider 页面还不够还要同步维护两处聚合型文档保证首页与入门文档中的模型清单保持一致4.1 Provider 总览页content/providers/01-ai-sdk-providers/index.mdx 是 AI SDK Providers 的入口页结构如下顶部通过OfficialModelCards /与CommunityModelCards /两个组件自动渲染官方与社区模型卡片中部是Provider support小节用一张大表对比各 provider 热门模型的能力列同样为 Image Input / Object Generation / Tool Usage / Tool Streaming例如grok-4.6、gpt-6-astra、claude-sonnet-5、gemini-3.8-flash、deepseek-v4-flash、qwen3-max等均在此列出表尾附Note提示该表并非穷举更多模型请参考各 provider 文档页。新增知名模型后应在此表追加一行并与单 provider 页中的能力标记保持一致避免两处数据冲突。4.2 入门基础篇Providers and Modelscontent/docs/02-foundations/02-providers-and-models.mdx 是入门基础Foundations章节中的核心页面面向刚接触 AI SDK 的读者前半部分介绍Provider 与 Model的基本概念说明各家厂商 API 差异带来的供应商锁定风险以及 AI SDK 通过 语言模型规范packages/provider包内的 language-model/v3 目录统一接口来解耦不同 provider 的设计中间依次列出官方 providerai-sdk/openai、ai-sdk/anthropic、ai-sdk/google、ai-sdk/deepseek等与社区 providerOllama、OpenRouter、Voyage AI 等的完整清单末尾同样有一张 Model Capabilities 对比表列出各 provider 代表模型的 Image Input / Object Generation / Tool Usage / Tool Streaming 能力并同样以Note声明非穷举。因此知名模型的门槛意味着该模型会同时出现在上述两处汇总表中。判断依据是模型的业界知名度与代表性——例如某厂商的主力旗舰模型通常属于此列。五、第四步带 Changeset 的 PR原文档要求 PR with changeset。AI SDK 仓库使用 Changesets 管理版本与发布根目录 package.json 与各包目录中的turbo.json、tsup.config.ts构成了 pnpm workspace Changesets tsup 的标准发布链路因此每个会改动ai-sdk/*包或文档的 PR 都必须附带 changeset 文件用于声明变更影响的包名如ai-sdk/deepseek变更类型major/minor/patch面向用户的变更说明release note。changeset 文件一般放在各包的.changeset目录下由pnpm changeset命令交互式生成再随代码改动一起提交到 PR。随后进入第五步的发布环节。六、第五步通过 Changesets PR 发布 NPM 包当带 changeset 的 PR 合并到主干后Changesets 机器人会自动开启一个版本发布 PRChangesets version PR / release PR该 PR 会依据各 changeset 汇总并升级相关包的版本号重写各包的 CHANGELOG.md仓库内每个包目录都维护自己的 CHANGELOG如 packages/deepseek/CHANGELOG.md、packages/openai/CHANGELOG.md合并后触发 CI 将更新后的包发布到 NPM。也就是说添加新模型的改动最终通过ai-sdk/provider包的新版本通常是minor或patch随正常发版流程送达用户用户升级依赖即可使用新模型 ID。七、一个完整示例从模型 ID 到发布综合上述五个步骤一次完整的为某 provider 添加新模型改动大致如下登记 ID在 apps/docs/components/docs/interactive-code-preview.tsx 的模型选择配置中补充新模型 ID启用自动补全更新能力表在对应 provider 文档页如 content/providers/01-ai-sdk-providers/30-deepseek.mdx底部的## Model Capabilities表中新增一行按实际能力填写Check //Cross /知名模型同步汇总若模型足够知名在 content/providers/01-ai-sdk-providers/index.mdx 与 content/docs/02-foundations/02-providers-and-models.mdx 的能力对比表中各补一行提交 changeset为 PR 附带 changeset声明受影响的ai-sdk/*包与变更说明等待发布PR 合并后由 Changesets 版本 PR 完成版本提升、CHANGELOG 重写与 NPM 发布。八、注意事项与自查清单能力标记要与实现一致Model Capabilities 表中的Check //Cross /是给读者和搜索引擎的关键信息务必依据 provider 包源码如packages/deepseek/src/下各 provider 实现确认模型是否真正支持图片输入、对象生成、工具调用与工具流式输出不要凭印象填写。多处表格保持同步单个 provider 页、provider 总览页index.mdx、入门页02-providers-and-models.mdx三处能力表对同一模型的信息必须一致避免文档自相矛盾。发布时机由 Changesets 控制代码合并后不要手动改版本号或手动发布一切交给 Changesets 版本 PR 与 CI 流程避免与仓库的版本管理约定冲突。遵循以上步骤你就能以符合 AI SDK 仓库规范的方式让一个新模型 ID 完整走完编辑器补全 → 文档能力表 → 汇总清单 → changeset → NPM 发布的全流程成为可被所有 AI SDK 用户检索与使用的一等公民。【免费下载链接】aiThe AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and agents项目地址: https://gitcode.com/GitHub_Trending/ai/ai创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门