Janus 是什么?

DeepSeek Janus 是把图像理解与图像生成放进同一自回归模型体系的研究项目。Janus-Pro 提供 1B 和 7B 权重,既能回答图像问题,也能根据文本生成图像;仓库同时保留 Janus-1.3B 与使用 rectified flow 的 JanusFlow-1.3B。

⭐ 17,699 Stars 🍴 2,235 Forks Python MIT 作者: deepseek-ai
来源:github.com/deepseek-ai/Janus 查看 GitHub 仓库 → 📘 使用教程 →

为什么值得关注

同一模型体系处理图片问答、描述和文本生成图像,Janus-Pro 官方提供 1B 与 7B 两个规模。理解路径和生成路径使用不同视觉编码方式,再交给统一 Transformer 处理,用来减少两类任务对视觉表征的冲突。

来源:github.com/deepseek-ai/Janus

核心功能

理解与生成统一

同一模型体系处理图片问答、描述和文本生成图像,Janus-Pro 官方提供 1B 与 7B 两个规模。

来源:github.com/deepseek-ai/Janus
视觉编码解耦

理解路径和生成路径使用不同视觉编码方式,再交给统一 Transformer 处理,用来减少两类任务对视觉表征的冲突。

来源:github.com/deepseek-ai/Janus/blob/main/janus_pro_tech_report.pdf
本地推理与演示

官方提供 Hugging Face 权重、Python 推理示例和 Gradio 演示;JanusFlow 还需安装 diffusers。示例默认使用 CUDA 与 bfloat16。

来源:github.com/deepseek-ai/Janus
多模型分支

仓库同时包含 Janus、Janus-Pro 与 JanusFlow。三者的模型类、生成过程和额外依赖不同,不能混用同一段示例。

来源:github.com/deepseek-ai/Janus

技术架构

Janus-Pro 为理解任务使用 SigLIP 类视觉编码器,把图片特征适配进语言模型;生成任务则把图像离散为视觉 token,再由生成适配器与统一自回归 Transformer 交互,最后由视觉解码器还原图片。解耦发生在视觉编码入口,语言侧仍共享同一个 Transformer。JanusFlow 把生成分支改为 rectified flow,运行路径不同。

来源:github.com/deepseek-ai/Janus/blob/main/janus_pro_tech_report.pdf

项目知识图谱

知识图谱:项目核心节点(中心)+ 核心功能(内环六边形)+ 关键技术依赖(外环 chip) 理解与生成统一 视觉编码解耦 本地推理与演示 多模型分支 Janus 项目本体 核心功能 关键依赖

技术栈

语言Python >=3.8
来源:github.com/deepseek-ai/Janus/blob/main/pyproject.toml

快速上手

先固定仓库 commit,在独立虚拟环境执行 pip install -e .。从 Janus-Pro-1B 开始评估,下载权重前核对模型卡与 LICENSE-MODEL。官方示例把 trust_remote_code=True 传给 from_pretrained,这会执行模型仓库代码;应先审查文件并固定 revision,再在无生产凭据、无公网监听的 GPU 容器中运行一张自有图片。记录显存、加载时间、输出与随机种子后,再决定是否试 7B。
来源:github.com/deepseek-ai/Janus

使用场景

适合研究统一多模态模型、比较图像理解与生成共享骨干的效果、在受控环境做图片问答或文本生成图片原型。它不适合未经内容审核的公网生成服务,也不应直接处理敏感图片、未知大文件或需要确定性结论的高风险任务。

来源:github.com/deepseek-ai/Janus

优势与局限

优势

  • 同一项目同时提供图像理解和生成示例
  • Janus-Pro 有 1B 与 7B 两档权重,便于分级评估
  • 官方公开技术报告、权重、推理代码与演示
  • 视觉编码解耦,减少理解和生成对同一视觉表示的直接冲突

局限

  • 官方示例依赖 CUDA、bfloat16 和 trust_remote_code=True,运行与供应链门槛较高
  • README 的质量结论来自项目方基准,不能替代特定业务数据的复测
  • 模型可能生成错误、有偏或不合适内容,仓库示例不等于完整安全治理方案
  • 代码和模型使用不同许可证,分发权重或提供托管服务前必须单独审查模型条款
  • 仓库没有 Git tag 或 GitHub Release,package 1.0.0 不能说明模型仍在持续发布
来源:github.com/deepseek-ai/Janus

最新版本

官方仓库没有 Git tag 或 GitHub Release。可核对的最新模型公告是 2025-01-27 发布 Janus-Pro,提供 1B 和 7B 权重;pyproject 包版本为 1.0.0,仓库当前 HEAD 日期为 2025-02-01。教程分别记录模型公告与包版本,避免把两者混为一次正式 release。

来源:github.com/deepseek-ai/Janus

实测与证据

status: official_source_checked_not_installed_or_inferred  |  checked_at: 2026-09-23  |  environment: 核对官方 README、pyproject.toml、requirements、代码与模型许可证、Janus-Pro 技术报告入口;未安装 PyTorch,未下载权重,未使用 GPU 推理  |  limitations: 未验证模型下载大小、显存、速度、输出质量、基准复现、Gradio 或 FastAPI 网络暴露、内容安全与商业授权适配  |  observed_output: pyproject 版本为 1.0.0,Python 要求 >=3.8;官方最新模型公告为 2025-01-27 的 Janus-Pro;示例加载 Janus-Pro-7B 时使用 trust_remote_code=True、bfloat16 与 CUDA

来源:github.com/deepseek-ai/Janus/blob/main/pyproject.toml

同类项目对比

相比 Show-o,Janus 把理解和生成的视觉编码路径拆开,再共享自回归 Transformer;Show-o 的初代方案把文本自回归与图像离散扩散放进单个 Transformer,后续 Show-o2 又加入 flow matching 和视频能力。需要复现 DeepSeek 的 1B/7B Janus-Pro 时选 Janus;研究图像、视频与混合模态生成时,应同时比较 Show-o2 的当前代码和权重。

来源:github.com/deepseek-ai/Janus (1) · github.com/showlab/Show-o (2)

总结评价

Janus 适合有 GPU 隔离环境、愿意审查远程代码和模型许可证的研究者。先固定版本、用 1B 和自有图片做最小验证,再测业务数据;若只是调用成熟图片理解 API,或无法承担权重、显存与内容治理,部署本地 Janus 的成本偏高。

来源:github.com/deepseek-ai/Janus

常见问题

Janus-Pro-1B 和 7B 应该先试哪个?

先试 1B,用一组自有图片确认环境、接口、显存和输出格式;只有质量不足且硬件预算允许时再试 7B。官方示例默认 CUDA 与 bfloat16,CPU 路径没有在本教程验证。

trust_remote_code=True 有什么风险?

它允许 Transformers 执行模型仓库中的自定义 Python 代码。应先审查文件、固定仓库和模型 revision,并在没有生产凭据的隔离环境运行,不能直接追随浮动 main。

Janus 的代码和模型都是 MIT 吗?

不是。仓库代码使用 MIT,模型权重受 DeepSeek Model License 约束。该模型许可证允许符合条款的商业使用,但包含用途限制;分发或托管前要逐条审查。

运行本地 Gradio 演示可以直接开放到公网吗?

不建议直接开放。先保持本机监听并限制上传大小,增加身份验证、内容审核、速率限制和日志脱敏;未知图片也要按不可信输入处理。

Janus-Pro 是 2026 年的新版本吗?

不是。官方 README 记录的 Janus-Pro 发布日是 2025-01-27,仓库 HEAD 为 2025-02-01。pyproject 的 1.0.0 是包版本,不能当作 2026 年模型发布。

资料与核验范围
本文依据项目公开资料整理。版本、安装命令和功能边界可能随上游更新,请以所列来源和项目当前版本为准。 资料核对时间: 2026-09-23 13:55.

参考材料:README、GitHub API、依赖文件