Spaces:
Running
Running
| import os | |
| import sys | |
| # Dodajemy projekt do PATH, aby importy dzia艂a艂y | |
| sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))) | |
| from core.subscription.callbacks import TokenUsageCallback | |
| from core.subscription.tracker import get_used_tokens | |
| from langchain_core.outputs import LLMResult | |
| def test_token_callback(): | |
| user_id = "test_dev_user" | |
| print("--- TEST 1: Inkrementacja z Callbacku ---") | |
| # Symulacja pustego callbacka | |
| callback = TokenUsageCallback(user_id=user_id) | |
| # Rekonstrukcja fikcyjnego responsu z modelem | |
| # (LLMResult ma atrybut llm_output, kt贸ry uzupe艂nia pole total_tokens za nas po API wywo艂aniu) | |
| fake_response = LLMResult( | |
| generations=[], | |
| llm_output={ | |
| "token_usage": { | |
| "total_tokens": 125, | |
| "prompt_tokens": 75, | |
| "completion_tokens": 50, | |
| } | |
| }, | |
| ) | |
| initial_tokens = get_used_tokens(user_id) | |
| print(f"Pocz膮tkowa pula token贸w dla {user_id}: {initial_tokens}") | |
| # Wywo艂anie sztucznego hook'a | |
| callback.on_llm_end(fake_response) | |
| final_tokens = get_used_tokens(user_id) | |
| print(f"Ko艅cowa pula token贸w w bazie dla {user_id}: {final_tokens}") | |
| if final_tokens == initial_tokens + 125: | |
| print( | |
| "[SUKCES] Callback poprawnie zrzuci艂 u偶ycie 125 token贸w do bazy PostgreSQL!" | |
| ) | |
| else: | |
| print("[B艁膭D] R贸偶nica w zliczaniu token贸w.") | |
| if __name__ == "__main__": | |
| print("Rozpocz臋cie modu艂u sprawdzania poprawno艣ci...") | |
| test_token_callback() | |