ARTICLE DETAIL

资讯详情

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

更新 big-AGI 的 Groq 模型定义:官方文档驱动的模型清单维护完整指南

更新 big-AGI 的 Groq 模型定义:官方文档驱动的模型清单维护完整指南 更新 big-AGI 的 Groq 模型定义官方文档驱动的模型清单维护完整指南【免费下载链接】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 内置了对 Groq 这一高性能推理平台的完整接入其模型清单价格、上下文窗口、能力接口、推理档位由服务端一个手工维护的定义文件驱动。本文以仓库中的维护指令文档为主线结合 groq.models.ts 及相关源码完整讲解从 Groq 官方文档拉取数据 → 校验 → 写入模型定义 → 落地验证的更新工作流读者完成后可以独立完成一次准确、diff 友好的 Groq 模型清单同步。一、背景Groq 模型清单在 big-AGI 中扮演的角色big-AGI 通过 OpenAI 兼容的openai访问层接入 20 余种方言服务Groq 是其中之一见 openai.access.ts 中的方言枚举。Groq 的默认接入点是https://api.groq.com/openai密钥来自GROQ_API_KEY环境变量或用户在界面配置的oaiKey。与其他只返回模型 ID的服务类似Groq 的/v1/models列表只给出非常有限的字段模型的价格、上下文窗口、最大输出、能力标签视觉/推理/工具调用、推理档位枚举、发布时间等 UI 展示与计费所需信息全部来自仓库内手工维护的模型定义表。这张表在运行期通过groqModelToModelDescription与 API 返回的模型 ID 进行前缀匹配后注入到描述对象中见 listModels.dispatch.ts 中dialect groq的分支先做 DEV 校验再依次filter → map → sort。因此Groq 模型清单的事实来源不是 API而是这份定义文件本身。维护它是一项需要精确、定期执行的编辑任务——这正是本指南要解决的问题。二、理解主文件groq.models.ts 的内部结构更新前必须先读懂目标文件的骨架。groq.models.ts由以下几个部分组成类型推导type LlmsGroqModelId typeof _knownGroqModels[number][idPrefix]从模型表自动推导 Groq 模型 ID 的联合类型供前端类型系统使用——新增条目会自动扩展该类型。模型表_knownGroqModels用llmsDefineModels_GroqModelDef()定义见 models.mappings.ts包裹的数组元素类型为(KnownModel { pubDate: string }) | KnownLink。表内按区块组织Preview 模型如qwen/qwen3.8-27b、qwen/qwen3.6-27b、minimaxai/minimax-m2.7带isPreview: true标记已移除模型注释块以注释形式保留历史移除记录日期 替代模型例如llama-3.3-70b-versatile在 2026-08-16 关停、由gpt-oss-120b或qwen3.6-27b接替Production 复合系统groq/compound、groq/compound-miniagentic 系统透传定价hidden: trueGPT-OSS 家族openai/gpt-oss-120b、openai/gpt-oss-20b、openai/gpt-oss-safeguard-20bPreview。拒绝列表groqDenyList与groqModelFilter用model.id.includes(prefix)过滤掉 TTSwhisper-、playai-tts、canopylabs/orpheus、文本分类llama-prompt-guard以及已从文档和定价移除但 API 仍返回的模型如allam-2-7b。映射函数groqModelToModelDescription解析 API 返回的 wire 结构schema 见 groq.wiretypes.ts字段含id/object/created/owned_by/active/context_window/max_completion_tokens进行前缀匹配、字段一致性告警、未收录模型的兜底描述生成、owned_by前缀标注与pubDate回退。DEV 校验groqValidateModelDefs_DEV仅 Node 开发构建启用Release.IsNodeDevBuildstaging 不输出调用 models.mappings.ts 中的llmDevCheckModels_DEV检查本地定义但 API 不再返回stale与API 返回但本地未定义unknown两种情况并将企业专属模型minimaxai/minimax-m2.7加入ignoreStale——因为标准 key 永远列不出它。排序函数groqModelSortFn隐藏模型排最后其余按模型表内顺序未收录的按 ID 字典序兜底。新模型条目的每个字段chatPrice、contextWindow、maxCompletionTokens、interfaces、parameterSpecs、benchmark、pubDate都会被fromManualMapping逐步应用到最终描述对象上。三、数据源选型为什么必须使用 .md 端点更新 Groq 模型定义的核心约束是数据源纪律。维护指令明确以下几点这直接决定了工作流的正确性console.groq.com/docs/models.md是主清单官方文档提供 markdown 格式端点可直接抓取结构化内容不要使用网络搜索去拼凑信息搜索既慢又容易命中过期二手资料。价格只能从单模型卡片的### PRICING块读取每行一个$X.XX分别对应 input / cached input / output。groq.com/pricing页面由 JS 渲染、不携带表格而/docs/pricing.md直接 404两者都不可依赖。/docs/deprecations.md是移除的唯一权威包含精确的关停日期与替代模型。只要未到关停日模型就仍然留在 API 与 models.md 中标记为 Production——每次更新都必须检查。单模型能力卡片/docs/model/model-id.md描述能力、图片/文件限制、最大输出与最佳实践但复合系统compound没有单模型卡片访问会 404它们统一记录在/docs/compound.md与/docs/compound/built-in-tools.md。能力矩阵要会取舍/docs/reasoning.md记录各家族支持的reasoning_effort枚举/docs/vision.md的图片上限经常过期以模型卡片上的MAX INPUT IMAGES为准必要时用超限请求实测确认/docs/prompt-caching.md说明哪些模型享受 50% 缓存输入折扣。changelog 不可用于新模型判断官方 changelog 滞后模型上线数月只适合回溯不能用来判断什么是新的。这套数据源分工与groq.models.ts头部注释中的链接备注一一对应属于长期沉淀下来的经验规则。四、更新工作流分步详解1. 拉取官方模型清单直接抓取console.groq.com/docs/models.md的 markdown拿到当前全量模型列表。随后逐项审查完整列表找出三类变化新增模型、移除模型、价格变动。2. 价格解析以 PRICING 卡片块为唯一真相对每个涉及价格变更的模型打开其单模型卡片/docs/model/model-id.md解析### PRICING块。以 GPT-OSS 家族为例groq.models.ts中记录的计费结构是// openai/gpt-oss-120b chatPrice: { input: 0.15, output: 0.60, cache: { read: 0.075 } }, // openai/gpt-oss-20b 与 gpt-oss-safeguard-20b chatPrice: { input: 0.075, output: 0.30, cache: { read: 0.0375 } },cache.read正是 prompt-caching 矩阵50% 缓存输入折扣在代码中的落地形式。注意并非所有模型都有缓存折扣例如qwen/qwen3.8-27b的注释明确指出prompt caching stays gpt-oss-only尽管列表 API 会对部分模型宣传input_cache_read价格但groq.models.ts仍选择以文档为准不记录缓存价——维护时应保持这种以权威源为准、不被 API 表象带偏的谨慎。3. 退役与替换以 deprecations 为准每次更新都要检查/docs/deprecations.md。关停日期之前模型保留在 API 与 models.md 中到期后则从_knownGroqModels移除并在文件上方的已移除模型注释块中追加一行记录格式为// - (Jul 17, 2026) qwen/qwen3-32b, meta-llama/llama-4-scout-17b-16e-instruct (announced Jun 17, shut down Jul 17 - gpt-oss-120b / qwen3.6-27b)这种注释记录了日期、关联公告与替代模型是后续审阅 diff 时理解为什么删除的关键上下文必须保留。同时注意特殊情况例如llama-3.3-70b-versatile虽然面向免费/开发者套餐关停但仍作为groq/compound-mini的内部底座继续运行企业承诺支出合同不受影响——这类文档与直觉相悖的信息值得用注释显式标注。4. 单模型能力卡片补齐能力与限制新模型需要从/docs/model/model-id.md提取上下文窗口、最大输出、图片/文件限制、能力接口。以groq.models.ts中的 Preview 条目为例一个完整的新模型定义包含{ isPreview: true, idPrefix: qwen/qwen3.8-27b, label: Qwen 3.8 · 27B (Preview), pubDate: 20260805, // upstream 权重发布时间而非 Groq 上架时间 description: Qwen3.8 27B by Alibaba Cloud. Multimodal (vision text, max 3 images / 20MB), ..., contextWindow: 131042, // 列表 API 与模型卡片一致的特殊值 maxCompletionTokens: 16384, interfaces: [LLM_IF_OAI_Chat, LLM_IF_OAI_Fn, LLM_IF_OAI_Vision, LLM_IF_OAI_Reasoning], parameterSpecs: [ { paramId: llmVndOaiEffort, enumValues: [none, low, medium, high] }, ], chatPrice: { input: 0.80, output: 4.00 }, },其中pubDate遵循一个已沉淀的约定优先使用上游权重/API 发布时间而非 Groq 列表日期如 Qwen3.8-27B 用 HF 仓库的 2026-08-05 而非 Groq 上架的 2026-08-17该字段驱动 UI 的 new 徽标。5. 能力矩阵交叉核对reasoning / vision / prompt-caching推理档位从/docs/reasoning.md获取各模型家族的reasoning_effort枚举。代码注释记录了重要差异qwen/qwen3.8-27b支持完整的none/low/medium/high阶梯而qwen/qwen3.6-27b只接受noneGPT-OSS 家族则拒绝none只允许low/medium/high。这些枚举值直接进入parameterSpecs写错会导致 UI 提供不可用的档位。视觉限制/docs/vision.md的图片上限容易过期以卡片MAX INPUT IMAGES为准必要时用超过限制的请求实测确认。缓存折扣以/docs/prompt-caching.md为准决定是否填写cache.read不要轻信列表 API 广告的缓存价。6. 现场 API 交叉校验可选但强烈推荐若.env.api-keys中存在GROQ_API_KEY可把在线模型列表作为什么是新/可用的 ground truth与文档交叉核对curl https://api.groq.com/openai/v1/models -H Authorization: Bearer $GROQ_API_KEY三条硬性纪律绝不提交或回显密钥Never commit or echo the key用curl而非 pythonurllib探测——Cloudflare 会对非浏览器特征客户端返回 403错误码 1010区分企业专属模型如 MiniMax 只出现在文档中标准 key 请求会 404这正是groqValidateModelDefs_DEV需要ignoreStale: [minimaxai/minimax-m2.7]的原因否则每次开发运行都会误报 stale。五、写入文件的规范与技巧维护指令给出了三条明确的编辑纪律目的是让变更可审阅、可回溯审查全量列表不只盯新增——移除与价格变动同样重要漏掉任何一类都会造成 UI 展示过期价格或失效模型最小化空白与注释改动专注内容本身避免无关的格式化噪音污染 diff保留既有注释并追加必要的背景注释如移除原因、数据源说明、特殊值说明让审阅者无需翻文档就能理解每条改动的依据。另外遇到以下情况应显式标记问题文档中的坏链接、数据自相矛盾如上下文窗口不一致、API 行为与文档不符等。这些标记会成为后续维护的重要线索。六、落地验证DEV 检查、映射逻辑与测试映射逻辑未收录模型如何兜底groqModelToModelDescription对每个 API 返回的模型做前缀匹配model.id.startsWith(base.idPrefix)。匹配失败的模型走 fromManualMapping 的 fallback 分支得到一条未精选描述标签加[?]前缀llmsLabelUncurated、能力未验证、hidden: true隐藏处理。这意味着新模型即使没来得及人工收录也不会让列表崩溃但它不会出现在精选位只有写入_knownGroqModels才被正式收录。一致性告警映射过程中会做两项防御性检查并输出console.warncontext_window不一致API 解析值与本地定义不符max_completion_tokens不一致。这类告警提示API 与文档漂移通常意味着某侧已经更新值得核对后同步。DEV 校验与测试groqValidateModelDefs_DEV在开发构建下列出 stale应移除与 unknown应新增清单测试套件 listModels.test.ts 会捕获[DEV]前缀的告警输出把stale/unknown 静默存在升级为响亮且可见的失败信号——因此每次模型更新后都应跑一遍测试确认没有遗留。该测试文件还包含openai-compat/groq: live listing用例配置了GROQ_API_KEY时对真实 API 做在线列表冒烟测试无 key 自动 skip可直接验证映射管线的整体健康度。七、常见陷阱清单把维护过程中最容易踩的坑集中成清单方便每次更新时自查陷阱正确做法用groq.com/pricing或/docs/pricing.md取价只用单模型卡片### PRICING块依赖 changelog 判断新模型changelog 滞后数月以 models.md 与在线 API 为准删除未到关停日期的模型以 deprecations.md 的精确日期为准到期前保留对 compound 系统尝试抓单模型卡片走/docs/compound.md与 built-in-tools 文档信vision.md的图片上限以卡片MAX INPUT IMAGES为准并实测给不支持的模型写错推理档位枚举逐家族核对 reasoning.md 枚举忽略未收录模型的兜底表现记得新模型会以[?]隐藏条目出现不是 bug用 python urllib 探测 API用curl避免 Cloudflare 1010 错误提交或回显 API 密钥密钥只存在于本地.env.api-keys误报企业专属模型为 stale加入ignoreStale如minimaxai/minimax-m2.7忘记把移除记录写进注释块每次移除都追加日期 替代模型注释保持 diff 可读八、小结Groq 模型清单的维护本质上是一场官方文档纪律与仓库结构纪律的双重实践数据上严格遵循.md端点分工——models.md 定全量、PRICING 卡片块定价格、deprecations.md 定移除、能力矩阵定接口与档位代码上遵循groq.models.ts的区块结构、注释约定与groqModelFilter → groqModelToModelDescription → groqModelSortFn的映射管线再辅以 DEV 校验与在线列表测试兜底。掌握这套工作流后你可以在十几分钟内完成一次准确、可审阅、不污染 diff 的 Groq 模型定义同步并让 UI 的价格、能力标签与新模型new徽标始终与官方口径保持一致。关键代码入口groq.models.ts models.mappings.ts groq.wiretypes.ts listModels.dispatch.ts listModels.test.ts【免费下载链接】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),仅供参考
返回列表