所有文章 > 日积月累 > 如何调用 DeepSeek Janus-Pro 的 API
如何调用 DeepSeek Janus-Pro 的 API

如何调用 DeepSeek Janus-Pro 的 API

DeepSeek Janus-Pro 简介

DeepSeek Janus-Pro 是一款多模态 AI 模型,专注于文本到图像生成和多模态理解。它在多个基准测试中表现优异,超过了 OpenAI 的 DALL-E 3 和 Stability AI 的 Stable Diffusion。Janus-Pro 提供了 7B 和 1.5B 两个参数规模的版本,用户可以根据需求选择。

Janus-Pro 的改进主要体现在以下几个方面:

  • 改进的训练策略:使模型学习更加高效。
  • 扩展的训练数据:增强了模型的理解能力和生成质量。
  • 更大的模型规模:提高了模型的表现力。

这些改进使 Janus-Pro 在图像生成的稳定性和一致性上都有显著提升。

Janus-Pro

如何下载和部署 Janus-Pro 模型

使用 Modelscope 下载

国内用户可以通过 modelscope 快速下载 Janus-Pro 的模型权重。访问 modelscope 下载 Janus-Pro-1B 模型。Janus 是多模态的模型,1B 大小的模型显存占用在 8GB。如果低于 8GB,可以考虑使用云服务器。

下载模型

使用 Git 下载

我们推荐使用 Git 下载模型,这种方式更稳定。Git lfs 是下载大型文件必备的软件,可以通过以下命令安装:

git lfs install 
git clone https://www.modelscope.cn/deepseek-ai/Janus-Pro-1B.git

执行上述命令后,模型会下载到本地。

环境配置指南

项目下载和解压

首先,需要下载 Janus 的项目,访问 GitHub。将项目下载至本地后,解压缩到一个目录中。

下载项目

Python 环境配置

安装 Python 环境以及相关依赖,可在命令行中执行以下命令:

pip install -e .

如果遇到网络问题,可以使用清华源:

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

实战案例:多模态理解

在 Janus 项目的 "Quick Start" 部分,我们可以找到多模态图片理解的示例。以下是代码片段,修改 model_pathimagequestion 变量以适配你的需求。

import torch
from transformers import AutoModelForCausalLM
from janus.models import MultiModalityCausalLM, VLChatProcessor
from janus.utils.io import load_pil_images

model_path = "E:modelsJanus-Pro-1B"
vl_chat_processor: VLChatProcessor = VLChatProcessor.from_pretrained(model_path)
tokenizer = vl_chat_processor.tokenizer
vl_gpt: MultiModalityCausalLM = AutoModelForCausalLM.from_pretrained(
model_path, trust_remote_code=True
)
vl_gpt = vl_gpt.to(torch.bfloat16).cuda().eval()
image = "imagesdoge.png"
question = "Extract all information from this image and convert them into markdown format."
conversation = [
{
"role": "",
"content": f"n{question}",
"images": [image],
},
{"role": "", "content": ""},
]

运行代码后,成功的输出会显示在命令行中。

实战成功

DeepSeek R1 实战

DeepSeek R1 模型支持后缀为 qwen、llama 的蒸馏模型,可以在本地使用 transformers 进行部署。参考 qwen 文档 进行配置。

通过调整代码中的输出字符长度,可以获得完整的输出。例如,将默认的 512 字符调整到 2048 或 4096。

输出调整

DeepSeek Janus-Pro API 调用

硅基流动平台注册

硅基流动平台提供免费调用 Janus-Pro-7B 的服务。通过 官网 注册,官方会赠送 14 元的 API 使用金额。

硅基流动注册

使用 Python 脚本调用 Janus-Pro

申请一个 API key 后,可以通过以下代码调用 Janus-Pro 进行图像生成:

import requests

url = "https://api.siliconflow.cn/v1/images/generations"
payload = {
"model": "deepseek-ai/Janus-Pro-7B",
"prompt": "a woman with a beautiful smile",
"seed": 1
}
headers = {
"Authorization": "Bearer apikey",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)

apikey 替换为你的 API key,执行脚本即可生成图像。

小结

Janus-Pro 提供了强大的多模态 AI 能力,适用于从文本到图像的生成以及多模态理解。通过上述指南,用户可以快速下载、部署和调用 Janus-Pro,实现更多创意应用。

FAQ

  1. 问:DeepSeek Janus-Pro 支持哪些平台?

    • 答:Janus-Pro 支持在 Windows、MacOS 和 Linux 平台上运行,用户可以根据需求选择适合的版本。
  2. 问:如何提高 Janus-Pro 的运行效率?

    • 答:可以通过选择合适的版本(如 7B 或 1B),以及确保设备的计算能力(如 GPU 的显存大小)来提高运行效率。
  3. 问:Janus-Pro 是否支持自定义训练?

    • 答:Janus-Pro 提供了开源代码和模型,用户可以根据自己的需求进行自定义训练和优化。
  4. 问:如何解决模型下载缓慢的问题?

    • 答:建议使用 modelscope 或 Git 方式下载,这两种方法更加稳定。同时,可以选择国内的镜像源加速下载。
  5. 问:API 调用中的图像生成速度如何?

    • 答:图像生成速度取决于服务器的响应速度和模型的复杂度,一般情况下使用官方提供的 API 可以获得较快的响应。
#你可能也喜欢这些API文章!