from openai import OpenAI
client = OpenAI(
base_url="https://oneapi.xty.app/v1",
api_key="sk-gfJsNLc7n7AWUmJG4c2030D10d1d479197400c6c53D58d79"
)
# 定义系统指令(instruction)
instruction = (
"你是stable diffusion的提示词生成器,我会给你一个简单的中文,如'苹果',请判断输入词的领域。"
"根据输入的物体以及输入词的行业领域特点,然后请你返还给我一个英文句子的提示词,"
"总提示词大约80英文单词(联想扩充画面细节)并加上相应提升画面效果的词语(如打光,高清,商业摄影等),"
"用于生成惊艳的stable diffusion画面。每次接受中文或英文输入后只要返还英文提示词,不要说其他东西。"
)
# 初始系统消息
messages = [
{"role": "system", "content": instruction}
]
# 打印使用说明
print("欢迎使用stable diffusion提示词生成器!")
print("请输入一个词或短语(如'苹果'),系统将根据您的输入生成一个英文提示词。")
print("如果您想退出程序,请输入 'quit'。\n")
# 循环直到用户输入 'quit'
while True:
# 获取用户输入
user_input = input("请输入您的词语: ")
# 如果用户输入 'quit', 结束对话
if user_input.lower() == 'quit':
print("正在退出对话...")
break
# 将用户的消息添加到消息列表
messages.append({"role": "user", "content": user_input})
# 获取模型的回答
completion = client.chat.completions.create(
model="gpt-4-1106-preview",
messages=messages
)
# 提取 GPT 的回答并打印
gpt_response = completion.choices[0].message.content
print("生成的提示词:", gpt_response)
# 将 GPT 的回答也添加到消息列表,以便用于下一轮对话
messages.append({"role": "assistant", "content": gpt_response})