feat: claude paid optimize (#890)

This commit is contained in:
takatost
2023-08-17 16:56:20 +08:00
committed by GitHub
parent 2f7b234cc5
commit 9adbeadeec
10 changed files with 69 additions and 25 deletions

View File

@@ -125,6 +125,8 @@ class BaseLLM(BaseProviderModel):
completion_tokens = self.get_num_tokens([PromptMessage(content=completion_content, type=MessageType.ASSISTANT)])
total_tokens = prompt_tokens + completion_tokens
self.model_provider.update_last_used()
if self.deduct_quota:
self.model_provider.deduct_quota(total_tokens)

View File

@@ -183,6 +183,8 @@ class AnthropicProvider(BaseModelProvider):
return {
'product_id': hosted_model_providers.anthropic.paid_stripe_price_id,
'increase_quota': hosted_model_providers.anthropic.paid_increase_quota,
'min_quantity': hosted_model_providers.anthropic.paid_min_quantity,
'max_quantity': hosted_model_providers.anthropic.paid_max_quantity,
}
return None

View File

@@ -31,7 +31,9 @@ class HostedAnthropic(BaseModel):
"""Quota limit for the anthropic hosted model. 0 means unlimited."""
paid_enabled: bool = False
paid_stripe_price_id: str = None
paid_increase_quota: int = 1
paid_increase_quota: int = 1000000
paid_min_quantity: int = 20
paid_max_quantity: int = 100
class HostedModelProviders(BaseModel):
@@ -73,4 +75,6 @@ def init_app(app: Flask):
paid_enabled=app.config.get("HOSTED_ANTHROPIC_PAID_ENABLED"),
paid_stripe_price_id=app.config.get("HOSTED_ANTHROPIC_PAID_STRIPE_PRICE_ID"),
paid_increase_quota=app.config.get("HOSTED_ANTHROPIC_PAID_INCREASE_QUOTA"),
paid_min_quantity=app.config.get("HOSTED_ANTHROPIC_PAID_MIN_QUANTITY"),
paid_max_quantity=app.config.get("HOSTED_ANTHROPIC_PAID_MAX_QUANTITY"),
)

View File

@@ -5,10 +5,11 @@
],
"system_config": {
"supported_quota_types": [
"paid",
"trial"
],
"quota_unit": "times",
"quota_limit": 1000
"quota_unit": "tokens",
"quota_limit": 600000
},
"model_flexibility": "fixed"
}