diff --git a/api/endpoints/generation_router.py b/api/endpoints/generation_router.py index f035001..fa890c1 100644 --- a/api/endpoints/generation_router.py +++ b/api/endpoints/generation_router.py @@ -8,8 +8,8 @@ from api import service from api.dependency import get_generation_service, get_project_id, get_dao from repos.dao import DAO -from api.models.GenerationRequest import GenerationResponse, GenerationRequest, GenerationsResponse, PromptResponse, PromptRequest, GenerationGroupResponse -from api.models.FinancialUsageDTO import FinancialReport +from api.models import GenerationResponse, GenerationRequest, GenerationsResponse, PromptResponse, PromptRequest, GenerationGroupResponse +from api.models import FinancialReport from api.service.generation_service import GenerationService from models.Generation import Generation diff --git a/api/models/FinancialUsageDTO.py b/api/models/FinancialUsageDTO.py new file mode 100644 index 0000000..90f1afd --- /dev/null +++ b/api/models/FinancialUsageDTO.py @@ -0,0 +1,18 @@ +from pydantic import BaseModel +from typing import List, Optional + +class UsageStats(BaseModel): + total_runs: int + total_tokens: int + total_input_tokens: int + total_output_tokens: int + total_cost: float + +class UsageByEntity(BaseModel): + entity_id: Optional[str] = None + stats: UsageStats + +class FinancialReport(BaseModel): + summary: UsageStats + by_user: Optional[List[UsageByEntity]] = None + by_project: Optional[List[UsageByEntity]] = None diff --git a/api/models/__init__.py b/api/models/__init__.py index e69de29..de960aa 100644 --- a/api/models/__init__.py +++ b/api/models/__init__.py @@ -0,0 +1,7 @@ +from .AssetDTO import AssetResponse, AssetsResponse +from .CharacterDTO import CharacterCreateRequest, CharacterUpdateRequest +from .ExternalGenerationDTO import ExternalGenerationDTO +from .FinancialUsageDTO import FinancialReport, UsageStats, UsageByEntity +from .GenerationRequest import GenerationRequest, GenerationResponse, GenerationsResponse, GenerationGroupResponse, PromptRequest, PromptResponse +from .IdeaRequest import IdeaRequest +from .PostRequest import PostRequest diff --git a/api/service/generation_service.py b/api/service/generation_service.py index 8fc36aa..3a0df32 100644 --- a/api/service/generation_service.py +++ b/api/service/generation_service.py @@ -12,8 +12,8 @@ from aiogram import Bot from aiogram.types import BufferedInputFile from adapters.Exception import GoogleGenerationException from adapters.google_adapter import GoogleAdapter -from api.models.GenerationRequest import GenerationRequest, GenerationResponse, GenerationsResponse, GenerationGroupResponse -from api.models.FinancialUsageDTO import FinancialReport, UsageStats, UsageByEntity +from api.models import GenerationRequest, GenerationResponse, GenerationsResponse, GenerationGroupResponse +from api.models import FinancialReport, UsageStats, UsageByEntity # Импортируйте ваши модели DAO, Asset, Generation корректно from models.Asset import Asset, AssetType, AssetContentType from models.Generation import Generation, GenerationStatus