huge fix
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -25,7 +25,7 @@ def get_bot_client(request: Request) -> Bot:
|
|||||||
return request.app.state.bot
|
return request.app.state.bot
|
||||||
|
|
||||||
def get_s3_adapter(request: Request) -> Optional[S3Adapter]:
|
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)
|
# Провайдер DAO (собирается из mongo_client)
|
||||||
def get_dao(
|
def get_dao(
|
||||||
@@ -40,6 +40,7 @@ def get_dao(
|
|||||||
def get_generation_service(
|
def get_generation_service(
|
||||||
dao: DAO = Depends(get_dao),
|
dao: DAO = Depends(get_dao),
|
||||||
gemini: GoogleAdapter = Depends(get_gemini_client),
|
gemini: GoogleAdapter = Depends(get_gemini_client),
|
||||||
|
s3_adapter: S3Adapter = Depends(get_s3_adapter),
|
||||||
bot: Bot = Depends(get_bot_client),
|
bot: Bot = Depends(get_bot_client),
|
||||||
) -> GenerationService:
|
) -> GenerationService:
|
||||||
return GenerationService(dao, gemini, bot)
|
return GenerationService(dao, gemini, s3_adapter, bot)
|
||||||
Binary file not shown.
@@ -153,8 +153,8 @@ class GenerationService:
|
|||||||
reference_assets: List[Asset] = []
|
reference_assets: List[Asset] = []
|
||||||
media_group_bytes: List[bytes] = []
|
media_group_bytes: List[bytes] = []
|
||||||
generation_prompt = f"""
|
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
|
$char_bio_inserted
|
||||||
2. SCENE DESCRIPTION: {generation.prompt}
|
2. SCENE DESCRIPTION: {generation.prompt}
|
||||||
|
|||||||
@@ -10,12 +10,9 @@ services:
|
|||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
depends_on:
|
depends_on:
|
||||||
- minio
|
- minio
|
||||||
env_file:
|
|
||||||
- .env
|
|
||||||
environment:
|
environment:
|
||||||
# Важно: внутри докера к другим контейнерам обращаемся по имени сервиса!
|
# Важно: внутри докера к другим контейнерам обращаемся по имени сервиса!
|
||||||
MINIO_ENDPOINT: "http://minio:9000"
|
MINIO_ENDPOINT: "http://minio:9000"
|
||||||
MODE: production
|
|
||||||
|
|
||||||
minio:
|
minio:
|
||||||
image: minio/minio:latest
|
image: minio/minio:latest
|
||||||
|
|||||||
4
main.py
4
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
|
from api.endpoints.generation_router import router as api_gen_router
|
||||||
|
|
||||||
load_dotenv()
|
load_dotenv()
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
# --- КОНФИГУРАЦИЯ ---
|
# --- КОНФИГУРАЦИЯ ---
|
||||||
BOT_TOKEN = os.getenv("BOT_TOKEN")
|
BOT_TOKEN = os.getenv("BOT_TOKEN")
|
||||||
@@ -66,7 +67,7 @@ char_repo = CharacterRepo(mongo_client)
|
|||||||
|
|
||||||
# S3 Adapter
|
# S3 Adapter
|
||||||
s3_adapter = S3Adapter(
|
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_access_key_id=os.getenv("MINIO_ACCESS_KEY", "minioadmin"),
|
||||||
aws_secret_access_key=os.getenv("MINIO_SECRET_KEY", "minioadmin"),
|
aws_secret_access_key=os.getenv("MINIO_SECRET_KEY", "minioadmin"),
|
||||||
bucket_name=os.getenv("MINIO_BUCKET", "ai-char")
|
bucket_name=os.getenv("MINIO_BUCKET", "ai-char")
|
||||||
@@ -195,7 +196,6 @@ if __name__ == "__main__":
|
|||||||
|
|
||||||
setup_logging()
|
setup_logging()
|
||||||
|
|
||||||
|
|
||||||
async def main():
|
async def main():
|
||||||
# Создаем конфигурацию uvicorn вручную
|
# Создаем конфигурацию uvicorn вручную
|
||||||
# loop="asyncio" заставляет использовать стандартный цикл
|
# loop="asyncio" заставляет использовать стандартный цикл
|
||||||
|
|||||||
Reference in New Issue
Block a user