From 6e6e92df530efb2454f6d17ab9988d6f065ef898 Mon Sep 17 00:00:00 2001 From: Leonid Pershin Date: Sun, 26 Oct 2025 22:29:27 +0300 Subject: [PATCH] Update AIImages mod to utilize StableDiffusionNet.Core for API interactions, enhancing image generation capabilities. Refactor service methods for improved clarity and efficiency, and update AIImages.dll to reflect these changes. --- Assemblies/AIImages.dll | Bin 83968 -> 77312 bytes Assemblies/StableDiffusionNet.Core.dll | Bin 0 -> 65024 bytes Source/AIImages/AIImages.csproj | 2 +- .../Services/StableDiffusionNetAdapter.cs | 175 ++++++------------ 4 files changed, 54 insertions(+), 123 deletions(-) create mode 100644 Assemblies/StableDiffusionNet.Core.dll diff --git a/Assemblies/AIImages.dll b/Assemblies/AIImages.dll index 0bda9d2393cbf3d152886c8c9790136d8310debe..1afd608aaf8f3dbde6b68b637e53ffc2ac8e47e5 100644 GIT binary patch literal 77312 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

(uP$np0mtOI|sio5%Za$tTh9U27(xhIw - + diff --git a/Source/AIImages/Services/StableDiffusionNetAdapter.cs b/Source/AIImages/Services/StableDiffusionNetAdapter.cs index 413c424..3a89d04 100644 --- a/Source/AIImages/Services/StableDiffusionNetAdapter.cs +++ b/Source/AIImages/Services/StableDiffusionNetAdapter.cs @@ -1,31 +1,25 @@ using System; using System.Collections.Generic; using System.IO; -using System.Linq; using System.Net.Http; -using System.Text; using System.Threading; using System.Threading.Tasks; using AIImages.Models; -using Newtonsoft.Json; +using StableDiffusionNet; +using StableDiffusionNet.Exceptions; +using StableDiffusionNet.Interfaces; +using StableDiffusionNet.Models.Requests; using Verse; namespace AIImages.Services { ///

/// Адаптер для Stable Diffusion API (AUTOMATIC1111 WebUI) - /// TODO: В будущем можно мигрировать на библиотеку StableDiffusionNet когда API будет полностью совместимо + /// Использует библиотеку StableDiffusionNet для работы с API /// public class StableDiffusionNetAdapter : IStableDiffusionApiService, IDisposable { - // Shared HttpClient для предотвращения socket exhaustion - // См: https://learn.microsoft.com/en-us/dotnet/fundamentals/networking/http/httpclient-guidelines - private static readonly HttpClient _sharedHttpClient = new HttpClient - { - Timeout = TimeSpan.FromMinutes(5), - }; - - private readonly string _apiEndpoint; + private readonly IStableDiffusionClient _client; private readonly string _saveFolderPath; private bool _disposed; @@ -39,8 +33,6 @@ namespace AIImages.Services ); } - _apiEndpoint = apiEndpoint; - // Определяем путь для сохранения _saveFolderPath = Path.Combine(GenFilePaths.SaveDataFolderPath, savePath); @@ -50,6 +42,13 @@ namespace AIImages.Services Directory.CreateDirectory(_saveFolderPath); } + // Создаем клиент StableDiffusion используя Builder + _client = new StableDiffusionClientBuilder() + .WithBaseUrl(apiEndpoint) + .WithTimeout(300) // 5 минут в секундах + .WithRetry(retryCount: 3, retryDelayMilliseconds: 1000) + .Build(); + Log.Message( $"[AI Images] StableDiffusion adapter initialized with endpoint: {apiEndpoint}" ); @@ -73,52 +72,34 @@ namespace AIImages.Services $"[AI Images] Starting image generation with prompt: {request.Prompt.Substring(0, Math.Min(50, request.Prompt.Length))}..." ); - // Формируем JSON запрос для AUTOMATIC1111 API - var apiRequest = new + // Маппируем наш запрос на запрос библиотеки StableDiffusionNet + var sdRequest = new TextToImageRequest { - prompt = request.Prompt, - negative_prompt = request.NegativePrompt, - steps = request.Steps, - cfg_scale = request.CfgScale, - width = request.Width, - height = request.Height, - sampler_name = request.Sampler, - scheduler = request.Scheduler, - seed = request.Seed, - save_images = false, - send_images = true, + Prompt = request.Prompt, + NegativePrompt = request.NegativePrompt, + Steps = request.Steps, + CfgScale = request.CfgScale, + Width = request.Width, + Height = request.Height, + SamplerName = request.Sampler, + Scheduler = request.Scheduler, + Seed = request.Seed, + // SaveImages и SendImages не нужны - библиотека всегда возвращает изображения }; - string jsonRequest = JsonConvert.SerializeObject(apiRequest); - var content = new StringContent(jsonRequest, Encoding.UTF8, "application/json"); - - // Отправляем запрос с поддержкой cancellation - string endpoint = $"{_apiEndpoint}/sdapi/v1/txt2img"; - HttpResponseMessage response = await _sharedHttpClient.PostAsync( - endpoint, - content, + // Выполняем запрос через библиотеку (с встроенной retry логикой) + var response = await _client.TextToImage.GenerateAsync( + sdRequest, cancellationToken ); - if (!response.IsSuccessStatusCode) - { - string errorContent = await response.Content.ReadAsStringAsync(); - Log.Error( - $"[AI Images] API request failed: {response.StatusCode} - {errorContent}" - ); - return GenerationResult.Failure($"API Error: {response.StatusCode}"); - } - - string jsonResponse = await response.Content.ReadAsStringAsync(); - var apiResponse = JsonConvert.DeserializeObject(jsonResponse); - - if (apiResponse?.images == null || apiResponse.images.Length == 0) + if (response?.Images == null || response.Images.Count == 0) { return GenerationResult.Failure("No images returned from API"); } // Декодируем изображение из base64 - byte[] imageData = Convert.FromBase64String(apiResponse.images[0]); + byte[] imageData = Convert.FromBase64String(response.Images[0]); // Сохраняем изображение string fileName = $"pawn_{DateTime.Now:yyyyMMdd_HHmmss}.png"; @@ -144,6 +125,11 @@ namespace AIImages.Services Log.Error($"[AI Images] HTTP error: {ex.Message}"); return GenerationResult.Failure($"Connection error: {ex.Message}"); } + catch (StableDiffusionException ex) + { + Log.Error($"[AI Images] StableDiffusion API error: {ex.Message}"); + return GenerationResult.Failure($"API Error: {ex.Message}"); + } catch (Exception ex) { Log.Error($"[AI Images] Unexpected error: {ex.Message}\n{ex.StackTrace}"); @@ -160,12 +146,8 @@ namespace AIImages.Services try { - string endpoint = $"{apiEndpoint}/sdapi/v1/sd-models"; - HttpResponseMessage response = await _sharedHttpClient.GetAsync( - endpoint, - cancellationToken - ); - return response.IsSuccessStatusCode; + // Используем встроенный метод PingAsync библиотеки + return await _client.PingAsync(cancellationToken); } catch (Exception ex) { @@ -183,24 +165,16 @@ namespace AIImages.Services try { - string endpoint = $"{apiEndpoint}/sdapi/v1/sd-models"; - HttpResponseMessage response = await _sharedHttpClient.GetAsync( - endpoint, - cancellationToken - ); - - if (!response.IsSuccessStatusCode) - return new List(); - - string jsonResponse = await response.Content.ReadAsStringAsync(); - var models = JsonConvert.DeserializeObject>(jsonResponse); + // Используем Models сервис библиотеки + var models = await _client.Models.GetModelsAsync(cancellationToken); var modelNames = new List(); if (models != null) { foreach (var model in models) { - modelNames.Add(model.title ?? model.model_name); + // Используем Title или ModelName в зависимости от того, что доступно + modelNames.Add(model.Title ?? model.ModelName); } } @@ -223,25 +197,13 @@ namespace AIImages.Services try { - string endpoint = $"{apiEndpoint}/sdapi/v1/samplers"; - HttpResponseMessage response = await _sharedHttpClient.GetAsync( - endpoint, - cancellationToken - ); - - if (!response.IsSuccessStatusCode) - return GetDefaultSamplers(); - - string jsonResponse = await response.Content.ReadAsStringAsync(); - var samplers = JsonConvert.DeserializeObject>(jsonResponse); + // Используем Samplers сервис библиотеки + var samplers = await _client.Samplers.GetSamplersAsync(cancellationToken); var samplerNames = new List(); if (samplers != null) { - foreach (var sampler in samplers) - { - samplerNames.Add(sampler.name); - } + samplerNames.AddRange(samplers); } Log.Message($"[AI Images] Found {samplerNames.Count} samplers"); @@ -263,25 +225,13 @@ namespace AIImages.Services try { - string endpoint = $"{apiEndpoint}/sdapi/v1/schedulers"; - HttpResponseMessage response = await _sharedHttpClient.GetAsync( - endpoint, - cancellationToken - ); - - if (!response.IsSuccessStatusCode) - return GetDefaultSchedulers(); - - string jsonResponse = await response.Content.ReadAsStringAsync(); - var schedulers = JsonConvert.DeserializeObject>(jsonResponse); + // Используем Schedulers сервис библиотеки (доступен с версии 1.1.1) + var schedulers = await _client.Schedulers.GetSchedulersAsync(cancellationToken); var schedulerNames = new List(); if (schedulers != null) { - foreach (var scheduler in schedulers) - { - schedulerNames.Add(scheduler.name); - } + schedulerNames.AddRange(schedulers); } Log.Message($"[AI Images] Found {schedulerNames.Count} schedulers"); @@ -346,32 +296,13 @@ namespace AIImages.Services if (_disposed) return; - // Не dispose shared HttpClient - он используется глобально + // Dispose клиента StableDiffusion + if (_client is IDisposable disposableClient) + { + disposableClient.Dispose(); + } + _disposed = true; } - - // Вспомогательные классы для десериализации JSON ответов -#pragma warning disable S3459, S1144, IDE1006 // Properties set by JSON deserializer - private sealed class Txt2ImgResponse - { - public string[] images { get; set; } - } - - private sealed class SdModel - { - public string title { get; set; } - public string model_name { get; set; } - } - - private sealed class SdSampler - { - public string name { get; set; } - } - - private sealed class SdScheduler - { - public string name { get; set; } - } -#pragma warning restore S3459, S1144, IDE1006 } }