stable diffusion提示词生成器(UI交互版)
import tkinter as tk from tkinter import scrolledtext from openai import OpenAI import pyperclip # 用于复制文本到剪贴板 # 初始化 OpenAI 客户端 client = OpenAI( base_url="https://oneapi.xty.app/v1", api_key="sk-gfJsNLc7n7AWUmJG4c2030D10d1d479197400c6c53D58d79" ) # 系统指令(instruction) instruction = ( "你是stable diffusion的提示词生成器,我会给你一个简单的中文,如'苹果',请判断输入词的领域。" "根据输入的物体以及输入词的行业领域特点,然后请你返还给我一个英文句子的提示词,注意是稍微长的句子不是一系列词的组合" "总提示词大约50英文单词以内,(联想扩充画面细节)并加上相应提升画面效果的词语(如打光,高清,商业摄影等)(效果词可以作为短句加在最后)," "用于生成惊艳的stable diffusion画面。每次接受中文或英文输入后只要返还英文提示词,不要说其他东西。" ) # 初始系统消息 messages = [ {"role": "system", "content": instruction} ] # 创建主窗口 window = tk.Tk() window.title("stable diffusion提示词生成器") window.configure(background='white') # 创建使用说明标签 usage_label = tk.Label(window, text="请输入一个词(如'苹果'),点击'生成提示词'以生成提示词。", bg='white', fg='black', font=('Arial', 12)) usage_label.pack(pady=10) # 创建输入文本框 input_box = tk.Entry(window, width=50, font=('Arial', 14), bg='white') input_box.pack(pady=20) # 创建输出文本区域 output_box = scrolledtext.ScrolledText(window, width=60, height=10, font=('Arial', 14), bg='white', fg='black') output_box.pack(pady=20) # 发送消息并获取回答的函数 def send_and_get_reply(): user_input = input_box.get() # 将用户的消息添加到消息列表 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 # 清空输出框并将处理后的 GPT 回答显示在输出文本区域 output_box.delete('1.0', tk.END) output_box.insert(tk.END, f"{gpt_response}\n") # 将 GPT 的回答也添加到消息列表,以便用于下一轮对话 messages.append({"role": "assistant", "content": gpt_response}) # 创建发送按钮 send_button = tk.Button(window, text="生成提示词", command=send_and_get_reply, font=('Arial', 14), bg='lightblue', fg='black') send_button.pack(pady=20) # 复制到剪贴板的函数 def copy_to_clipboard(): text = output_box.get("1.0", tk.END) # 获取输出文本区域的内容 pyperclip.copy(text.strip()) # 将文本复制到剪贴板 # 创建复制按钮 copy_button = tk.Button(window, text="复制到剪贴板", command=copy_to_clipboard, font=('Arial', 14), bg='lightgreen', fg='black') copy_button.pack(pady=20) # 运行主循环 window.mainloop()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异