tsukimiya/sd-webui-auto-prompt-reason

GitHub: tsukimiya/sd-webui-auto-prompt-reason

一个利用推理型大语言模型自动生成和优化 Stable Diffusion 图像提示词的 AUTOMATIC1111 WebUI 扩展。

Stars: 0 | Forks: 0

# sd-webui-auto-prompt-reason 一个使用思考型 LLM(Reasoning Models)自动生成和增强 Stable Diffusion 提示词的 AUTOMATIC1111 SD WebUI 扩展。 支持 Ollama、OpenAI 兼容 API 和 Google Gemini 三种提供商,在生成高质量提示词的同时展示模型的思考过程。 本项目基于已停止维护的 `sd-webui-decadetw-auto-prompt-llm`,针对现代思考型模型进行了大幅功能强化,达到生产级质量的扩展。 ## 主要功能 * **支持 3 种后端**: Ollama(本地)、OpenAI 兼容 API(OpenRouter、DeepSeek 等)、Google Gemini。 * **显示思考过程**: 在可折叠的“Thinking”部分显示 LLM 生成提示词时的推理过程。 * **控制思考深度 (Reasoning Effort)**: 提供 3 级选项以平衡生成质量和速度。 * **显示 Token 和耗时**: 每次生成后显示使用的 Token 数量和处理时间。 * **灵活的提示词注入**: 可选择将生成的提示词追加、前置或替换现有 SD 提示词。 * **内存历史记录**: 每个会话保存最近 50 条生成记录,方便查阅。 * **非阻塞 UI**: 所有 API 调用在后台线程运行,保持 WebUI 响应。 ## 运行环境 * Python 3.10+ * [AUTOMATIC1111 Stable Diffusion WebUI](https://github.com/AUTOMATIC1111/stable-diffusion-webui) * 所需库: `requests`, `PyYAML` (安装扩展时自动安装) ## 安装 1. 进入 SD WebUI 的 `extensions` 目录。 2. 克隆本仓库: git clone https://github.com/your-repo/sd-webui-auto-prompt-reason.git 3. 重启 SD WebUI。 ## 配置 可通过编辑 `config.yaml` 自定义默认行为。 ``` default_provider: ollama ollama: base_url: "http://localhost:11434" model: "qwen2.5:7b" openai_compatible: base_url: "http://localhost:1234/v1" model: "deepseek-reasoner" gemini: model: "gemini-2.0-flash" reasoning: effort: "medium" show_thinking: true history: max_size: 50 ui: prompt_injection_mode: "append" # append | prepend | replace ``` ## 使用方法 1. 打开 SD WebUI “Generation” 标签页中的 “Auto Prompt Reason” 部分。 2. 勾选 “Enable”。 3. 选择提供商。 4. 配置模型名称、Base URL 和 API Key(如需)。 5. 选择 “Reasoning Effort”。 6. 在文本区输入给 LLM 的指令,并点击主界面的 “Generate” 按钮。 7. 生成的提示词将应用到 SD 提示词框,并开始生成图像。 ## 提供商设置 ### Ollama (本地) 使用本地运行的 Ollama 实例。 * **Base URL**: `http://localhost:11434` (默认) * **Model**: 例如 `qwen2.5:7b`, `deepseek-r1:7b` * **Reasoning Effort**: 映射到 Temperature (Low=0.8, Medium=0.5, High=0.2)。 ### OpenAI 兼容 API 支持 OpenRouter、LM Studio、DeepSeek API 等服务。 * **Base URL**: 服务 API 端点 (例如 `https://api.deepseek.com/v1`)。 * **API Key**: 你的 API Bearer token。 * **Model**: 例如 `deepseek-reasoner`。 ### Google Gemini 需要从 Google AI Studio 获取 API Key。 * **API Key**: 作为 `?key=` 参数使用。 * **Model**: 例如 `gemini-2.0-flash`, `gemini-1.5-pro`。 * **Reasoning Effort**: 映射到 `thinkingConfig` budget (Low=1000, Medium=5000, High=10000 tokens)。 ## 思考深度 (Reasoning Effort) * **Low**: 快速生成,偏向创造性。 * **Medium**: 平衡深度与速度。 * **High**: 深度推理,生成高质量且忠实于指令的提示词。 ## 提示词注入模式 (Prompt Injection Modes) * **Append (默认)**: 将 LLM 输出追加到现有提示词之后。 * **Prepend**: 将 LLM 输出添加到现有提示词之前。 * **Replace**: 完全用 LLM 输出替换现有提示词。 ## 提示词示例 引导 LLM 进行图像生成的有效提示词示例: * `Cyberpunk city street at night, neon lights, rainy weather, cinematic lighting` * `A mystical forest with glowing plants and a hidden waterfall, 8k resolution, detailed texture` * `Portrait of a futuristic samurai, intricate armor design, sunset background, masterwork` ## 开发者指南 运行测试与覆盖率: ``` pip install -r requirements.txt pytest tests/ -v --cov=modules --cov=scripts --cov-report=term-missing ``` ## 许可证 Apache License 2.0 # sd-webui-auto-prompt-reason 一个使用推理 LLM 自动生成和增强 Stable Diffusion 提示词的 AUTOMATIC1111 SD WebUI 扩展。 支持 Ollama、OpenAI 兼容 API 和 Google Gemini,在生成高质量提示词的同时展示模型的思考过程。 本项目是一个生产级质量的扩展,基于已废弃的 `sd-webui-decadetw-auto-prompt-llm`,并显著增强了对现代推理模型的支持。 ## 功能特性 * **3 种提供商后端**: 支持 Ollama (本地)、OpenAI 兼容 API (OpenRouter, DeepSeek 等) 和 Google Gemini。 * **思考过程展示**: 在可折叠的“Thinking”部分显示 LLM 的推理过程。 * **推理力度控制**: 3 级单选按钮以平衡生成深度和速度。 * **Token 和时间指标**: 每次生成后显示使用的 Token 数和处理时间。 * **灵活的提示词注入**: 可选择将生成的结果追加、前置或替换现有的 SD 提示词。 * **内存历史记录**: 每个会话存储最近 50 条生成记录,便于参考。 * **非阻塞 UI**: 所有 API 调用均在后台线程运行,保持 WebUI 响应迅速。 ## 环境要求 * Python 3.10+ * [AUTOMATIC1111 Stable Diffusion WebUI](https://github.com/AUTOMATIC1111/stable-diffusion-webui) * 必需库: `requests`, `PyYAML` (自动安装) ## 安装 1. 进入你的 SD WebUI `extensions` 目录。 2. 克隆仓库: git clone https://github.com/your-repo/sd-webui-auto-prompt-reason.git 3. 重启 SD WebUI。 ## 配置 你可以通过编辑 `config.yaml` 来自定义默认行为。 ``` default_provider: ollama ollama: base_url: "http://localhost:11434" model: "qwen2.5:7b" openai_compatible: base_url: "http://localhost:1234/v1" model: "deepseek-reasoner" gemini: model: "gemini-2.0-flash" reasoning: effort: "medium" show_thinking: true history: max_size: 50 ui: prompt_injection_mode: "append" # append | prepend | replace ``` ## 使用说明 1. 在 SD WebUI 的 “Generation” 标签页中打开 “Auto Prompt Reason” 部分。 2. 勾选 “Enable”。 3. 选择你的提供商。 4. 配置模型名称、Base URL 和 API Key (如果需要)。 5. 选择 “Reasoning Effort”。 6. 在文本区域输入给 LLM 的指令,然后点击主 “Generate” 按钮。 7. 生成的提示词将应用到 SD 提示词栏,图像生成将随即开始。 ## 提供商设置 ### Ollama (本地) 使用本地运行的 Ollama 实例。 * **Base URL**: `http://localhost:11434` (默认) * **Model**: 例如 `qwen2.5:7b`, `deepseek-r1:7b` * **Reasoning Effort**: 映射到温度 (Temperature) (Low=0.8, Medium=0.5, High=0.2)。 ### OpenAI 兼容 适用于 OpenRouter、LM Studio 或 DeepSeek API 等服务。 * **Base URL**: 服务 API 端点 (例如 `https://api.deepseek.com/v1`)。 * **API Key**: 你的 API Bearer token。 * **Model**: 例如 `deepseek-reasoner`。 ### Google Gemini 需要来自 Google AI Studio 的 API Key。 * **API Key**: 作为 `?key=` 参数使用。 * **Model**: 例如 `gemini-2.0-flash`, `gemini-1.5-pro`。 * **Reasoning Effort**: 映射到 `thinkingConfig` 预算 (Low=1000, Medium=5000, High=10000 tokens)。 ## 推理力度 * **Low**: 快速生成,倾向于创造性。 * **Medium**: 平衡的深度和速度。 * **High**: 深度推理,生成高质量、忠实于指令的提示词。 ## 提示词注入模式 * **Append (默认)**: 将 LLM 输出添加到现有提示词之后。 * **Prepend**: 将 LLM 输出添加到现有提示词之前。 * **Replace**: 完全用 LLM 输出替换你的提示词。 ## 提示词示例 引导 LLM 进行图像生成的有效提示词: * `Cyberpunk city street at night, neon lights, rainy weather, cinematic lighting` * `A mystical forest with glowing plants and a hidden waterfall, 8k resolution, detailed texture` * `Portrait of a futuristic samurai, intricate armor design, sunset background, masterwork` ## 开发者信息 运行测试和覆盖率: ``` pip install -r requirements.txt pytest tests/ -v --cov=modules --cov=scripts --cov-report=term-missing ``` ## 许可证 Apache License 2.0
标签:AIGC, AI绘图, AI风险缓解, AUTOMATIC1111, DeepSeek, DLL 劫持, DNS解析, Gemini, LLM, LLM评估, Ollama, OpenAI, Petitpotam, Prompt生成, Python, Reasoning Model, SD WebUI, Stable Diffusion, Unmanaged PE, 内存规避, 图像生成, 大语言模型, 开源项目, 恶意代码分类, 扩展插件, 推理模型, 提示词工程, 无后门, 熵值分析, 策略决策点, 逆向工具