""" Quick Groq budget check — prints how many tokens/requests you have left. Usage: python check_tokens.py Reads GROQ_API_KEY from the environment (same one the app uses). Makes one tiny call and reads the rate-limit headers Groq returns on every response. """ import os from groq import Groq MODEL = os.environ.get("GROQ_MODEL", "llama-3.1-8b-instant") def main() -> None: key = os.environ.get("GROQ_API_KEY") if not key: print("GROQ_API_KEY not set in this terminal.") return client = Groq(api_key=key) # .with_raw_response gives us the HTTP headers, not just the parsed body. raw = client.chat.completions.with_raw_response.create( model=MODEL, messages=[{"role": "user", "content": "ping"}], max_tokens=1, ) h = raw.headers print(f"Model: {MODEL}\n") print("Per-minute window:") print(f" tokens remaining : {h.get('x-ratelimit-remaining-tokens', '?')} / {h.get('x-ratelimit-limit-tokens', '?')}") print(f" requests remaining: {h.get('x-ratelimit-remaining-requests', '?')} / {h.get('x-ratelimit-limit-requests', '?')}") print(f" tokens reset in : {h.get('x-ratelimit-reset-tokens', '?')}") print(f" requests reset in : {h.get('x-ratelimit-reset-requests', '?')}") if __name__ == "__main__": main()