From 62c68f349c305541471c78e079db52dc9ca8d1fa Mon Sep 17 00:00:00 2001 From: HuangHai <10402852@qq.com> Date: Thu, 4 Sep 2025 10:46:33 +0800 Subject: [PATCH] 'commit' --- dsLightRag/Liblib/LibLibGenerator.py | 137 +----------------- dsLightRag/Liblib/LibLibSamplingEnum.py | 32 ++++ .../LibLibGenerator.cpython-310.pyc | Bin 8266 -> 4740 bytes 3 files changed, 33 insertions(+), 136 deletions(-) create mode 100644 dsLightRag/Liblib/LibLibSamplingEnum.py diff --git a/dsLightRag/Liblib/LibLibGenerator.py b/dsLightRag/Liblib/LibLibGenerator.py index 48ff2dfe..3c3714b3 100644 --- a/dsLightRag/Liblib/LibLibGenerator.py +++ b/dsLightRag/Liblib/LibLibGenerator.py @@ -72,21 +72,6 @@ class LibLibGenerator: print(model_info) return None - def generate_text_to_image(self, template_uuid, generate_params): - # "templateUuid": self.default_params["templateUuid"], - # "generateParams": { - # "prompt": prompt, - # **self.default_params, - # "controlNet": self.build_control_net_params(reference_image_url, control_weight) - # } - """调用text2img接口生成图片""" - uri = "/api/generate/webui/text2img" - payload = { - "templateUuid": template_uuid, - "generateParams": generate_params - } - print(payload) - return self.post_request(uri, payload) def get_generation_status(self, generate_uuid): """查询生图任务状态和结果""" @@ -165,124 +150,4 @@ class LibLibGenerator: except Exception as e: print(f"处理图片时发生错误: {str(e)}") - return None - - def process_generation_task(self, generate_uuid, interval=2): - """ - 完整处理生成任务: 轮询状态 → 下载图片 → 上传OBS → 清理临时文件 - :param generate_uuid: 生成任务UUID - :param interval: 轮询间隔(秒) - :return: OBS路径或None - """ - try: - print(f"开始监控生成任务 {generate_uuid},每{interval}秒检查一次...") - - # 轮询等待生成完成 - status_data = self.wait_for_generation_completion(generate_uuid, interval) - print(f"生图状态: {json.dumps(status_data, ensure_ascii=False, indent=2)}") - - # 检查生成状态是否为5(完成) - if status_data and status_data.get('generateStatus') == 5: - # 提取图片URL - if status_data.get('images') and len(status_data['images']) > 0: - image_url = status_data['images'][0]['imageUrl'] - # 下载并上传到OBS - obs_path = self.download_and_upload_to_obs(image_url, generate_uuid) - return obs_path - else: - print("❌ 未找到图片数据") - return None - else: - print(f"❌ 生图未完成或失败,状态码: {status_data.get('generateStatus')}") - return None - except Exception as e: - print(f"处理生成任务时发生异常: {str(e)}") - return None - - def generate_image_with_obs(self, template_uuid, generate_params): - """ - 完整生图流程:生成图片 → 等待完成 → 上传OBS → 返回URL - :param template_uuid: 模板UUID - :param generate_params: 生成参数字典 - :return: OBS文件URL或None - """ - try: - # 调用生成接口 - response = self.generate_text_to_image(template_uuid, generate_params) - - if response and "generateUuid" in response: - generate_uuid = response["generateUuid"] - print("✅ 图像生成任务已成功提交!") - print(f"生成UUID: {generate_uuid}") - print("开始轮询生成状态...") - - # 等待生成完成 - status_data = self.wait_for_generation_completion(generate_uuid, interval=2) - - # 检查生成状态 - if status_data and status_data.get("generateStatus") == 5: - print("🎉 图像生成完成!开始处理文件...") - - # 提取图片URL - if status_data.get("images") and len(status_data["images"]) > 0: - image_url = status_data["images"][0]["imageUrl"] - - # 下载并上传到OBS - obs_object_key = self.download_and_upload_to_obs(image_url, generate_uuid) - - if obs_object_key: - # 构建完整的OBS URL - import Config.Config - file_url = f"https://{Config.Config.OBS_BUCKET}.{Config.Config.OBS_SERVER}/{obs_object_key}" - print(f"✅ 文件处理完成,OBS地址: {file_url}") - return file_url - else: - print("❌ 文件上传OBS失败") - return None - else: - print("❌ 未找到生成的图片数据") - return None - else: - error_msg = status_data.get('message', '未知错误') if status_data else '生成状态查询失败' - print(f"❌ 图像生成失败: {error_msg}") - return None - else: - error_msg = response.get('message', '未知错误') if response else 'API无响应' - print(f"❌ 图像生成失败: {error_msg}") - return None - except Exception as e: - print(f"请求发生异常: {str(e)}") - return None - - -# 采样方法字典 - 包含28种采样方法及其枚举值和推荐度 -SAMPLING_METHODS = { - "Euler a": 0, - "Euler": 1, - "LMS": 2, - "Heun": 3, - "DPM2": 4, - "DPM2 a": 5, - "DPM++ 2S a": 6, - "DPM++ 2M": 7, - "DPM++ SDE": 8, - "DPM fast": 9, - "DPM adaptive": 10, - "LMS Karras": 11, - "DPM2 Karras": 12, - "DPM2 a Karras": 13, - "DPM++ 2S a Karras": 14, - "DPM++ 2M Karras": 15, - "DPM++ SDE Karras": 16, - "DDIM": 17, - "PLMS": 18, - "UNIPC": 19, - "DPM++ 2M SDE Karras": 20, - "DPM++ 2M SDE EXPONENTIAL": 21, - "DPM++ 2M SDE Heun Karras": 24, - "DPM++ 2M SDE Heun Exponential": 25, - "DPM++ 3M SDE Karras": 27, - "DPM++ 3M SDE Exponential": 28, - "Restart": 29, - "LCM": 30 -} + return None \ No newline at end of file diff --git a/dsLightRag/Liblib/LibLibSamplingEnum.py b/dsLightRag/Liblib/LibLibSamplingEnum.py new file mode 100644 index 00000000..a743d5e2 --- /dev/null +++ b/dsLightRag/Liblib/LibLibSamplingEnum.py @@ -0,0 +1,32 @@ + +# 采样方法字典 - 包含28种采样方法及其枚举值和推荐度 +SAMPLING_METHODS = { + "Euler a": 0, + "Euler": 1, + "LMS": 2, + "Heun": 3, + "DPM2": 4, + "DPM2 a": 5, + "DPM++ 2S a": 6, + "DPM++ 2M": 7, + "DPM++ SDE": 8, + "DPM fast": 9, + "DPM adaptive": 10, + "LMS Karras": 11, + "DPM2 Karras": 12, + "DPM2 a Karras": 13, + "DPM++ 2S a Karras": 14, + "DPM++ 2M Karras": 15, + "DPM++ SDE Karras": 16, + "DDIM": 17, + "PLMS": 18, + "UNIPC": 19, + "DPM++ 2M SDE Karras": 20, + "DPM++ 2M SDE EXPONENTIAL": 21, + "DPM++ 2M SDE Heun Karras": 24, + "DPM++ 2M SDE Heun Exponential": 25, + "DPM++ 3M SDE Karras": 27, + "DPM++ 3M SDE Exponential": 28, + "Restart": 29, + "LCM": 30 +} diff --git a/dsLightRag/Liblib/__pycache__/LibLibGenerator.cpython-310.pyc b/dsLightRag/Liblib/__pycache__/LibLibGenerator.cpython-310.pyc index 3cce0c20518bb88c3e6baa4270a1f70306192dfe..1f36d5b36940534d6cc6add64b234dc7f88621ef 100644 GIT binary patch delta 326 zcmX@*(4wlH&&$ij00iZKcVuLWF)%y^agYHskmCTv#YGdf3)xZ_gBdj0CTlR7GrCPq zU^EdIO5si6YhjGyNa0TrXkm!rOc4aC5Z-*0QHNu)Id>&v)Z~raQH(yDd3YQcfgE36 zbw-EDrM$U}_LCp;x(PW0jV^Kl5%xerleNfhvNfL~qwVBaJ{h3$D!wGfpv`yr{F!;9 zI5Tq-(^KP1i*kx=CtC_R1Ep()0vL-YpA*XA_tRton^5EcGKOpNY8gvzJCL!SAR=n= zKN&?G0U(oufrF8Qjf0CribI%-jYqMF1*D$8NF1b06-0!92>;1J@~Zq%yw3S~X_@JI c5NdLbyzFE~S&_;6<@p&UCZCs=WD;Tq0Cc8C;Q#;t delta 3900 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