diff --git a/__pycache__/main.cpython-313.pyc b/__pycache__/main.cpython-313.pyc index 38fcd5b..06281cf 100644 Binary files a/__pycache__/main.cpython-313.pyc and b/__pycache__/main.cpython-313.pyc differ diff --git a/api/__pycache__/dependency.cpython-313.pyc b/api/__pycache__/dependency.cpython-313.pyc index 515c6ce..ce1b3df 100644 Binary files a/api/__pycache__/dependency.cpython-313.pyc and b/api/__pycache__/dependency.cpython-313.pyc differ diff --git a/api/dependency.py b/api/dependency.py index 3dabd86..c0b4937 100644 --- a/api/dependency.py +++ b/api/dependency.py @@ -25,7 +25,7 @@ def get_bot_client(request: Request) -> 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 6c4cdc8..5abea4a 100644 Binary files a/api/service/__pycache__/generation_service.cpython-313.pyc and b/api/service/__pycache__/generation_service.cpython-313.pyc differ 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" заставляет использовать стандартный цикл