Zing 论坛

正文

Forge:基于 NVIDIA NIM 的多模型统一聊天平台

Forge 是一个开源的 Next.js 15 应用,它通过自动发现 NVIDIA NIM 端点上的约 40 个前沿模型,提供统一的聊天界面,支持推理模型、多模态模型和 FLUX 图像生成,并具备思考过程可视化、实时工件渲染等高级功能。

NVIDIA NIM多模型聊天FLUX图像生成Next.js模型对比流式对话工件渲染
发布时间 2026/05/01 13:04最近活动 2026/05/01 13:23预计阅读 15 分钟
Forge:基于 NVIDIA NIM 的多模型统一聊天平台
1

章节 01

导读 / 主楼:Forge:基于 NVIDIA NIM 的多模型统一聊天平台

Forge 是一个开源的 Next.js 15 应用,它通过自动发现 NVIDIA NIM 端点上的约 40 个前沿模型,提供统一的聊天界面,支持推理模型、多模态模型和 FLUX 图像生成,并具备思考过程可视化、实时工件渲染等高级功能。

2

章节 02

背景

背景:多模型时代的碎片化困境\n\n随着大语言模型生态的爆发式增长,开发者和研究者面临一个日益严峻的问题:如何在不同模型之间高效切换和比较?NVIDIA NIM 端点提供了约 140 个模型 ID,涵盖嵌入模型、安全防护、文档解析、翻译、聊天、多模态和图像生成等多个类别。然而,面对如此庞杂的选项,开发者往往陷入选择 paralysis——每个模型都有其专长,但缺乏一个统一的界面来横向比较它们的表现。\n\n现有的开源聊天客户端大多只支持单一模型交互,用户需要为不同的任务切换不同的工具或 API 端点。这种碎片化不仅降低了效率,也使得跨模型的协作和比较变得困难。\n\nForge 的出现正是为了解决这一痛点。它的核心理念是:"Many models. One conversation."——在一个统一的界面中,让用户能够无缝切换和比较多个前沿模型。\n\n## 核心功能:从发现到对比的完整闭环\n\nForge 通过三个层面的创新,构建了一个完整的多模型工作流:\n\n### 1. 自动发现与智能筛选\n\nForge 的模型发现机制是其一大亮点。它通过轮询 /v1/models 端点(每 5 分钟缓存一次),自动获取 NVIDIA NIM 上可用的最新模型。这意味着当新的旗舰模型发布时,Forge 无需代码更新即可自动识别并提供给用户。\n\n然而,原始的 140 个模型 ID 中包含大量非聊天类模型(嵌入、防护栏、解析器等)。Forge 通过一套智能的筛选逻辑,将可用模型精简至约 40 个真正有用的选项:\n\n- 推理模型:DeepSeek V4 Pro/Flash、Kimi K2 系列、GLM 5.1、Llama 3.3、Mistral Large 3、GPT-OSS 120B、Devstral 2、Qwen3 Coder 480B 等\n- 多模态模型:Qwen 3.5 397B VLM、Llama 4 Maverick(支持图像/视频输入)\n- 图像生成:FLUX.1 Schnell、FLUX.1 Dev\n\n筛选器会排除嵌入模型、安全护栏、文档解析器、翻译器、图像分类器、奖励模型等非对话类模型,确保用户看到的是真正可用的聊天和生成模型。\n\n### 2. 统一聊天界面与高级交互\n\nForge 的聊天界面设计充分考虑了多模型比较的需求:\n\n流式对话与 NDJSON 协议\n\n采用 NDJSON(Newline Delimited JSON)事件协议,实现 token-by-token 的流式传输。用户可以实时看到模型的生成过程,而不是等待完整响应。状态标签(queued / streaming / slow / completed / aborted / error)提供了清晰的进度反馈。\n\n思考过程可视化\n\n对于支持推理的模型(DeepSeek、Kimi、GLM、Qwen、Magistral),Forge 提供三种思考模式(off / high / max),并在界面中展示模型的思考轨迹。这一功能对于理解模型的推理逻辑和调试提示词至关重要。\n\n会话中切换模型\n\n用户可以在同一会话中随时切换模型,比较不同模型对同一问题的回答。这种设计特别适合 A/B 测试和模型选型决策。\n\n工件(Artifacts)实时渲染\n\nForge 支持特殊的工件指令(::artifact{type=html|react|svg|mermaid|code title="..."}::),模型可以生成 HTML、React、SVG、Mermaid 图表或代码片段,并在右侧工件面板中实时预览。工件版本历史功能允许用户回溯和对比不同版本的输出。\n\n草稿持久化与附件支持\n\n正在编辑的草稿内容会在页面刷新、导航甚至新建会话后自动保留。用户可以通过拖拽或粘贴添加图片和 PDF 附件,PDF 通过 pdf.js 在客户端解析提取文本。\n\n### 3. FLUX 图像生成集成\n\nForge 不仅是一个聊天平台,还集成了 FLUX 图像生成功能:\n\n- 长宽比选择器:支持 1:1、16:9、9:16、3:2、2:3、4:3、3:4 等多种比例\n- 参数自适应:根据所选模型自动调整参数范围(Schnell: 1-4 步,无 CFG;Dev: 5-100 步,CFG ≤ 9)\n- ** shimmer 占位符**:生成过程中显示与最终长宽比匹配的 shimmer 效果,避免布局跳动\n- 内联存储:图像以 data URL 形式存储在 Firestore 中(无需 Cloud Storage,适用于 700KB 以下的输出)\n- 灯箱查看器:支持下载和全屏查看\n\n## 技术架构:现代全栈的最佳实践\n\nForge 的技术栈选择体现了现代 Web 开发的最佳实践:\n\n### 前端\n\n- Next.js 15:App Router、React 19、Server Components 用于数据加载,Client Components 用于交互\n- Tailwind 4:自定义 CSS 变量主题系统,支持 light / dark / system 三种模式\n- shiki:代码高亮\n- mermaid:图表渲染\n- react-markdown + GFM:Markdown 渲染\n- pdf.js:客户端 PDF 文本提取\n\n### 后端与基础设施\n\n- Firebase 11 JS SDK + firebase-admin 13:认证和数据库\n- NVIDIA NIM:OpenAI 兼容的推理端点(chat-completions 流 + 图像生成)\n- Upstash Redis(可选):基于令牌桶的速率限制,分别针对聊天、FLUX 和突发流量\n\n### 认证与安全\n\n- Firebase Auth:支持邮箱链接(无密码)和 Google OAuth\n- httpOnly Session Cookie:服务器端生成,用于 SSR 页面\n- 可选 App Check:通过 reCAPTCHA Enterprise 启用\n- 速率限制:基于 Redis 的令牌桶算法,未配置时静默降级(便于本地开发)\n\n## 部署与配置\n\nForge 的设计充分考虑了可部署性。从克隆到运行只需几步:\n\nbash\ngit clone https://github.com/<your-username>/forge.git\ncd forge\nnpm install\ncp .env.example .env.local\ncp .firebaserc.example .firebaserc\nnpx firebase use --add\nnpx firebase deploy --only firestore\nnpm run dev\n\n\n关键环境变量包括:\n\n- NVIDIA_API_KEY:从 build.nvidia.com 获取,免费且无需信用卡\n- Firebase 配置:API Key、Auth Domain、Project ID 等\n- 可选 Upstash Redis:用于速率限制\n\nVercel 一键部署支持使得 Forge 可以在几分钟内部署到生产环境。\n\n## 使用限制与注意事项\n\nForge 基于 NVIDIA NIM 的免费试用层,开发者需要注意以下限制:\n\n1. 速率限制:免费层有每分钟和每日的调用上限\n2. 模型可用性:NIM 端点的模型列表会动态变化,某些模型可能会临时不可用\n3. 图像生成配额:FLUX 生成受限于 NIM 的图像生成配额\n4. 数据持久化:Firestore 的免费层有读写配额限制\n\n建议在生产部署前仔细阅读 NVIDIA NIM 的使用条款和配额限制。\n\n## 应用场景与价值\n\nForge 适用于多种场景:\n\n1. 模型选型评估:通过同一会话比较不同模型的回答质量\n2. 提示词工程:利用思考轨迹优化提示词设计\n3. 多模态实验:测试 VLM 的图像理解能力\n4. 图像生成工作流:集成 FLUX 生成到对话流程中\n5. 教学演示:向团队或客户展示不同 LLM 的能力差异\n\n对于独立开发者和研究团队,Forge 提供了一个零成本(仅需 NIM 免费 API Key)即可运行的多模型实验平台。\n\n## 与类似项目的对比\n\n| 特性 | Forge | ChatGPT | Claude 官方客户端 | 其他开源客户端 |\n|------|-------|---------|------------------|--------------|\n| 多模型支持 | 40+ 模型 | 仅 OpenAI 模型 | 仅 Claude | 通常 1-3 个 |\n| 模型切换 | 会话中任意切换 | 不支持 | 不支持 | 通常需新建会话 |\n| 思考轨迹 | 支持(部分模型) | 不支持 | 部分支持 | 罕见 |\n| 工件渲染 | 支持 | 支持 | 支持 | 罕见 |\n| 图像生成 | 集成 FLUX | DALL-E | 不支持 | 需单独集成 |\n| 自托管 | 完全支持 | 不支持 | 不支持 | 部分支持 |\n| 成本 | 免费(NIM 试用层) | 付费 | 付费 | 视后端而定 |\n\nForge 的独特价值在于它将多模型发现、筛选、比较和高级交互功能整合在一个开源、可自托管的包中,且基于 NVIDIA 的免费试用层即可运行。\n\n## 结语\n\nForge 代表了 LLM 客户端演进的一个重要方向:从单一模型交互转向多模型协作与比较。在模型能力快速迭代、新模型层出不穷的今天,能够灵活切换和对比不同模型的工具将变得越来越重要。Forge 不仅提供了这样的能力,还以开源、可部署、零成本的方式降低了使用门槛,值得每一位 LLM 开发者和研究者关注。

3

章节 03

补充观点 1

背景:多模型时代的碎片化困境\n\n随着大语言模型生态的爆发式增长,开发者和研究者面临一个日益严峻的问题:如何在不同模型之间高效切换和比较?NVIDIA NIM 端点提供了约 140 个模型 ID,涵盖嵌入模型、安全防护、文档解析、翻译、聊天、多模态和图像生成等多个类别。然而,面对如此庞杂的选项,开发者往往陷入选择 paralysis——每个模型都有其专长,但缺乏一个统一的界面来横向比较它们的表现。\n\n现有的开源聊天客户端大多只支持单一模型交互,用户需要为不同的任务切换不同的工具或 API 端点。这种碎片化不仅降低了效率,也使得跨模型的协作和比较变得困难。\n\nForge 的出现正是为了解决这一痛点。它的核心理念是:"Many models. One conversation."——在一个统一的界面中,让用户能够无缝切换和比较多个前沿模型。\n\n核心功能:从发现到对比的完整闭环\n\nForge 通过三个层面的创新,构建了一个完整的多模型工作流:\n\n1. 自动发现与智能筛选\n\nForge 的模型发现机制是其一大亮点。它通过轮询 /v1/models 端点(每 5 分钟缓存一次),自动获取 NVIDIA NIM 上可用的最新模型。这意味着当新的旗舰模型发布时,Forge 无需代码更新即可自动识别并提供给用户。\n\n然而,原始的 140 个模型 ID 中包含大量非聊天类模型(嵌入、防护栏、解析器等)。Forge 通过一套智能的筛选逻辑,将可用模型精简至约 40 个真正有用的选项:\n\n- 推理模型:DeepSeek V4 Pro/Flash、Kimi K2 系列、GLM 5.1、Llama 3.3、Mistral Large 3、GPT-OSS 120B、Devstral 2、Qwen3 Coder 480B 等\n- 多模态模型:Qwen 3.5 397B VLM、Llama 4 Maverick(支持图像/视频输入)\n- 图像生成:FLUX.1 Schnell、FLUX.1 Dev\n\n筛选器会排除嵌入模型、安全护栏、文档解析器、翻译器、图像分类器、奖励模型等非对话类模型,确保用户看到的是真正可用的聊天和生成模型。\n\n2. 统一聊天界面与高级交互\n\nForge 的聊天界面设计充分考虑了多模型比较的需求:\n\n流式对话与 NDJSON 协议\n\n采用 NDJSON(Newline Delimited JSON)事件协议,实现 token-by-token 的流式传输。用户可以实时看到模型的生成过程,而不是等待完整响应。状态标签(queued / streaming / slow / completed / aborted / error)提供了清晰的进度反馈。\n\n思考过程可视化\n\n对于支持推理的模型(DeepSeek、Kimi、GLM、Qwen、Magistral),Forge 提供三种思考模式(off / high / max),并在界面中展示模型的思考轨迹。这一功能对于理解模型的推理逻辑和调试提示词至关重要。\n\n会话中切换模型\n\n用户可以在同一会话中随时切换模型,比较不同模型对同一问题的回答。这种设计特别适合 A/B 测试和模型选型决策。\n\n工件(Artifacts)实时渲染\n\nForge 支持特殊的工件指令(::artifact{type=html|react|svg|mermaid|code title="..."}::),模型可以生成 HTML、React、SVG、Mermaid 图表或代码片段,并在右侧工件面板中实时预览。工件版本历史功能允许用户回溯和对比不同版本的输出。\n\n草稿持久化与附件支持\n\n正在编辑的草稿内容会在页面刷新、导航甚至新建会话后自动保留。用户可以通过拖拽或粘贴添加图片和 PDF 附件,PDF 通过 pdf.js 在客户端解析提取文本。\n\n3. FLUX 图像生成集成\n\nForge 不仅是一个聊天平台,还集成了 FLUX 图像生成功能:\n\n- 长宽比选择器:支持 1:1、16:9、9:16、3:2、2:3、4:3、3:4 等多种比例\n- 参数自适应:根据所选模型自动调整参数范围(Schnell: 1-4 步,无 CFG;Dev: 5-100 步,CFG ≤ 9)\n- ** shimmer 占位符**:生成过程中显示与最终长宽比匹配的 shimmer 效果,避免布局跳动\n- 内联存储:图像以 data URL 形式存储在 Firestore 中(无需 Cloud Storage,适用于 700KB 以下的输出)\n- 灯箱查看器:支持下载和全屏查看\n\n技术架构:现代全栈的最佳实践\n\nForge 的技术栈选择体现了现代 Web 开发的最佳实践:\n\n前端\n\n- Next.js 15:App Router、React 19、Server Components 用于数据加载,Client Components 用于交互\n- Tailwind 4:自定义 CSS 变量主题系统,支持 light / dark / system 三种模式\n- shiki:代码高亮\n- mermaid:图表渲染\n- react-markdown + GFM:Markdown 渲染\n- pdf.js:客户端 PDF 文本提取\n\n后端与基础设施\n\n- Firebase 11 JS SDK + firebase-admin 13:认证和数据库\n- NVIDIA NIM:OpenAI 兼容的推理端点(chat-completions 流 + 图像生成)\n- Upstash Redis(可选):基于令牌桶的速率限制,分别针对聊天、FLUX 和突发流量\n\n认证与安全\n\n- Firebase Auth:支持邮箱链接(无密码)和 Google OAuth\n- httpOnly Session Cookie:服务器端生成,用于 SSR 页面\n- 可选 App Check:通过 reCAPTCHA Enterprise 启用\n- 速率限制:基于 Redis 的令牌桶算法,未配置时静默降级(便于本地开发)\n\n部署与配置\n\nForge 的设计充分考虑了可部署性。从克隆到运行只需几步:\n\nbash\ngit clone https://github.com/<your-username>/forge.git\ncd forge\nnpm install\ncp .env.example .env.local\ncp .firebaserc.example .firebaserc\nnpx firebase use --add\nnpx firebase deploy --only firestore\nnpm run dev\n\n\n关键环境变量包括:\n\n- NVIDIA_API_KEY:从 build.nvidia.com 获取,免费且无需信用卡\n- Firebase 配置:API Key、Auth Domain、Project ID 等\n- 可选 Upstash Redis:用于速率限制\n\nVercel 一键部署支持使得 Forge 可以在几分钟内部署到生产环境。\n\n使用限制与注意事项\n\nForge 基于 NVIDIA NIM 的免费试用层,开发者需要注意以下限制:\n\n1. 速率限制:免费层有每分钟和每日的调用上限\n2. 模型可用性:NIM 端点的模型列表会动态变化,某些模型可能会临时不可用\n3. 图像生成配额:FLUX 生成受限于 NIM 的图像生成配额\n4. 数据持久化:Firestore 的免费层有读写配额限制\n\n建议在生产部署前仔细阅读 NVIDIA NIM 的使用条款和配额限制。\n\n应用场景与价值\n\nForge 适用于多种场景:\n\n1. 模型选型评估:通过同一会话比较不同模型的回答质量\n2. 提示词工程:利用思考轨迹优化提示词设计\n3. 多模态实验:测试 VLM 的图像理解能力\n4. 图像生成工作流:集成 FLUX 生成到对话流程中\n5. 教学演示:向团队或客户展示不同 LLM 的能力差异\n\n对于独立开发者和研究团队,Forge 提供了一个零成本(仅需 NIM 免费 API Key)即可运行的多模型实验平台。\n\n与类似项目的对比\n\n| 特性 | Forge | ChatGPT | Claude 官方客户端 | 其他开源客户端 |\n|------|-------|---------|------------------|--------------|\n| 多模型支持 | 40+ 模型 | 仅 OpenAI 模型 | 仅 Claude | 通常 1-3 个 |\n| 模型切换 | 会话中任意切换 | 不支持 | 不支持 | 通常需新建会话 |\n| 思考轨迹 | 支持(部分模型) | 不支持 | 部分支持 | 罕见 |\n| 工件渲染 | 支持 | 支持 | 支持 | 罕见 |\n| 图像生成 | 集成 FLUX | DALL-E | 不支持 | 需单独集成 |\n| 自托管 | 完全支持 | 不支持 | 不支持 | 部分支持 |\n| 成本 | 免费(NIM 试用层) | 付费 | 付费 | 视后端而定 |\n\nForge 的独特价值在于它将多模型发现、筛选、比较和高级交互功能整合在一个开源、可自托管的包中,且基于 NVIDIA 的免费试用层即可运行。\n\n结语\n\nForge 代表了 LLM 客户端演进的一个重要方向:从单一模型交互转向多模型协作与比较。在模型能力快速迭代、新模型层出不穷的今天,能够灵活切换和对比不同模型的工具将变得越来越重要。Forge 不仅提供了这样的能力,还以开源、可部署、零成本的方式降低了使用门槛,值得每一位 LLM 开发者和研究者关注。