ამ გაკვეთილში წარმოგიდგენთ ნაბიჯ-ნაბიჯ სახელმძღვანელოს, თუ როგორ უნდა გადააქციოთ რთული ComfyUI სამუშაო პროცესი მარტივ Gradio აპლიკაციად და როგორ განათავსოთ ეს აპლიკაცია Hugging Face Spaces ZeroGPU სერვერულ სტრუქტურაზე, რაც საშუალებას იძლევა მისი უფასოდ, სერვერული მეთოდით განთავსება და გაშვება. ამ გაკვეთილში ჩვენ ვიმუშავებთ Nathan Shipley-ის Flux[dev] Redux + Flux[dev] Depth ComfyUI სამუშაო პროცესთან, თუმცა შეგიძლიათ მიჰყვეთ გაკვეთილს ნებისმიერი სხვა სამუშაო პროცესით, რომელიც თქვენ გსურთ. მოკლე მიმოხილვა, რასაც ამ გაკვეთილში განვიხილავთ: (თუ ეძებთ „workflow-to-app“ სრულ სტრუქტურას, Comfy-ის დაყენებისა და კოდირების გარეშე, თვალი ადევნეთ ჩემს პროფილს Hugging Face-ზე ან Twitter/X-ზე, რადგან ამას 2025 წლის დასაწყისში ვგეგმავთ!). ComfyUI შესანიშნავია და, როგორც სახელიდან ჩანს, შეიცავს მომხმარებლის ინტერფეისს (UI). თუმცა, Comfy გაცილებით მეტია, ვიდრე უბრალოდ UI; მას აქვს საკუთარი ბექენდი, რომელიც Python-ზე მუშაობს. იმის გამო, რომ ამ გაკვეთილის მიზნებისთვის არ გვსურს Comfy-ის კვანძებზე დაფუძნებული UI-ის გამოყენება, საჭიროა კოდის ექსპორტი წმინდა Python-ზე გასაშვებად. საბედნიეროდ, Peyton DeNiro-მ შექმნა შესანიშნავი ComfyUI-to-Python-Extension გაფართოება, რომელიც Comfy-ის ნებისმიერ სამუშაო პროცესს Python სკრიპტად ექსპორტს უკეთებს, რაც საშუალებას გაძლევთ გაუშვათ სამუშაო პროცესი UI-ის გაშვების გარეშე. გაფართოების ინსტალაციის ყველაზე მარტივი გზაა: (1) მოძებნეთ „ComfyUI to Python Extension“ ComfyUI Manager გაფართოების Custom Nodes Manager მენიუში და (2) დააინსტალირეთ. შემდეგ, ოფციის გამოსაჩენად, უნდა (3) გადახვიდეთ UI-ის ქვედა მარჯვენა კუთხეში არსებულ პარამეტრებზე, (4) გამორთოთ ახალი მენიუ და (5) დააჭიროთ „Save as Script“. ამით მიიღებთ Python სკრიპტს. ახლა, როდესაც გვაქვს ჩვენი Python სკრიპტი, დროა შევქმნათ Gradio აპლიკაცია, რომელიც მას მოაწყობს. Gradio არის Python-ზე დაფუძნებული ვებ-UI შემქმნელი, რომელიც საშუალებას გვაძლევს შევქმნათ გამარტივებული აპლიკაციები. თუ ის უკვე არ გაქვთ, შეგიძლიათ დააინსტალიროთ თქვენს Python გარემოში ბრძანებით: `pip install gradio`. შემდეგ, ჩვენ მოგვიწევს ჩვენი Python სკრიპტის ოდნავ გადაწყობა, რათა შევქმნათ მისთვის UI. რჩევა: LLM-ებს, როგორიცაა ChatGPT, Claude, Qwen, Gemini, LLama 3 და სხვა, იციან Gradio აპლიკაციების შექმნა. თქვენი ექსპორტირებული Python სკრიპტის მათთვის მიწოდება და Gradio აპლიკაციის შექმნის თხოვნა ძირითად დონეზე იმუშავებს, მაგრამ სავარაუდოდ დაგჭირდებათ რაიმეს გამოსწორება იმ ცოდნით, რასაც ამ გაკვეთილში მიიღებთ. ამ გაკვეთილის მიზნებისთვის, ჩვენ თვითონ შევქმნით აპლიკაციას. გახსენით ექსპორტირებული Python სკრიპტი და დაამატეთ Gradio-ს იმპორტი: ```python import gradio as gr ``` ახლა, უნდა ვიფიქროთ UI-ზე – რომელი პარამეტრების გამოტანა გვსურს რთული ComfyUI სამუშაო პროცესიდან ჩვენს UI-ში? Flux[dev] Redux + Flux[dev] Depth ComfyUI სამუშაო პროცესისთვის, მე მინდა გამოვფინო: prompt, სტრუქტურის გამოსახულება, სტილის გამოსახულება, სიღრმის სიძლიერე (სტრუქტურისთვის) და სტილის სიძლიერე. *ვიდეო, რომელიც ასახავს, თუ რომელი კვანძები იქნება ხელმისაწვდომი საბოლოო მომხმარებლისთვის* ამისათვის, მინიმალური Gradio აპლიკაცია იქნებოდა: ```python # აქ განთავსდება Gradio-ს UI კოდი, რომელიც გამოიყენებს ზემოთ მოყვანილ პარამეტრებს ``` *ასე გამოიყურება აპლიკაცია რენდერირების შემდეგ* მაგრამ თუ მის გაშვებას შეეცდებით, ის ჯერ არ იმუშავებს, რადგან ახლა უნდა დავაყენოთ `generate_image` ფუნქცია ჩვენი ექსპორტირებული Python სკრიპტის `def main()` ფუნქციის შეცვლით: ```python # main ფუნქციის მოდიფიკაცია generate_image-ის გამოსაყენებლად ``` და ფუნქციის შიგნით, უნდა ვიპოვოთ სასურველი კვანძების ხისტი კოდირებული მნიშვნელობები და შევცვალოთ ისინი ცვლადებით, როგორიცაა: ```python # ცვლადების ჩასმა ხისტი კოდირებული მნიშვნელობების ნაცვლად ``` და ჩვენი გამოსავლისთვის, უნდა ვიპოვოთ გამოსახულების შენახვის გამომავალი კვანძი და ექსპორტი გავუკეთოთ მის გზას, მაგალითად: ```python # გამოსავალი გამოსახულების გზის ექსპორტი ``` *ნახეთ ამ მოდიფიკაციების ვიდეო მიმოხილვა:* ახლა უკვე მზად უნდა ვიყოთ კოდის გასაშვებად! შეინახეთ თქვენი Python ფაილი, როგორც `app.py`, დაამატეთ ის თქვენი ComfyUI საქაღალდის ძირში და გაუშვით, როგორც: ```bash python app.py ``` და სწორედ ასე, თქვენ შეძლებთ თქვენი Gradio აპლიკაციის გაშვებას `http://0.0.0.0:7860`-ზე. ამ პროცესის გამართვისთვის, შეამოწმეთ აქ განსხვავება ComfyUI-to-Python-Extension-ის მიერ ექსპორტირებულ ორიგინალურ Python ფაილსა და Gradio აპლიკაციას შორის. ორივეს ჩამოტვირთვა შეგიძლიათ ამ URL-ზე, რათა შეამოწმოთ და შეადაროთ თქვენს საკუთარ სამუშაო პროცესს. სულ ესაა, გილოცავთ! თქვენ მოახერგეთ თქვენი ComfyUI სამუშაო პროცესის Gradio აპლიკაციად გადაქცევა. შეგიძლიათ მისი ლოკალურად გაშვება ან თუნდაც URL-ის გაგზავნა მომხმარებლისთვის ან მეგობრისთვის, თუმცა, თუ თქვენს კომპიუტერს გამორთავთ ან 72 საათი გავა, დროებითი Gradio ბმული გაუქმდება. აპლიკაციის მასპინძლობისთვის მდგრადი სტრუქტურისთვის – მათ შორის იმის ნებაზე დართვა, რომ ადამიანებმა უფასოდ გაუშვან ის სერვერული მეთოდით – შეგიძლიათ გამოიყენოთ Hugging Face Spaces. ახლა, როდესაც ჩვენი Gradio დემო მუშაობს, შეიძლება გაგვიჩნდეს ცდუნება, რომ ყველაფერი უბრალოდ ავტვირთოთ Hugging Face Spaces-ზე. თუმცა, ეს მოითხოვს ათობით გიგაბაიტიანი მოდელების ატვირთვას Hugging Face-ზე, რაც არა მხოლოდ ნელია, არამედ არასაჭიროც, რადგან ყველა ეს მოდელი უკვე არსებობს Hugging Face-ზე! ამის ნაცვლად, ჩვენ ჯერ დავაინსტალირებთ `pip install huggingface_hub`, თუ ის ჯერ არ გვაქვს, და შემდეგ უნდა გავაკეთოთ შემდეგი ჩვენი `app.py` ფაილის თავში: ```python # Hugging Face მოდელების დაკავშირების კოდი ``` ეს დააკავშირებს ComfyUI-ზე არსებულ ყველა ლოკალურ მოდელს მათ Hugging Face ვერსიებთან. სამწუხაროდ, ამჟამად არ არსებობს ამ პროცესის ავტომატიზების გზა; თქვენ უნდა იპოვოთ თქვენი სამუშაო პროცესის მოდელები Hugging Face-ზე და დააკავშიროთ ისინი იმავე ComfyUI საქაღალდეებთან. თუ თქვენ იყენებთ მოდელებს, რომლებიც არ არის Hugging Face-ზე, უნდა იპოვოთ გზა, რომ პროგრამულად ჩამოტვირთოთ ისინი სწორ საქაღალდეში.