Asosiy kontentga o‘tish
AI qo‘llanmalari

Dress AI Service yordamida shaxsiy AI garderob stilistini yarating

Dress AI Service’ni Docker yoki Python yordamida ishga tushirish, kiyimlarni AI teglari bilan raqamlashtirish, ob-havoga mos obraz tavsiyalarini yaratish va virtual obraz vizualizatsiyalarini tayyorlashni o‘rganing. Ushbu qo‘llanmada API’dan foydalanish, lokal modelni sozlash, GPU’da ishga tushirish, Ollama integratsiyasi va dasturlash vositalari ham yoritiladi.

Dress AI Service yordamida shaxsiy AI garderob stilisti

Dress AI Service nima?

Dress AI Service — kiyim fotosuratlarini qidiriladigan virtual garderobga aylantirish uchun mo‘ljallangan ochiq kodli, o‘zingiz boshqaradigan moda platformasi. U kiyimlarni AI yordamida tasniflaydi, kombinatsiyalarni tavsiya qiladi va taklif etilgan obrazlarning vizual ko‘rinishlarini yaratadi.

Xizmat FastAPI backend’i hamda yengil HTML va Tailwind CSS frontend’i asosida ishlaydi. Standart ma’lumotlar bazasi SQLite bo‘lib, PostgreSQL ham muqobil sifatida qo‘llab-quvvatlanadi. CLIP tasvirlarni tushunish uchun, Stable Diffusion XL yoki FLUX esa obraz vizualizatsiyalarini yaratish uchun ishlatiladi. Ollama ixtiyoriy ravishda mahalliy til modeli asosidagi mantiqiy tahlilni taqdim etishi mumkin.

Ilova o‘zingiz boshqaradigan infratuzilmada ishlagani sababli, garderob fotosuratlari joylashtirilgan Dress AI xizmatiga yuklanmaydi, balki siz nazorat qiladigan infratuzilmada saqlanadi.

Asosiy imkoniyatlar

  • AI yordamida garderobni belgilash: Kiyim fotosuratlaridan kategoriya, asosiy ranglar, naqshlar, matolar, uslublar va fasllarni aniqlash.
  • Obraz tavsiyalari: Ranglar nazariyasi, tadbir turi, ob-havo, vizual o‘xshashlik va moda qoidalariga asoslanib kiyimlarni birlashtirish.
  • Virtual vizualizatsiya: Stable Diffusion XL yoki FLUX yordamida tavsiya etilgan obrazlarni tasvirlash.
  • Ob-havoga mos tavsiyalar: Real vaqt ob-havo ma’lumotlaridan foydalanib, mos mato va kiyim qatlamlarini tavsiya qilish.
  • Tadbir profillari: Norasmiy tadbirlar, biznes muhitlari, uchrashuvlar, sayohatlar, bazmlar va sport zaliga borish uchun obrazlar yaratish.
  • Garderobni tartibga solish: Sevimlilar va to‘plamlar yaratish, kiyimlarni guruhlab yuklash hamda dublikatlarni aniqlash.
  • Tahlil: Ko‘p ishlatiladigan ranglar, kam foydalaniladigan kiyimlar va garderobdagi ehtimoliy yetishmovchiliklarni ko‘rib chiqish.
  • Ulashish va eksport: Obraz taxtalarini PNG yoki PDF sifatida eksport qilish yoki ulashiladigan havolalar yaratish.
  • Kengaytirish imkoniyati: Plagin tizimi orqali maxsus tavsiya mexanizmlarini qo‘shish.
  • Bir nechta interfeys: Brauzer ilovasi, REST API yoki o‘rnatiladigan PWA’dan foydalanish.

Tizim qanday ishlaydi

Garderobni raqamlashtirish

Kiyim tasvirini yuklaganingizda, xizmat uni qayta ishlaydi va xohishga ko‘ra fonini olib tashlashi mumkin. Keyin CLIP kategoriya, rang, naqsh va mato kabi xususiyatlarni tasniflaydi. Ilova hosil bo‘lgan metama’lumotlar va keyingi qidiruvlar hamda tavsiyalar uchun vizual embeddingni saqlaydi.

Obraz tavsiyalari

Tavsiya mexanizmi qoidalarni embedding o‘xshashligi bilan birlashtiradi. Uning qoidalarga asoslangan qatlami ranglar o‘rtasidagi munosabatlar, tadbirga moslik va ob-havo sharoitlarini hisobga oladi. CLIP embeddinglari vizual jihatdan uyg‘un kiyimlarni aniqlashga yordam beradi. Ollama yoqilgan bo‘lsa, mahalliy til modeli tabiiy tildagi mantiqiy izohlar va tavsiflarni qo‘shishi mumkin.

AI vizualizatsiyasi

Tanlangan tavsiya uchun Dress AI Service kiyim metama’lumotlari asosida prompt yaratadi va tasvir generatsiyasidagi keng tarqalgan artefaktlarni kamaytirishga mo‘ljallangan negative promptni qo‘shadi. Stable Diffusion yoki FLUX tasvirni yaratadi, undan keyin esa xohishga ko‘ra kattalashtirish, yuzni tiklash va fon uyg‘unligini sozlash kabi qayta ishlash amallari bajariladi.

Zarur shartlar

Tavsiya etiladigan joylashtirish usuli Docker va Docker Compose’dan foydalanadi. To‘g‘ridan-to‘g‘ri o‘rnatish uchun Python 3.11 yoki undan yangiroq versiyadan foydalaning va repository talablarini o‘rnating. AI modellari va yaratilgan tasvirlarni yuklab olish, yoqilgan modellarga qarab, katta hajmdagi saqlash joyi va hisoblash resurslarini talab qilishi mumkin.

Loyihani klonlash uchun Git ham kerak bo‘ladi. OpenWeather API kaliti ixtiyoriy bo‘lib, real vaqt ob-havosiga mos tavsiyalarni yoqadi. Ollama ham ixtiyoriy bo‘lib, mahalliy LLM mantiqiy tahlilini taqdim etadi.

Docker yordamida o‘rnatish

Docker to‘liq xizmatni ishga tushirishning eng sodda usulidir. Repository’ni dress-ai-service nomli katalogga klonlang, muhit faylingizni yarating va konteynerlarni quring:

git clone https://github.com/GangTailorUpgrade/undress-service.git dress-ai-service
cd dress-ai-service
cp .env.example .env
docker-compose up --build

Ishga tushirgandan so‘ng http://localhost:8080 manzilini oching. Interaktiv Swagger API hujjatlari http://localhost:8080/docs manzilida, ReDoc esa http://localhost:8080/redoc manzilida mavjud.

Keyingi ajratilgan joylashtirishlar uchun quyidagini bajaring:

docker-compose up -d

Mahalliy Python yordamida o‘rnatish

Ilovani konteynersiz ishga tushirmoqchi yoki o‘zgartirmoqchi bo‘lsangiz, virtual muhit yarating va Python bog‘liqliklarini o‘rnating:

git clone https://github.com/GangTailorUpgrade/undress-service.git dress-ai-service
cd dress-ai-service
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt

Windows tizimida muhitni quyidagi buyruq bilan faollashtiring:

venv\Scripts\activate

Birinchi ishga tushirishdan oldin zarur AI modellarini yuklab oling:

python scripts/download_models.py

FastAPI ishlab chiqish serverini 8080-portda ishga tushiring:

uvicorn app.main:app --host 0.0.0.0 --port 8080 --reload

--reload parametri ishlab chiqish jarayonida foydali, chunki manba fayllari o‘zgarganda serverni qayta ishga tushiradi. Ishlab chiqarish muhitida ishga tushirganda odatda undan foydalanmaslik kerak.

Xizmatni sozlash

Sozlamalar muhit o‘zgaruvchilari orqali beriladi. .env.example faylini .env ga nusxalang, so‘ng qiymatlarni joylashtirishingizga moslab o‘zgartiring.

HOST=0.0.0.0
PORT=8080
DEBUG=false

DATABASE_URL=sqlite:///data/wardrobe.db

USE_LOCAL_MODELS=true
SDXL_MODEL_PATH=models/sd-xl-base
FLUX_MODEL_PATH=models/flux-schnell
CLIP_MODEL=openai/clip-vit-large-patch14

OLLAMA_URL=http://localhost:11434
OLLAMA_MODEL=llama3.2

OPENWEATHER_API_KEY=your_key_here

IMAGE_WIDTH=1024
IMAGE_HEIGHT=1024
NUM_INFERENCE_STEPS=20
GUIDANCE_SCALE=7.5

UPLOAD_DIR=data/uploads
MAX_UPLOAD_SIZE=20MB

Maʼlumotlar bazasi konfiguratsiyasi

SQLite oddiy, yagona nusxali sozlama uchun mos keladi va garderob maʼlumotlarini data/wardrobe.db manzilida saqlaydi. PostgreSQLʼdan foydalanish uchun maʼlumotlar bazasi URL manzilini quyidagiga oʼxshash ulanish satri bilan almashtiring:

DATABASE_URL=postgresql://user:pass@localhost/dressai

Rasm yaratish sozlamalari

IMAGE_WIDTH va IMAGE_HEIGHT chiqish oʼlchamlarini boshqaradi. NUM_INFERENCE_STEPS sozlangan generatsiya bosqichlari sonini belgilaydi, GUIDANCE_SCALE esa prompt yoʼnaltirishining sozlangan qiymatini boshqaradi. Kattaroq oʼlchamlar va koʼproq bosqichlar odatda koʼproq hisoblash resurslarini talab qiladi, shuning uchun ularni qurilmangiz imkoniyatlariga moslang.

Saqlash sozlamalari

UPLOAD_DIR yuklangan garderob rasmlari qayerda saqlanishini belgilaydi. MAX_UPLOAD_SIZE har bir yuklamaning hajmini cheklaydi. Sozlangan katalog doimiy va ilova uchun yozish huquqiga ega ekanini taʼminlang.

Asosiy foydalanish

  1. Frontendni oching: Xizmat ishga tushgach, http://localhost:8080 manziliga kiring.
  2. Kiyim rasmlarini yuklang: Alohida kiyimlarni qoʼshing yoki ommaviy qayta ishlash uchun jildni sudrab olib keling.
  3. AI teglarini tekshiring: Aniqlangan kiyim toifasi, ranglar, mato, naqsh, uslub va mavsumni tekshiring.
  4. Tadbirni tanlang: Casual, Business, Date Night, Gym, Travel yoki Party kabi profilni tanlang.
  5. Tavsiyalar yarating: Dvigatel moda qoidalari, vizual oʼxshashlik va sozlangan ob-havo maʼlumotlaridan foydalanib, mos garderob buyumlarini birlashtirsin.
  6. Obrazni vizuallashtiring: Sozlangan Stable Diffusion yoki FLUX modelidan foydalanib, tavsiya uchun AI yaratgan tasvirni soʼrang.
  7. Natijani tartibga soling: Obrazni sevimlilar yoki toʼplamga saqlang, yoxud mavjud eksport va ulashish imkoniyatlaridan foydalaning.

REST APIʼdan foydalanish

Xizmat versiyalangan endpointlarni /api/v1 ostida taqdim etadi. Avval ilova sogʼlom ishlayotganini tekshiring:

curl http://localhost:8080/api/v1/health

Hozir garderobda saqlangan kiyimlarni roʼyxatlang:

curl http://localhost:8080/api/v1/wardrobe/items

ITEM_ID oʼrniga uning identifikatorini kiritib, muayyan buyumni oling:

curl http://localhost:8080/api/v1/wardrobe/items/ITEM_ID

HTTP DELETE soʼrovi yordamida buyumni oʼchiring:

curl -X DELETE http://localhost:8080/api/v1/wardrobe/items/ITEM_ID

Asosiy yozish amallari quyidagi endpointlar orqali taqdim etiladi:

  • POST /api/v1/wardrobe/upload kiyim buyumini yuklaydi.
  • POST /api/v1/outfits/generate obraz tavsiyalarini yaratadi.
  • POST /api/v1/outfits/{id}/visualize obraz vizuallashtirilishini yaratadi.
  • POST /api/v1/outfits/{id}/favorite obrazni sevimlilarga saqlaydi.

Oʼrnatilgan versiyangiz qabul qiladigan aniq soʼrov sxemasini koʼrish va soʼrovlarni interaktiv bajarish uchun http://localhost:8080/docs manzilidagi Swagger UIʼdan foydalaning. Bu yuklash, tavsiya yoki vizuallashtirish maʼlumotlari uchun maydon nomlarini taxmin qilish zaruratini bartaraf etadi.

Garderob tahlilini quyidagicha oling:

curl http://localhost:8080/api/v1/analytics/wardrobe

Ilgʼor joylashtirish imkoniyatlari

NVIDIA GPU qoʼllab-quvvatlashini yoqing

Repozitoriy GPU uchun maxsus Docker Compose override faylini oʼz ichiga oladi. Joylashtirishni ikkala Compose fayli bilan ishga tushiring:

docker-compose -f docker-compose.yml -f docker-compose.gpu.yml up -d

Ollama yordamida mahalliy LLM mulohazasini qoʼshing

Ollama yoqilgan Compose konfiguratsiyasini ishga tushirish uchun quyidagini bajaring:

docker-compose -f docker-compose.yml -f docker-compose.ollama.yml up -d

Atrof-muhit faylingizdagi OLLAMA_URL va OLLAMA_MODEL qiymatlarini foydalanmoqchi boʼlgan Ollama xizmati va modeliga moslang. Ollama ixtiyoriy; qoidalar va embeddinglarga asoslangan tavsiya qatlamlari usiz ham tizimning bir qismi boʼlib qoladi.

Ob-havoni hisobga oluvchi tavsiyalarni yoqing

OPENWEATHER_API_KEY ga yaroqli kalit qoʼshing. Shundan soʼng tavsiya dvigateli qatlamlar, matolar va ob-havoga mos kiyimlarni tanlashda joriy sharoitlarni hisobga olishi mumkin.

Vizuallashtirish uslublarini almashtiring

Dress AI Service realistik, anime va eskiz uslublari uchun modellarni almashtirishni qoʼllab-quvvatlaydi. SDXL_MODEL_PATH va FLUX_MODEL_PATH kabi tegishli mahalliy model yoʼllarini sozlang hamda oʼrnatilgan interfeys yoki API versiyangiz taqdim etadigan model boshqaruvlaridan foydalaning.

Amaliy maslahatlar

  • SQLite’dan boshlang: Xizmatni baholash vaqtida standart konfiguratsiyadan foydalaning, keyin joylashtirish talablari zarur bo‘lganda PostgreSQL’ga o‘ting.
  • Yuklangan fayllarni saqlang: Ma’lumotlar bazasi va UPLOAD_DIR tomonidan tanlangan katalogning zaxira nusxasini yarating. Ikkalasi ham garderob ma’lumotlaringizning bir qismidir.
  • Kiyimlarning aniq suratlaridan foydalaning: Farqlanishi oson tasvirlar teglar qo‘yish tizimiga kiyimlarni tasniflash va foydali vizual metama’lumotlarni ajratib olishni osonlashtiradi.
  • Dublikatlarni tekshiring: Ichki dublikatlarni aniqlash funksiyasi katta hajmdagi paketli yuklashlarda takroriy buyumlarning oldini olishga yordam beradi.
  • Generatsiyani ehtiyotkorlik bilan sozlang: Taqdim etilgan 1024-ga-1024 o‘lchamlar, 20 ta inferensiya qadami va 7.5 yo‘naltirish koeffitsiyentidan boshlang, so‘ng natija va mavjud hisoblash resurslariga qarab ularni moslang.
  • Generatsiya qilingan tasvirlarni ko‘rib chiqing: AI vizualizatsiyasi kiyimning aniq mosligi yoki ko‘rinishini kafolatlamaydigan, generatsiya qilingan taxminiy tasvirdir.
  • API hujjatlaridan foydalaning: Joylashtirilgan versiyadagi so‘rov va javob sxemalari uchun Swagger yoki ReDoc’ni asosiy manba sifatida qabul qiling.
  • Tarmoq orqali kirishni himoyalang: Xizmatni localhost’dan tashqarida ochsangiz, o‘zingiz joylashtirgan tizim uchun tegishli ishlab chiqarish xavfsizligi va kirish nazoratlarini qo‘shing.

Ishlab chiqish jarayoni

Hissa qo‘shuvchilar ishlab chiqish uchun zarur talablarni virtual muhitga o‘rnatishlari mumkin:

git clone https://github.com/GangTailorUpgrade/undress-service.git dress-ai-service
cd dress-ai-service
python -m venv venv
source venv/bin/activate
pip install -r requirements-dev.txt

Testlar to‘plamini qamrov bilan ishga tushiring:

pytest tests/ -v --cov=app

Sozlangan linting, formatlash va turlarni tekshirish vositalarini ishga tushiring:

ruff check app/
black app/
mypy app/

O‘zgarishlarni yuborishdan oldin pre-commit hook’larini o‘rnating va ishga tushiring:

pre-commit install
pre-commit run --all-files

Loyiha standart fork, xususiyatlar tarmog‘i, commit, push va pull-request jarayoni orqali hissa qo‘shishlarni qabul qiladi. U MIT litsenziyasi asosida tarqatiladi.

Loyihani qo‘llab-quvvatlash

Dress AI Service — hissa qo‘shuvchilar va homiylar tomonidan qo‘llab-quvvatlanadigan ochiq kodli loyiha.

Dress AI Service homiylik grafigi

Xulosa

Dress AI Service garderobni boshqarish, CLIP asosidagi teglar, gibrid kiyim kombinatsiyasi tavsiyalari, ob-havo integratsiyasi va generativ vizualizatsiyani bitta o‘zi joylashtiriladigan ilovada birlashtiradi. Docker ishlaydigan o‘rnatishga eng tez yo‘lni taqdim etadi, mahalliy Python sozlamalari va hujjatlashtirilgan FastAPI endpoint’lari esa ishlab chiqish, avtomatlashtirish va maxsus moda ilovalari uchun moslashuvchan asos yaratadi.