From 2f8de7a29877e2131a27134f39039fbad8d415d1 Mon Sep 17 00:00:00 2001 From: xds Date: Fri, 6 Feb 2026 21:54:25 +0300 Subject: [PATCH] huge fix --- __pycache__/main.cpython-313.pyc | Bin 7728 -> 7802 bytes api/__pycache__/dependency.cpython-313.pyc | Bin 2155 -> 2185 bytes api/dependency.py | 5 +++-- .../generation_service.cpython-313.pyc | Bin 20071 -> 19966 bytes api/service/generation_service.py | 4 ++-- docker-compose.yml | 3 --- main.py | 4 ++-- 7 files changed, 7 insertions(+), 9 deletions(-) diff --git a/__pycache__/main.cpython-313.pyc b/__pycache__/main.cpython-313.pyc index 38fcd5b4cd313f5a3e5943e447a81619df27b0f8..06281cf6b41db6c8fd43540de8612431e81f37c2 100644 GIT binary patch delta 1175 zcmbtUOHUI~7`=DeDSa?$!GbUi&{U)qvE?<9fda~_gw}#{8`H`Ml?4G4A7o(R$`ThY z+!(xxVXub7MA1xKneY!JQQ`|XvN7&#LQD)RZ(HYT6I?NiJLfz1oHO4yuNTpSsI)Ih zPQ;F%k-JyltV#8F@nvuoV@&h7)&qkIE^H#Cp94X=L-#7ZbPK!0A+z$3IxZRhOV)F8 z#3X5}AUQ^1EPyzZ5^8Eu9@Tn6ZvucDV#i5PWab72&wXD7X zepZ`ZeiPid)UVTGqOgf_Ou>X= zDY^8EP{BBF(KSj=sRC(bN(~aAk<&pYf*3<>MKs0GnIh7(4Yoz!T0+4Tl!{UwUm;~q z=tl(w^;?^AhbxtGC6C|$y2=z!`348tGY&a`P+?dSR5 zs$d2%f7cQG(})F}Jwiai|DOivy4Zg#4RrxTx*<&zRnRk#(O%K-Vlb8|J}y3P34r>~ zScfb6$`$mIt;v$oHt8+fd2yQE%1ydu>x%#klK$Q_LUZihAc)}jj6MV70i^u7q92g~ z_I1oQB0$Y1Ena)-A5AEcHerT^(UX4J$q2&dzq@iSx4+ zFB>`cv;`Z+mukTHwbA3P7Vw-AudTAkj)nP^#Lb0;d41QO&EA;1KA+9*+O9E%X6ips zRgO9zvpxzxfaMLElb1Z79G;I3`JF>v@7ZxQuiEGj`H?lYQ#Ecp^bsLutq>dXUQv|3 z+THhE_grfubnLy|mp_55@~?a|s%+Rtf++3TEAt{dA1qh1=xz7$WC(4CY{?GGb~|S4 EZ``Wg3;+NC delta 1033 zcmb7DOHUI~6ux(+GnAGI6gw13Xt64ff;0vz83cJ)EVa<4a|5Yz;y{c72@07KV~kN( z#uyWWcj3l`uMpj-vy$JSxF9Zc1^$92Yz!+;Ur-_}n8iKc`ObIGJ?GB3JAI$}lx;R@3bw_kPj6+v04a7@9a}0dQ46-(jn&S{aJO<+s4U2`% zW&$dZbLV#rvvy5jK~yFo21(Y@iXw<0>dd2YM5ps8slO?2vslO(F55h@6dW8)m6~lP zhbVgXEBH;DU&LJeiOsJj_4ogu$g`r_-j?f$b!oJ0cS`?ou)3oK)iH>$kS3JryN{^v zIimj1{QQR$bWK2gfUvVL!NNEylQ79QWtID7w>XL2pOgK0n=aaWXjA$}{z@K_(vU-c zd1PXobZe5 HK8ouYm^|7THTRRo$MJ^3P&B)j@W zZuJW+>XSWKa~YKG$xtK#Vv7NZTO2mI`6;D2sdhz%KrYBN#s4OkvnPmX%y9p}z{sev zf@6c^MGfmOAok?f?B4D&$_xB1%NXC}7n@LbnP2TACmW;n4Njg9%s~19kK_kdApL=j dK~U-gJBY=>z{UFkq~-$`1Dp6aZXgS6Jph~dQ$7Fy delta 432 zcmeAad@Z2xtIag;g#Jt1QUb;BuMU@&b$HWIxtiMwQ8XSdDq1mH^c=FtASk!z!f{%7n1FNDwGo z#114hnTu3GY&8%e3nYp`IwyOuDavU886aE?Qry7sg^Phlc1G|D<;&c97g+Qrx3it) z205%q1w?2}j%SzRG6FI|UM_w!xtTpd#A=572L?t)s}&p@Brj@Me*v*4e`ohLje(2z14!lr2Lqe Bot: return request.app.state.bot def get_s3_adapter(request: Request) -> Optional[S3Adapter]: - return getattr(request.app.state, "s3_adapter", None) + return request.app.state.s3_adapter # Провайдер DAO (собирается из mongo_client) def get_dao( @@ -40,6 +40,7 @@ def get_dao( def get_generation_service( dao: DAO = Depends(get_dao), gemini: GoogleAdapter = Depends(get_gemini_client), + s3_adapter: S3Adapter = Depends(get_s3_adapter), bot: Bot = Depends(get_bot_client), ) -> GenerationService: - return GenerationService(dao, gemini, bot) \ No newline at end of file + return GenerationService(dao, gemini, s3_adapter, bot) \ No newline at end of file diff --git a/api/service/__pycache__/generation_service.cpython-313.pyc b/api/service/__pycache__/generation_service.cpython-313.pyc index 6c4cdc8aa76bf6ddf02492cd92db40671b969d74..5abea4a3dcc2d452728a0f21f5d781ad053ecf06 100644 GIT binary patch delta 84 zcmaDphwIQlT-6j^%OSmHC`nJ03@0ky#N3J delta 190 zcmXwyJqiLb6olPYNMS1$bAZKWyKODR-p2CDK4T#J67mCfc3whHU?-l#(ldAfdoe3G z)xhw5^Ep?qOQqgQjYlQz>|`D{HEE8|F-kTrg93vDeDE9+d~m%_V9`dH19mQ8>72HV zRZp4)&HRTh0#hm^qLH%J=s1zF+|>|DIgo`V(YY{x>EJSh1iBn>pk$n2OOZR2lJ*=K NMtn}Oy|0_=^b5geL9PG* diff --git a/api/service/generation_service.py b/api/service/generation_service.py index e217ab1..da752dc 100644 --- a/api/service/generation_service.py +++ b/api/service/generation_service.py @@ -153,8 +153,8 @@ class GenerationService: reference_assets: List[Asset] = [] media_group_bytes: List[bytes] = [] generation_prompt = f""" - You are an expert prompt engineer for Google Imagen 3. - Create a single, detailed, natural language prompt for image generation based on these inputs: + + Create detailed image of character in scene. $char_bio_inserted 2. SCENE DESCRIPTION: {generation.prompt} diff --git a/docker-compose.yml b/docker-compose.yml index 39e6f92..f4385c1 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -10,12 +10,9 @@ services: restart: unless-stopped depends_on: - minio - env_file: - - .env environment: # Важно: внутри докера к другим контейнерам обращаемся по имени сервиса! MINIO_ENDPOINT: "http://minio:9000" - MODE: production minio: image: minio/minio:latest diff --git a/main.py b/main.py index 20556be..1855801 100644 --- a/main.py +++ b/main.py @@ -38,6 +38,7 @@ from api.endpoints.character_router import router as api_char_router # Роут from api.endpoints.generation_router import router as api_gen_router load_dotenv() +logger = logging.getLogger(__name__) # --- КОНФИГУРАЦИЯ --- BOT_TOKEN = os.getenv("BOT_TOKEN") @@ -66,7 +67,7 @@ char_repo = CharacterRepo(mongo_client) # S3 Adapter s3_adapter = S3Adapter( - endpoint_url=os.getenv("MINIO_ENDPOINT", "http://localhost:9000"), + endpoint_url=os.getenv("MINIO_ENDPOINT", "http://31.59.58.220:9000"), aws_access_key_id=os.getenv("MINIO_ACCESS_KEY", "minioadmin"), aws_secret_access_key=os.getenv("MINIO_SECRET_KEY", "minioadmin"), bucket_name=os.getenv("MINIO_BUCKET", "ai-char") @@ -195,7 +196,6 @@ if __name__ == "__main__": setup_logging() - async def main(): # Создаем конфигурацию uvicorn вручную # loop="asyncio" заставляет использовать стандартный цикл