ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

big-AGI 中 Anthropic 模型注册表的同步维护指南:模型、定价与能力参数更新工作流

big-AGI 中 Anthropic 模型注册表的同步维护指南:模型、定价与能力参数更新工作流 big-AGI 中 Anthropic 模型注册表的同步维护指南模型、定价与能力参数更新工作流【免费下载链接】big-AGIAI suite powered by state-of-the-art models and providing advanced AI/AGI functions. Includes AI personas, AGI functions, world-class Beam multi-model chats, text-to-image, voice, response streaming, code highlighting and execution, PDF import, presets for developers, much more. Deploy on-prem or in the cloud.项目地址: https://gitcode.com/GitHub_Trending/bi/big-AGIbig-AGI 将 Anthropic以及经由 AWS Bedrock、OpenRouter 暴露的 Claude 模型的模型清单、定价、上下文窗口与参数能力硬编码在服务端注册表中以便在前端展示准确的模型选择、费用预估与参数配置。本指南基于仓库内维护命令 update-models-anthropic.md 展开说明如何以官方文档与实时 API 为双重证据源系统性地核对并更新这份注册表包括新增/退役模型、价格变动、thinking/effort 语义迁移以及跨平台参数白名单的处理。读完本文你将掌握 big-AGI 模型注册数据从「上游事实」到「仓库代码」的完整更新流程与验证手段。一、维护对象anthropic.models.ts 在模型管线中的位置本次维护的核心文件是 src/modules/llms/server/anthropic/anthropic.models.ts它承载了三类职责硬编码模型定义hardcodedAnthropicModels文件内第 280 行起包含每个 Claude 模型的 id、label、发布日期pubDate、上下文窗口、最大输出 token、接口标记interfaces、参数规格parameterSpecs、价格chatPrice与竞技场基准分benchmark。Thinking 变体注入_hardcodedAnthropicThinkingVariants第 82 行起为同一模型 ID 派生「Thinking/Adaptive」变体通过llmsAntInjectVariants注入。Wire 类型与辅助函数AnthropicWire_API_Models_List/v1/models响应 schema、DEV 校验函数、0-day placeholder 与 API 元数据融合函数。该文件并不是孤立的数据表而是模型枚举管线的一环。服务端通过 listModels.dispatch.ts 中case anthropic分支第 121–166 行完成「拉取/v1/models→ 解析 → 与硬编码定义融合 → 注入变体 → 输出」的流程GET /v1/models?limit1000 经由 anthropic.access.ts 构造 headers/url → AnthropicWire_API_Models_List.Response_schema 解析 → llmsAntValidateModelDefs_DEVDEV 环境检查 stale/unknown → 排序家族版本号 → 型号级别 → 日期 → 对每个模型 命中 hardcodedAnthropicModels → llmsAntFuseModelKnowledge融合 API 元数据 未命中0-day 新模型 → llmsAntCreatePlaceholderModelAPI 能力推断占位 → llmsAntInjectVariants 注入 thinking 变体因此更新注册表的核心意图是让硬编码数据价格、基准、参数规格、编辑性描述始终跟上官方事实同时允许 API 在 token 限额、effort 等级等维度上保持权威见下文「融合规则」。二、更新工作流总览先增量、后全量维护命令给出的总原则是「从最近的变更开始再核对完整模型列表」Start with recent changes, then verify the full model list。完整流程分为五个阶段增量扫描阅读官方 release notes锁定新增模型、能力上线如新的 thinking/effort 模式、fast mode、skills、价格调整与退役公告全量核对对完整模型列表逐一确认新增additions、移除removals与价格变化price changes避免只盯着热点模型而遗漏 Haiku 等边缘型号的变动参数规格评审对每个新模型判断需要哪些parameterSpecsthinking 模式、effort 等级、1M context、skills、web tools依据是官方功能文档以及既有模型条目的对照语义变更记录当 thinking/effort 语义在代际间发生变化例如从手动预算演变为自适应 thinking必须在注释中写明供后续维护者与 AIX 适配层参考Diff 质量控制最小化空白与注释改动、保留既有注释、标记失效链接或意外内容让 PR 的 diff 易于评审。三、证据源分级官方 Markdown、兜底页面、实时 API命令为「事实收集」设计了一套分层证据源策略其核心理念是不以单一来源为准多个来源交叉印证。3.1 主证据源Markdown 优先官方文档站支持在任意路径后追加.md直接获取干净 Markdown便于脚本化阅读与检索主题路径追加.md用途最近变更.../docs/en/release-notes/overview新模型、新能力的首要信号源模型与 ID.../docs/en/about-claude/models/overview模型列表、上下文窗口、token 限制定价.../docs/en/about-claude/pricing基础价、缓存价、批量价、长上下文价退役与时间表.../docs/en/about-claude/model-deprecations弃用与退役日期其中退役日期是最值得利用的交叉校验信号官方对某个在售模型的「tentative retirement date」恰好等于「发布 1 年」因此它可以直接与注册表中的pubDate互查。命令特别提醒优先采用退役日期与 release-notes 标题而不是/v1/models的created_at因为后者可能比正式公告早数天。3.2 能力文档的发现路径release notes 与 models overview 的 Markdown 中包含指向功能页面的内联链接thinking 模式、effort、上下文窗口、whats-new 页面等。当提到新能力时应顺着链接继续追加.md深挖。命令列举了典型可发现的页面模式about-claude/models/whats-new-*代际变更说明如whats-new-opus-5build-with-claude/extended-thinking手动 thinking 预算配置build-with-claude/efforteffort 等级及各模型可用性build-with-claude/thinking、build-with-claude/thinking-steering-and-cost自适应 thinkingbuild-with-claude/thinking-troubleshooting#supported-models各模型 thinking/effort 矩阵agents-and-tools/tool-use/tool-reference各工具支持的模型与工具版本。3.3 兜底方案若.md路径失效或结构变化可回退到网页版官方文档models overview、pricing、release notes、claude.com/pricing若被限制访问则改用 Anthropic TypeScript SDK 仓库或直接联网搜索 anthropic models latest pricing / anthropic latest models。这保证了更新流程在官方站点改版时仍然可执行。3.4 实时 API 作为 ground truth如果本机.env.api-keys中存在ANTHROPIC_API_KEY可用/v1/models作为「哪些模型真实在售」的最终信号与上述文档交叉验证curl https://api.anthropic.com/v1/models \ -H x-api-key: $ANTHROPIC_API_KEY \ -H anthropic-version: 2023-06-01命令明确要求绝不可提交或回显该 key。这条实时信号的用法与仓库内 anthropic.access.ts 中的ANTHROPIC_API_PATHS.models /v1/models对应也是 DEV 校验函数比对硬编码清单与 API 清单的基础。四、模型定义结构剖析看懂要改什么要安全地修改注册表必须理解 llm.server.types.ts 中定义的ModelDescriptionSchema第 140–158 行各字段以及它们如何被消费。以claude-opus-4-7条目为例anthropic.models.ts{ id: claude-opus-4-7, // 模型 ID须与 /v1/models 一致 label: Claude Opus 4.7, pubDate: 20260416, // 官方正式发布日期 YYYYMMDD description: Previous most capable model for complex reasoning and agentic coding, contextWindow: 1_000_000, // 1M GA at standard pricing无需 opt-in maxCompletionTokens: 128000, interfaces: [...IF_47, LLM_IF_ANT_ToolsSearch], parameterSpecs: [ { paramId: llmVndAntEffort, enumValues: [low, medium, high, xhigh, max] }, ...ANT_TOOLS_DYNAMIC, ], chatPrice: { input: 5, output: 25, cache: { read: 0.50, write: 6.25, duration: 300 }, tools: ANT_PRICE_TOOLS }, benchmark: { cbaElo: 1494 }, },各字段在更新时需要注意的要点id必须与 Anthropic/v1/models返回的id完全一致否则无法被llmsAntFuseModelKnowledge命中融合。pubDateformatPubDatemodels.mappings.ts 中实现将其规范化为YYYYMMDD它与官方退役时间表的「发布1年」规则互查是编辑性日期字段。contextWindow/maxCompletionTokenstoken 限额在融合阶段以 API 为准llmsAntFuseModelKnowledge会用max_input_tokens、max_tokens覆盖硬编码值但硬编码值应尽量贴近真实值避免 DEV 校验告警。interfaces能力标记Chat/Vision/Fn/PromptCaching/Reasoning/ToolsSearch 等。文件中用组合常量表达代际差异例如IF_4 [LLM_IF_OAI_Chat, LLM_IF_OAI_Vision, LLM_IF_OAI_Fn, LLM_IF_ANT_PromptCaching]第 32 行IF_47在IF_4基础上追加LLM_IF_HOTFIX_NoTemperature第 38 行因为 4.7 对 temperature 直接返回 400需在客户端剥除。parameterSpecs声明该模型暴露给用户的额外参数下文单独展开。chatPrice支持扁平价格或阶梯价格。claude-sonnet-4-5-20250929展示了分档写法input: [{ upTo: 200000, price: 3 }, { upTo: null, price: 6 }]≤200K 与 200K 两个档位缓存价同样分档。工具费通过tools: { webSearch: 10 }ANT_PRICE_TOOLS$10/1K 次搜索单独声明。benchmark.cbaEloChat Bot Arena ELO 分数。新模型无榜单数据时仓库采用「基于同族模型推测」的做法并在注释中明确标注假设如claude-mythos-5-1的1506 5旁注明 (no arena data yet) assuming…更新时应沿用此纪律有数据写数据无数据明确标注推断。hidden: true/isLegacy: true退役模型不立即删除。文件头注释解释了原因这些定义被 Anthropic API、OpenRouter 与 AWS Bedrock共享而 Bedrock 支持旧模型的时间可能长于 Anthropic API因此退役模型保留在文件中只是标记hidden不再面向普通用户展示移除是人工决定Removal is manual。4.1 Thinking 变体机制_hardcodedAnthropicThinkingVariants第 82 行起是更新时最容易出错的区域。它为每个支持思考模式的模型声明一个idVariant: thinking的派生条目继承基础模型未重定义的属性。典型例子claude-sonnet-5第 89–100 行claude-sonnet-5: { idVariant: thinking, label: Claude Sonnet 5 (Adaptive), description: Claude Sonnet 5 with adaptive thinking for high-performance coding and agentic workflows, interfaces: [...IF_47_R, LLM_IF_ANT_ToolsSearch], parameterSpecs: [ { paramId: llmVndAntThinkingBudget, hidden: true, initialValue: -1 /* FORCE adaptive - Sonnet 5 rejects budget_tokens */ }, { paramId: llmVndAntEffort, enumValues: [low, medium, high, xhigh, max] }, ...ANT_TOOLS_DYNAMIC, ], benchmark: { cbaElo: 1462 1 }, // 1 (thinking) claude-sonnet-5-high },注意变体注入是按模型 ID 查找的llmsAntInjectVariants调用createVariantInjector(_hardcodedAnthropicThinkingVariants, before)第 266–268 行将变体条目插到基础模型之前。因此新增模型时若它需要 thinking 变体必须在两个地方同步添加基础条目 变体表若它的 thinking 语义特殊例如 Opus 5 是单一 always-thinking 条目、无需变体分裂则需在变体表中显式留空并注释原因第 86 行注释说明 no claude-opus-5 variant here。五、parameterSpecs 与参数注册表能力差异的表达层更新模型时最核心的判断是「这个模型暴露哪些参数」。参数 ID 的定义集中在 src/common/stores/llms/llms.parameters.ts 的DModelParameterRegistry中模型条目通过parameterSpecs声明自己支持参数的子集与取值。Anthropic 相关参数第 185–287 行包括paramId类型说明与取值范围llmVndAntEffortenum推理深度取值[low,medium,high,xhigh,max]未设置时默认 high。各模型通过enumValues声明子集4.6 无xhigh4.7 增加xhigh/maxllmVndAntThinkingBudgetinteger思考预算范围[1024, 65536]-1为越界哨兵值表示「强制自适应 thinking」null表示关闭 thinkingllmVndAnt1MContextboolean1M 上下文 opt-in旧 beta 通道2026-04-30 在 Anthropic API 退役llmVndAntCodeSandboxenum服务端容器沙箱执行代码取值[auto]llmVndAntInfSpeedenumFast Mode取值[fast_2x,fast_6x,fast]enumPriceMultiplier提供价格倍率2x/6x每个模型通过enumValues只暴露一个档位llmVndAntSkillsstring文档技能逗号分隔xlsx,pptx,pdf,docxllmVndAntWebFetch/llmVndAntWebSearchenum网页抓取/搜索取值[auto,off]隐含LLM_IF_Tools_WebSearch接口llmVndAntWebFetchMaxUses/llmVndAntWebSearchMaxUsesinteger单次响应最大抓取/搜索次数范围[1, 50]llmVndAntWebDynamicboolean动态过滤仅 Opus/Sonnet 4.6文件内用常量对工具参数做组合复用ANT_TOOLS第 61–67 行为通用五项skills、web fetch/search 及各自 maxUsesANT_TOOLS_DYNAMIC第 75–79 行在其基础上追加 Code Sandbox 与 Web Dynamic仅适用于 Opus/Sonnet 4.6。新增模型时从既有同级模型复制参数组合并按其能力文档增删是最稳妥的做法。5.1 Thinking 语义的代际变迁注释就是文档命令特别强调当 thinking/effort 语义在代际间变化时要在注释中记录。文件顶部第 42–59 行的「Anthropic Parameters Semantics」注释块就是这种纪律的产物它逐一代记录了语义变迁4.5 及更早llmVndAntThinkingBudget是手动预算extended thinking4.6引入自适应 thinking手动预算被弃用llmVndAntThinkingBudget保留为隐藏哨兵initialValue: -1强制自适应4.7/4.8彻底移除手动预算budget_tokens返回 400改为 adaptive-onlyFable/Mythos 52026-06-09自适应 thinking始终开启无 thinking 变体thinking:{type:disabled}与budget_tokens均返回 400Sonnet 52026-06-29同样是 adaptive-only但thinking:{type:disabled}被允许200因此保留「基础 thinking 变体」的拆分同 Opus 4.7/4.8仅budget_tokens返回 400Opus 52026-07-24adaptive-onlythinking 默认开启disabled仅在 efforthigh及以下被允许xhigh/max disabled → 400以单一 always-thinking 条目发货同 Fable 5Fable/Mythos 5.12026-09-01同 Fable 5preserved thinking回放 thinking 块在 AIX 适配层处理。类似地fast mode 的移除历史也以注释沉淀在条目中4.6 上是「静默降级」speed:fast不再报错但按标准速度运行probe 验证于 2026-07-244.7 上是「硬移除」返回错误2026-07-24因此 4.7/4.6 条目的 toggle 被删除避免 UI 展示失效控件。更新注册表时这类「API 行为变化」必须同步体现在注释中这是本文件独特的维护规范。六、更新后的自动校验DEV 守卫机制注册表更新后并不依赖人工目检仓库内置了多层 DEV 校验运行前提是NODE_ENVdevelopment。6.1 模型清单比对llmsAntValidateModelDefs_DEVanthropic.models.ts 的llmsAntValidateModelDefs_DEV调用 models.mappings.ts 中的llmDevCheckModels_DEV以/v1/models返回清单为基准Stale本地有定义但 API 未返回 → 提示 stale model defs (remove)UnknownAPI 返回但本地无定义 → 提示 unknown models (add)。命令的ignoreStale白名单第 744 行列明了故意保留的条目invite-only 的 Mythos 5.1/5普通 API key 看不到以及已被 Bedrock/OpenRouter 继续服务的退役 IDclaude-opus-4-1-20250805等。这意味着更新时若某模型「消失」先判断它是真退役还是被白名单覆盖的跨平台存活模型。6.2 能力与数值比对_llmsAntCheckApiCapabilities_DEV第 768–801 行 的_llmsAntCheckApiCapabilities_DEV对每个已知模型比对三项硬编码值与 API 返回值的偏差maxCompletionTokensvs API 的max_tokenscontextWindowvs API 的max_input_tokens仅当模型使用旧的llmVndAnt1MContextopt-in 时按ANT_CAP_CONTEXT_WINDOW默认 200_000第 24 行封顶1M GA 模型按 API 原值报告llmVndAntEffort的enumValuesvs API 的capabilities.effort.*.supported布尔标志。另有_llmsAntCheckInfSpeedTiers_DEV第 752–762 行强制 Fast Mode 参数在每个模型上恰好暴露一个价格档位UI 将其渲染为二元开关。这套 DEV 校验通过listModelsRunDispatch的case anthropic分支在每次模型列表请求时执行listModels.dispatch.ts等于把「注册表与 API 的一致性」变成持续可观察的检查项。七、0-day 新模型的自动兜底placeholder 与 fuse新模型发布当天官方/v1/models会先于人工更新出现。管线为此内置了两条路径llmsAntCreatePlaceholderModel第 810–870 行对未知模型生成 API-informed 的占位定义——interfaces 由capabilities.image_input、capabilities.thinking推导parameterSpecs由capabilities.effort推导 effort 枚举、由thinking.types.adaptive/enabled推导 thinking 参数contextWindow 用 API 的max_input_tokens无已知模型时的缺省 200_000pubDate用formatPubDate(created_at)填充。注意它不会为未知模型添加llmVndAnt1MContextopt-in注释说明 1M 已 GA0-day 模型如需 beta 头应走硬编码定义。llmsAntFuseModelKnowledge第 877–917 行对命中硬编码定义的模型用 API 数据覆盖contextWindow含 opt-in 封顶逻辑与maxCompletionTokenseffort 枚举的 API 覆盖目前被显式禁用注释说明因编辑性偏好而保持硬编码。这两条路径意味着即使注册表短暂滞后用户体验也不会断裂——placeholder 保证新模型可用fuse 保证 token 限额准确而硬编码数据价格、基准、参数组合则靠本文所述的人工更新流程补齐。这也解释了为什么更新命令强调「先增量覆盖 hot 新模型后全量覆盖全部价格/参数变动」——placeholder 只解决可用性不解决定价准确性。八、跨平台一致性Bedrock 与 OpenRouter 的共享与裁剪文件头注释强调这些定义被「Anthropic API、OpenRouter 和 AWS Bedrock 共享」因此修改时必须考虑下游平台的差异BedrockllmBedrockFindAnthropicModel第 922 行把anthropic.claude-opus-4-6-v1这类 Bedrock ID 还原为claude-opus-4-6查找硬编码定义llmBedrockStripAnthropicMDS第 967–980 行按白名单裁剪 Bedrock 不支持的接口与参数——例如llmVndAntInfSpeedBad Request、llmVndAntSkills、llmVndAntWebFetch/Search而llmVndAntEffort还要额外过滤 4.5 代模型_BEDROCK_EFFORT_REJECTING_MODELS正则第 947 行基于 2026-08-05 实测。若新增参数需同步评估 Bedrock 是否支持并更新这两个白名单。OpenRouterllmOrtAntLookup_ThinkingVariants第 998–1030 行将 OpenRouter 的模型名如claude-4.6-opus分词匹配到硬编码模型并应用更严格的参数白名单仅llmVndAntEffort与llmVndAntThinkingBudgetllmVndAntInfSpeed明确排除——OpenRouter 无 fast mode。1M 上下文 opt-in 的去留llmVndAnt1MContext在 Anthropic API 上已退役2026-04-30但保留在 Bedrock 条目上Bedrock 可能仍接受该头这一「平台差异导致不立即删除」的决策贯穿退役模型与参数两个维度。九、验证与测试如何确认更新正确更新完成后可通过仓库既有的测试与运行时校验确认冒烟测试仓库提供了覆盖全部 dialect 的枚举测试 listModels.test.tsAnthropic 通道使用ANTHROPIC_API_KEY。命令NODE_ENVdevelopment npx tsx --test src/modules/llms/server/listModels.test.ts测试哲学是「要么断言真实行为要么给出可见的 SKIPPED 原因」无 key 的 CI 环境下仅断言离线数据硬编码清单 导入冒烟。通用运行方式为npm test。实时交叉验证在有 key 的开发环境中请求一次模型列表观察[DEV] Anthropic:前缀的 stale/unknown/mismatch 告警确认无预期外的输出。Diff 自检按命令要求控制改动面——只改模型内容不做格式化保留注释对失效链接或异常内容如价格突变、ID 变更显式标注而不是静默修正。十、结语把「上游漂移」变成可管理的工程流程Anthropic 模型迭代频繁新模型发布、价格调整、thinking/effort 语义迁移、beta 能力 GA、退役时间表……update-models-anthropic.md 给出的不是一次性的操作步骤而是一套可持续运行的维护纪律多源交叉release notes models overview pricing deprecations 四类官方 Markdown 为主/v1/models实时清单为 ground truth全量核对不止关注头条新模型还要核对退役与全量价格变动参数语义留痕代际语义变化写入注释让 4.5 手动预算 → 4.6 自适应 → 5 代 always-on 的演化可追溯共享定义、平台裁剪修改一处定义时同步检查 Bedrock/OpenRouter 白名单DEV 校验兜底stale/unknown/数值不一致在开发环境自动告警。围绕这一命令相关实现可以分别在 anthropic.models.ts模型注册表本体、llms.parameters.ts参数注册表、llm.server.types.tsschema、listModels.dispatch.ts管线与 listModels.test.ts验证中继续深入。同类更新Gemini、OpenAI、xAI 等可参考.claude/commands/llms/下的其他update-models-*.md命令它们共享同一套「官方文档 实时 API DEV 校验」的维护范式。【免费下载链接】big-AGIAI suite powered by state-of-the-art models and providing advanced AI/AGI functions. Includes AI personas, AGI functions, world-class Beam multi-model chats, text-to-image, voice, response streaming, code highlighting and execution, PDF import, presets for developers, much more. Deploy on-prem or in the cloud.项目地址: https://gitcode.com/GitHub_Trending/bi/big-AGI创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表