aifeifei798's picture
Update feifeilib/feifeiprompt.py
55fb61f verified
raw
history blame
1.29 kB
import numpy as np
import random
import re
import torch
import config
with open("artist.txt", "r") as file:
artists = file.readlines()
MAX_SEED = np.iinfo(np.int32).max
# 去除每行末尾的换行符
artists = [artist.strip() for artist in artists]
def feifeiprompt(
randomize_seed, seed, prompt, quality_select, styles_Radio
):
# 处理随机种子
if randomize_seed:
seed = random.randint(0, MAX_SEED)
else:
seed = int(seed) # Ensure seed is an integer
generator = torch.Generator().manual_seed(seed)
if "__artist__" in prompt:
# 随机选择艺术家
selected_artists = random.sample(artists, len(artists))
# 使用正则表达式替换所有的 __artist__
def replace_artists(match):
return selected_artists.pop(0)
prompt = re.sub(r"__artist__", replace_artists, prompt)
if quality_select:
prompt += ", masterpiece, best quality, very aesthetic, absurdres"
if styles_Radio:
style_name = styles_Radio
for style in config.style_list:
if style["name"] == style_name:
#prompt += style["prompt"].replace("{prompt}", prompt)
prompt = style["prompt"].replace("{prompt}", prompt)
return prompt, generator