Files
video-gen/video-gen-api/app/enums/llm_billing.py
T
2026-08-12 11:49:53 +08:00

77 lines
3.0 KiB
Python

from __future__ import annotations
from enum import StrEnum
class LlmBillingLedgerState(StrEnum):
MISSING = "missing"
ACTIVE = "active"
SUCCEEDED = "succeeded"
REFUNDED = "refunded"
FINAL_FAILED = "final_failed"
INVALID = "invalid"
BILLING_BYPASSED = "invalid" # 历史兼容;新系统不允许绕过计费
RELEASED = "refunded" # 历史兼容别名
CHARGED = "active" # 当前 attempt 已完成真实消费,可继续执行
class LlmBillingExecutionStatus(StrEnum):
CHARGED = "charged"
PRE_DEDUCTED = "pre_deducted" # 历史兼容;新数据不得再创建
PROCESSING = "processing"
SUCCEEDED = "succeeded"
FINAL_FAILED = "final_failed"
REFUNDED = "refunded"
REFUND_FAILED = "refund_failed"
class LlmCallAttemptStatus(StrEnum):
STARTED = "started"
SUCCEEDED = "succeeded"
FAILED = "failed"
TIMEOUT = "timeout"
UNKNOWN = "unknown"
class LlmBillingEvent(StrEnum):
CHARGE_START = "LLM_CHARGE_START"
CHARGE_IDEMPOTENT_HIT = "LLM_CHARGE_IDEMPOTENT_HIT"
CHARGE_SUCCESS = "LLM_CHARGE_SUCCESS"
CHARGE_INSUFFICIENT = "LLM_CHARGE_INSUFFICIENT"
CHARGE_CONFIG_INVALID = "LLM_CHARGE_CONFIG_INVALID"
EXECUTION_VALIDATE_START = "LLM_EXECUTION_VALIDATE_START"
EXECUTION_VALIDATE_SUCCESS = "LLM_EXECUTION_VALIDATE_SUCCESS"
EXECUTION_BLOCKED = "LLM_EXECUTION_BLOCKED"
PROVIDER_START = "LLM_PROVIDER_START"
PROVIDER_SUCCESS = "LLM_PROVIDER_SUCCESS"
PROVIDER_FAILURE = "LLM_PROVIDER_FAILURE"
POSTPROCESS_FAILURE = "LLM_POSTPROCESS_FAILURE"
TOKEN_USAGE_CREATED = "LLM_TOKEN_USAGE_CREATED"
TOKEN_USAGE_REUSED = "LLM_TOKEN_USAGE_REUSED"
BUSINESS_SUCCESS = "LLM_BUSINESS_SUCCESS"
FINAL_FAILURE_START = "LLM_FINAL_FAILURE_START"
FINAL_FAILURE_REFUND_SUCCESS = "LLM_FINAL_FAILURE_REFUND_SUCCESS"
FINAL_FAILURE_REFUND_FAILED = "LLM_FINAL_FAILURE_REFUND_FAILED"
CELERY_DISPATCH_START = "LLM_CELERY_DISPATCH_START"
CELERY_DISPATCH_SUCCESS = "LLM_CELERY_DISPATCH_SUCCESS"
CELERY_DISPATCH_FAILURE = "LLM_CELERY_DISPATCH_FAILURE"
CELERY_DISPATCH_COMPENSATED = "LLM_CELERY_DISPATCH_COMPENSATED"
RETRY_PREVIOUS_ATTEMPT_VALIDATE_START = "LLM_RETRY_PREVIOUS_ATTEMPT_VALIDATE_START"
RETRY_PREVIOUS_ATTEMPT_VALIDATE_SUCCESS = "LLM_RETRY_PREVIOUS_ATTEMPT_VALIDATE_SUCCESS"
RETRY_PREVIOUS_ATTEMPT_BLOCKED = "LLM_RETRY_PREVIOUS_ATTEMPT_BLOCKED"
class LlmBillingDomain(StrEnum):
LLM_BILLING = "llm_billing"
LLM_BILLING_SCENE_LABELS = {
"generation_record_text_prompt_optimize": "AI创作-提示词优化",
"hot_opening_image_prompt_optimize": "爆款开头复刻-图片提示词优化",
"hot_opening_video_prompt_optimize": "爆款开头复刻-视频提示词优化",
"shot_image_prompt_optimize": "拆镜复刻-图片提示词优化",
"shot_video_prompt_optimize": "拆镜复刻-视频提示词优化",
"shot_original_video_analysis": "拆镜复刻-原视频AI分析",
"shot_segment_video_analysis": "拆镜复刻-片段视频AI分析",
}