from pathlib import Path import json import sys import tempfile import time sys.path.insert(0, r'C:\kefu\wechat_rpa') from admin_backend import Database with tempfile.TemporaryDirectory(prefix='model-usage-query-test-') as temporary: db = Database(Path(temporary) / 'usage.db') db.migrate() _, since, until = db._model_usage_window(7) with db.connect() as connection: connection.execute('BEGIN') connection.executemany('''INSERT INTO model_calls (tenant_id,task_id,created_at) VALUES (?,?,?)''', [('tenant-a', f'task-{i}', since) for i in range(20000)]) connection.executemany('''INSERT INTO model_usage_events (event_id,task_id,tenant_id,purpose,role,attempt,status,latency_ms,created_at,total_tokens) VALUES (?,?,?,'chat','answer',1,'success',1,?,100)''', [(f'event-{i}', f'task-{i}', 'tenant-a', since) for i in range(10000)]) queries = { 'tenant_period': ( 'SELECT SUM(total_tokens) FROM model_usage_events WHERE tenant_id=? AND created_at>=? AND created_at=datetime(?) AND datetime(calls.created_at)