115 lines
3.7 KiB
Python
115 lines
3.7 KiB
Python
from __future__ import annotations
|
|
|
|
from enum import Enum
|
|
|
|
|
|
class ModelPricingProvider(str, Enum):
|
|
VOLCENGINE = "volcengine"
|
|
|
|
|
|
class ModelPricingCategory(str, Enum):
|
|
TEXT = "text"
|
|
IMAGE = "image"
|
|
VIDEO = "video"
|
|
|
|
|
|
class ModelPricingBillingMode(str, Enum):
|
|
TEXT_TOKEN_TIERED = "text_token_tiered"
|
|
IMAGE_PER_OUTPUT = "image_per_output"
|
|
IMAGE_INPUT_OUTPUT_TIERED = "image_input_output_tiered"
|
|
VIDEO_TOKEN_RATE = "video_token_rate"
|
|
|
|
|
|
class ModelPricingCalculatorVersion(str, Enum):
|
|
TEXT_TOKEN_TIERED_V1 = "text_token_tiered_v1"
|
|
IMAGE_PER_OUTPUT_V1 = "image_per_output_v1"
|
|
IMAGE_INPUT_OUTPUT_TIERED_V1 = "image_input_output_tiered_v1"
|
|
VIDEO_PIXEL_TOKEN_V1 = "video_pixel_token_v1"
|
|
|
|
|
|
class ModelPricingRuleStatus(str, Enum):
|
|
DRAFT = "draft"
|
|
PUBLISHED = "published"
|
|
DISABLED = "disabled"
|
|
|
|
|
|
class ProviderCostStatus(str, Enum):
|
|
NOT_APPLICABLE = "not_applicable"
|
|
NOT_INCURRED = "not_incurred"
|
|
PENDING = "pending"
|
|
CALCULATED = "calculated"
|
|
ESTIMATED = "estimated"
|
|
UNMATCHED_RULE = "unmatched_rule"
|
|
USAGE_MISSING = "usage_missing"
|
|
ERROR = "error"
|
|
PROVIDER_RESULT_UNCERTAIN = "provider_result_uncertain"
|
|
HISTORICAL_PRICE_UNAVAILABLE = "historical_price_unavailable"
|
|
HISTORICAL_ENGINE_UNAVAILABLE = "historical_engine_unavailable"
|
|
|
|
|
|
class PricingUsageSource(str, Enum):
|
|
PROVIDER = "provider"
|
|
PROVIDER_RESPONSE = "provider_response"
|
|
REQUEST_FORMULA = "request_formula"
|
|
ENGINE_SNAPSHOT = "engine_snapshot"
|
|
PRICING_RULE_MAP = "pricing_rule_map"
|
|
BACKFILL = "backfill"
|
|
MANUAL = "manual"
|
|
UNAVAILABLE = "unavailable"
|
|
|
|
|
|
class PricingSnapshotStage(str, Enum):
|
|
REQUEST_LOCKED = "request_locked"
|
|
PROVIDER_SYNC_COMPLETED = "provider_sync_completed"
|
|
PROVIDER_ASYNC_COMPLETED = "provider_async_completed"
|
|
RESOURCE_DOWNLOAD_COMPLETED = "resource_download_completed"
|
|
BACKFILL = "backfill"
|
|
|
|
|
|
class PricingDimensionSource(str, Enum):
|
|
PROVIDER_RESPONSE = "provider_response"
|
|
REQUEST_EXPLICIT = "request_explicit"
|
|
ENGINE_SNAPSHOT = "engine_snapshot"
|
|
PRICING_RULE_MAP = "pricing_rule_map"
|
|
UNAVAILABLE = "unavailable"
|
|
|
|
|
|
class PricingBillBy(str, Enum):
|
|
SUCCESSFUL_OUTPUT_COUNT = "successful_output_count"
|
|
REQUESTED_OUTPUT_COUNT = "requested_output_count"
|
|
PROVIDER_BILLED_COUNT = "provider_billed_count"
|
|
|
|
|
|
class PricingInferenceMode(str, Enum):
|
|
ONLINE = "online"
|
|
FLEX = "flex"
|
|
BATCH = "batch"
|
|
|
|
|
|
MODEL_PRICING_BILLING_MODE_LABELS = {
|
|
ModelPricingBillingMode.TEXT_TOKEN_TIERED.value: "文本分档 Token 计价",
|
|
ModelPricingBillingMode.IMAGE_PER_OUTPUT.value: "图片按输出数量计价",
|
|
ModelPricingBillingMode.IMAGE_INPUT_OUTPUT_TIERED.value: "输入图片 + 输出像素分档计价",
|
|
ModelPricingBillingMode.VIDEO_TOKEN_RATE.value: "视频像素 Token 计价",
|
|
}
|
|
|
|
MODEL_PRICING_RULE_STATUS_LABELS = {
|
|
ModelPricingRuleStatus.DRAFT.value: "草稿",
|
|
ModelPricingRuleStatus.PUBLISHED.value: "已发布",
|
|
ModelPricingRuleStatus.DISABLED.value: "已停用",
|
|
}
|
|
|
|
PROVIDER_COST_STATUS_LABELS = {
|
|
ProviderCostStatus.NOT_APPLICABLE.value: "不涉及供应商成本",
|
|
ProviderCostStatus.NOT_INCURRED.value: "供应商费用未发生",
|
|
ProviderCostStatus.PENDING.value: "待核算",
|
|
ProviderCostStatus.CALCULATED.value: "已核算",
|
|
ProviderCostStatus.ESTIMATED.value: "估算",
|
|
ProviderCostStatus.UNMATCHED_RULE.value: "未匹配价格",
|
|
ProviderCostStatus.USAGE_MISSING.value: "用量缺失",
|
|
ProviderCostStatus.ERROR.value: "核算异常",
|
|
ProviderCostStatus.PROVIDER_RESULT_UNCERTAIN.value: "供应商结果不确定",
|
|
ProviderCostStatus.HISTORICAL_PRICE_UNAVAILABLE.value: "历史价格缺失",
|
|
ProviderCostStatus.HISTORICAL_ENGINE_UNAVAILABLE.value: "历史引擎缺失",
|
|
}
|