collab: Don't record billing events if billing is not enabled (#19102)
This PR adjusts the billing logic to not write any records to `billing_events` if: - The user is staff, as we don't want to bill staff members - Billing is disabled (we currently enable billing based on the presence of the Stripe API key) Release Notes: - N/A
This commit is contained in:
parent
b739cfa73f
commit
c709b66f35
2 changed files with 11 additions and 2 deletions
|
@ -639,6 +639,7 @@ where
|
||||||
impl<S> Drop for TokenCountingStream<S> {
|
impl<S> Drop for TokenCountingStream<S> {
|
||||||
fn drop(&mut self) {
|
fn drop(&mut self) {
|
||||||
let state = self.state.clone();
|
let state = self.state.clone();
|
||||||
|
let is_llm_billing_enabled = state.config.is_llm_billing_enabled();
|
||||||
let claims = self.claims.clone();
|
let claims = self.claims.clone();
|
||||||
let provider = self.provider;
|
let provider = self.provider;
|
||||||
let model = std::mem::take(&mut self.model);
|
let model = std::mem::take(&mut self.model);
|
||||||
|
@ -652,7 +653,14 @@ impl<S> Drop for TokenCountingStream<S> {
|
||||||
provider,
|
provider,
|
||||||
&model,
|
&model,
|
||||||
tokens,
|
tokens,
|
||||||
claims.has_llm_subscription,
|
// We're passing `false` here if LLM billing is not enabled
|
||||||
|
// so that we don't write any records to the
|
||||||
|
// `billing_events` table until we're ready to bill users.
|
||||||
|
if is_llm_billing_enabled {
|
||||||
|
claims.has_llm_subscription
|
||||||
|
} else {
|
||||||
|
false
|
||||||
|
},
|
||||||
Cents(claims.max_monthly_spend_in_cents),
|
Cents(claims.max_monthly_spend_in_cents),
|
||||||
Utc::now(),
|
Utc::now(),
|
||||||
)
|
)
|
||||||
|
|
|
@ -409,7 +409,8 @@ impl LlmDatabase {
|
||||||
monthly_usage.output_tokens as usize,
|
monthly_usage.output_tokens as usize,
|
||||||
);
|
);
|
||||||
|
|
||||||
if spending_this_month > FREE_TIER_MONTHLY_SPENDING_LIMIT
|
if !is_staff
|
||||||
|
&& spending_this_month > FREE_TIER_MONTHLY_SPENDING_LIMIT
|
||||||
&& has_llm_subscription
|
&& has_llm_subscription
|
||||||
&& spending_this_month <= max_monthly_spend
|
&& spending_this_month <= max_monthly_spend
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue