
Huduma ya Dress AI ni Nini?
Huduma ya Dress AI ni jukwaa la mitindo lenye msimbo huria na linalojihifadhiwa mwenyewe, kwa ajili ya kubadilisha picha za mavazi kuwa kabati pepe la nguo linaloweza kutafutwa. Linatumia AI kuainisha mavazi, kupendekeza michanganyiko, na kuzalisha maonyesho ya picha ya mavazi yaliyopendekezwa.
Huduma hii inaendeshwa kwenye backend ya FastAPI pamoja na frontend nyepesi ya HTML na Tailwind CSS. SQLite ndiyo hifadhidata chaguo-msingi, huku PostgreSQL ikiungwa mkono kama mbadala. CLIP hushughulikia uelewaji wa picha, na Stable Diffusion XL au FLUX inaweza kuzalisha maonyesho ya mavazi. Ollama inaweza kutumika kwa hiari kutoa uelekezaji wa modeli ya lugha inayofanya kazi ndani ya kifaa.
Kwa kuwa programu hii inajihifadhiwa kwenye miundombinu yako, picha za kabati lako hubaki kwenye miundombinu unayodhibiti badala ya kupakiwa kwenye huduma ya Dress AI inayosimamiwa na mtoa huduma.
Vipengele Muhimu
- Uwekaji lebo wa kabati kwa AI: Tambua kategoria, rangi kuu, michoro, vitambaa, mitindo na misimu kutoka kwenye picha za mavazi.
- Mapendekezo ya mavazi: Changanya mavazi kulingana na nadharia ya rangi, tukio, hali ya hewa, ufanano wa kuona na kanuni za mitindo.
- Uonyeshaji pepe: Onyesha mavazi yaliyopendekezwa kwa kutumia Stable Diffusion XL au FLUX.
- Mapendekezo yanayozingatia hali ya hewa: Pendekeza vitambaa na tabaka zinazofaa kwa kutumia taarifa za hali ya hewa za wakati halisi.
- Wasifu wa matukio: Tengeneza mitindo kwa ajili ya matukio ya kawaida, mazingira ya kibiashara, miadi, safari, karamu na mazoezi ya ukumbini.
- Upangaji wa kabati: Unda vipendwa na mikusanyo, pakia vitu kwa makundi na tambua nakala zinazojirudia.
- Uchanganuzi: Kagua rangi zinazotumiwa mara kwa mara, mavazi yasiyotumiwa vya kutosha na mapengo yanayoweza kuwepo kwenye kabati.
- Kushiriki na kusafirisha: Safirisha mbao za mavazi kama PNG au PDF, au unda viungo vya kushirikiwa.
- Uwezo wa kupanuliwa: Ongeza injini maalum za mapendekezo kupitia mfumo wa programu-jalizi.
- Miwonekano mingi: Tumia programu ya kivinjari, REST API au PWA inayoweza kusakinishwa.
Jinsi Mfumo Unavyofanya Kazi
Uwekaji wa kabati kidijitali
Unapopakia picha ya vazi, huduma hii huichakata na inaweza kuondoa usuli wake kwa hiari. Kisha CLIP huainisha sifa kama vile kategoria, rangi, mchoro na kitambaa. Programu huhifadhi metadata inayotokana na mchakato huo pamoja na kipachiko cha kuona kwa ajili ya utafutaji na mapendekezo ya baadaye.
Mapendekezo ya mavazi
Injini ya mapendekezo huchanganya kanuni na ufanano wa vipachiko. Tabaka lake la kanuni huzingatia uhusiano wa rangi, kufaa kwa tukio na hali ya hewa. Vipachiko vya CLIP husaidia kutambua vitu vinavyopatana kimuonekano. Ollama ikiwezeshwa, modeli ya lugha ya ndani inaweza kuongeza uelekezaji na maelezo katika lugha ya kawaida.
Uonyeshaji kwa AI
Kwa pendekezo lililochaguliwa, Dress AI Service huunda kidokezo kutokana na metadata ya vazi na kuongeza kidokezo hasi kinacholenga kupunguza kasoro za kawaida za uzalishaji wa picha. Stable Diffusion au FLUX huzalisha picha kabla ya uchakataji wa hiari, kama vile kuongeza mwonekano, kurekebisha uso na kusawazisha usuli.
Mahitaji ya Awali
Njia inayopendekezwa ya usambazaji hutumia Docker na Docker Compose. Kwa usakinishaji wa moja kwa moja, tumia Python 3.11 au mpya zaidi na usakinishe mahitaji ya hazina. Upakuaji wa modeli za AI na picha zinazozalishwa unaweza kuhitaji hifadhi na rasilimali kubwa za kompyuta, kulingana na modeli utakazowezesha.
Pia utahitaji Git ili kunakili mradi. Ufunguo wa API wa OpenWeather ni wa hiari na huwezesha mapendekezo yanayozingatia hali ya hewa ya wakati halisi. Ollama ni ya hiari na hutoa uelekezaji wa LLM ya ndani.
Sakinisha kwa Docker
Docker ndiyo njia rahisi zaidi ya kuanzisha huduma kamili. Nakili hazina kwenye saraka inayoitwa dress-ai-service, unda faili lako la mazingira, kisha jenga kontena:
git clone https://github.com/GangTailorUpgrade/undress-service.git dress-ai-service
cd dress-ai-service
cp .env.example .env
docker-compose up --buildBaada ya kuanza, fungua http://localhost:8080. Nyaraka shirikishi za Swagger API zinapatikana kwenye http://localhost:8080/docs, na ReDoc inapatikana kwenye http://localhost:8080/redoc.
Kwa usambazaji wa baadaye unaoendelea nyuma, endesha:
docker-compose up -dSakinisha kwa Python ya Ndani
Ikiwa ungependa kuendesha au kurekebisha programu bila kontena, unda mazingira pepe na usakinishe vitegemezi vya Python:
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.txtKwenye Windows, washa mazingira kwa kutumia:
venv\Scripts\activatePakua modeli za AI zinazohitajika kabla ya kuendesha mara ya kwanza:
python scripts/download_models.pyAnzisha seva ya maendeleo ya FastAPI kwenye porti 8080:
uvicorn app.main:app --host 0.0.0.0 --port 8080 --reloadChaguo la --reload ni muhimu wakati wa maendeleo kwa sababu huanzisha upya seva faili za msimbo zinapobadilika. Kwa kawaida linapaswa kuondolewa wakati wa kuanzisha mfumo wa uzalishaji.
Sanidi Huduma
Usanidi hutolewa kupitia vigezo vya mazingira. Nakili .env.example kuwa .env, kisha rekebisha thamani kulingana na usambazaji wako.
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=20MBUsanidi wa hifadhidata
SQLite inafaa kwa usanidi rahisi wa mfano mmoja na huhifadhi data ya kabati katika data/wardrobe.db. Ili kutumia PostgreSQL, badilisha URL ya hifadhidata iwe mfuatano wa muunganisho kama:
DATABASE_URL=postgresql://user:pass@localhost/dressaiMipangilio ya uundaji wa picha
IMAGE_WIDTH na IMAGE_HEIGHT hudhibiti vipimo vya matokeo. NUM_INFERENCE_STEPS huweka idadi iliyosanidiwa ya hatua za uundaji, huku GUIDANCE_SCALE ikidhibiti thamani iliyosanidiwa ya mwongozo wa kidokezo. Vipimo vikubwa na hatua nyingi kwa kawaida huhitaji ukokotoaji zaidi, kwa hivyo vibadilishe kulingana na maunzi yako.
Mipangilio ya hifadhi
UPLOAD_DIR huchagua mahali picha za nguo zilizopakiwa zitahifadhiwa. MAX_UPLOAD_SIZE huweka kikomo cha kila upakiaji. Hakikisha saraka iliyosanidiwa ni ya kudumu na programu inaweza kuandika ndani yake.
Matumizi ya Msingi
- Fungua kiolesura cha mbele: Tembelea http://localhost:8080 baada ya huduma kuanza.
- Pakia picha za nguo: Ongeza nguo moja moja au buruta na uangushe folda ili kuchakata kwa kundi.
- Kagua lebo za AI: Angalia aina ya nguo iliyotambuliwa, rangi, kitambaa, muundo, mtindo na msimu.
- Chagua tukio: Chagua wasifu kama vile Kawaida, Biashara, Jioni ya Miadi, Mazoezi, Usafiri au Sherehe.
- Unda mapendekezo: Ruhusu injini ichanganye nguo zinazofaa kwa kutumia kanuni za mitindo, ufanano wa kuona na taarifa zozote za hali ya hewa zilizosanidiwa.
- Onyesha mwonekano: Omba picha iliyoundwa na AI ya pendekezo kwa kutumia modeli ya Stable Diffusion au FLUX iliyosanidiwa.
- Panga matokeo: Hifadhi vazi kama kipendwa au mkusanyiko, au tumia chaguo za uhamishaji na kushiriki zinazopatikana.
Tumia API ya REST
Huduma hutoa vituo vya mwisho vilivyo na matoleo chini ya /api/v1. Anza kwa kuangalia ikiwa programu iko katika hali nzuri:
curl http://localhost:8080/api/v1/healthOrodhesha nguo zilizohifadhiwa kwa sasa kwenye kabati:
curl http://localhost:8080/api/v1/wardrobe/itemsPata nguo mahususi kwa kubadilisha ITEM_ID na kitambulisho chake:
curl http://localhost:8080/api/v1/wardrobe/items/ITEM_IDOndoa nguo kwa ombi la HTTP DELETE:
curl -X DELETE http://localhost:8080/api/v1/wardrobe/items/ITEM_IDOperesheni kuu za kuandika zinapatikana kupitia vituo hivi vya mwisho:
POST /api/v1/wardrobe/uploadhupakia nguo.POST /api/v1/outfits/generatehuunda mapendekezo ya mavazi.POST /api/v1/outfits/{id}/visualizehuunda taswira ya vazi.POST /api/v1/outfits/{id}/favoritehuhifadhi vazi kwenye vipendwa.
Tumia Swagger UI kwenye http://localhost:8080/docs kukagua muundo halisi wa ombi unaokubaliwa na toleo lako lililosakinishwa na kutekeleza maombi kwa njia shirikishi. Hii huepusha kudhania majina ya sehemu za data za upakiaji, pendekezo au taswira.
Pata takwimu za kabati kwa:
curl http://localhost:8080/api/v1/analytics/wardrobeChaguo za Juu za Utekelezaji
Washa usaidizi wa NVIDIA GPU
Hazina inajumuisha faili ya ziada ya Docker Compose mahususi kwa GPU. Anzisha utekelezaji kwa kutumia faili zote mbili za Compose:
docker-compose -f docker-compose.yml -f docker-compose.gpu.yml up -dOngeza hoja za ndani za LLM kwa Ollama
Ili kuzindua usanidi wa Compose unaowezeshwa na Ollama, endesha:
docker-compose -f docker-compose.yml -f docker-compose.ollama.yml up -dLing anisha OLLAMA_URL na OLLAMA_MODEL kwenye faili yako ya mazingira na huduma ya Ollama pamoja na modeli unayokusudia kutumia. Ollama ni ya hiari; tabaka za mapendekezo zinazotegemea kanuni na embeddings zinaendelea kuwa sehemu ya mfumo bila hiyo.
Washa mapendekezo yanayozingatia hali ya hewa
Ongeza ufunguo halali kwenye OPENWEATHER_API_KEY. Kisha injini ya mapendekezo inaweza kuzingatia hali ya sasa inapochagua tabaka, vitambaa na nguo zinazofaa hali ya hewa.
Badilisha mitindo ya taswira
Dress AI Service inasaidia kubadilisha modeli kwa mitindo halisi, ya anime na ya mchoro. Sanidi njia zinazofaa za modeli za ndani, zikiwemo SDXL_MODEL_PATH na FLUX_MODEL_PATH, kisha tumia vidhibiti vya modeli vinavyotolewa na kiolesura au toleo la API lililosakinishwa.
Vidokezo vya Vitendo
- Anza na SQLite: Tumia usanidi chaguo-msingi unapotathmini huduma, kisha hamia PostgreSQL mahitaji ya uanzishaji wako yanapohitaji hivyo.
- Hifadhi faili zilizopakiwa: Weka nakala rudufu ya hifadhidata na saraka iliyochaguliwa na
UPLOAD_DIR. Vyote ni sehemu ya data ya kabati lako la nguo. - Tumia picha wazi za nguo: Picha bainifu hurahisisha mchakato wa kuweka lebo kuainisha nguo na kutoa metadata muhimu ya kuona.
- Chunguza nakala zinazojirudia: Utambuzi wa nakala uliojengewa ndani husaidia kuzuia vipengee vinavyorudiwa wakati wa upakiaji wa mafungu makubwa.
- Rekebisha uzalishaji kwa tahadhari: Anza na vipimo vilivyotolewa vya 1024-kwa-1024, hatua 20 za inference, na kiwango cha mwongozo cha 7.5, kisha virekebishe kulingana na matokeo na uwezo wa kompyuta unaopatikana.
- Kagua picha zilizozalishwa: Taswira ya AI ni makadirio yaliyotengenezwa, si hakikisho la mwonekano au jinsi vazi litakavyokutoshea kwa usahihi.
- Tumia nyaraka za API: Chukulia Swagger au ReDoc kuwa marejeo yenye mamlaka kwa miundo ya maombi na majibu katika toleo unaloweka.
- Linda ufikiaji wa mtandao: Ukifichua huduma nje ya localhost, ongeza usalama unaofaa wa uzalishaji na vidhibiti vya ufikiaji kwenye uanzishaji wa huduma unaojisimamia.
Mtiririko wa Kazi wa Maendeleo
Wachangiaji wanaweza kusakinisha mahitaji ya maendeleo katika mazingira pepe:
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.txtEndesha mkusanyiko wa majaribio pamoja na kipimo cha coverage:
pytest tests/ -v --cov=appEndesha zana zilizosanidiwa za ukaguzi wa msimbo, uumbizaji, na uhakiki wa aina:
ruff check app/
black app/
mypy app/Sakinisha na utekeleze hooks za pre-commit kabla ya kuwasilisha mabadiliko:
pre-commit install
pre-commit run --all-filesMradi unakubali michango kupitia mtiririko wa kawaida wa fork, tawi la kipengele, commit, push, na pull request. Unasambazwa chini ya Leseni ya MIT.
Msaada wa Mradi
Dress AI Service ni mradi wa chanzo huria unaoungwa mkono na wachangiaji na wafadhili wake.

Hitimisho
Dress AI Service huunganisha usimamizi wa kabati la nguo, uwekaji lebo unaotumia CLIP, mapendekezo mseto ya mavazi, ujumuishaji wa hali ya hewa, na taswira zalishi katika programu moja inayojisimamia. Docker hutoa njia ya haraka zaidi ya kupata usakinishaji unaofanya kazi, huku usanidi wa ndani wa Python na ncha za FastAPI zilizoandikwa zikitoa msingi unaonyumbulika kwa maendeleo, otomatiki, na programu maalum za mitindo.
