Skip to content

怎么用R1的推理能力来生成? #61

@Wz-2024

Description

@Wz-2024

我买了R1的接口,怎么用R1的推理能力来生成高质量图像?
代码如下

from RegionalDiffusion_base import RegionalDiffusionPipeline
from RegionalDiffusion_xl import RegionalDiffusionXLPipeline
from diffusers.schedulers import KarrasDiffusionSchedulers, DPMSolverMultistepScheduler
import torch
from openai import OpenAI

# 初始化 DeepSeek 客户端
client = OpenAI(api_key="xxxxxxxxx600b", 
                base_url="https://api.deepseek.com")

# 使用 DeepSeek 获取参数
def get_params_from_deepseek(prompt):
    response = client.chat.completions.create(
        model="deepseek-chat",
        messages=[
            {"role": "system", "content": "You are a helpful assistant. Given a prompt, provide a dictionary with 'Final split ratio' and 'Regional Prompt' keys."},
            {"role": "user", "content": f"Generate parameters for this prompt: '{prompt}'"},
        ],
        stream=False
    )
    # 假设 DeepSeek 返回的是一个包含所需参数的字符串,需要解析为字典
    # 这里假设返回格式为 "{'Final split ratio': value, 'Regional Prompt': value}"
    result = eval(response.choices[0].message.content)  # 假设返回的是可解析的字典字符串
    return result

# 初始化 RegionalDiffusionXLPipeline
pipe = RegionalDiffusionXLPipeline.from_pretrained("xxxxxxxxxxxxxxxl", torch_dtype=torch.float16, use_safetensors=True, variant="fp16")
pipe.to("cuda:1")
pipe.scheduler = DPMSolverMultistepScheduler.from_config(pipe.scheduler.config, use_karras_sigmas=True)
pipe.enable_xformers_memory_efficient_attention()

## 用户输入
prompt = 'A cute dog'
para_dict = get_params_from_deepseek(prompt)  # 使用 DeepSeek 获取参数
split_ratio = para_dict['Final split ratio']
regional_prompt = para_dict['Regional Prompt']
negative_prompt = "nsfw"

# 生成图像
images = pipe(
    prompt=regional_prompt,
    split_ratio=split_ratio,  # 区域提示的比例
    batch_size=1,  # 批次大小
    base_ratio=0.5,  # 基础提示比例    
    base_prompt=prompt,       
    num_inference_steps=20,  # 采样步数
    height=1024, 
    negative_prompt=negative_prompt,  # 负面提示
    width=1024, 
    seed=2468,  # 随机种子
    guidance_scale=7.0
).images[0]

# 保存图像
images.save("test.png")

报错如下:

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions