fleet-memory/hindsight-clients/python
Alexander Pinsker 29a542dc23
feat: Add per-request LLM token usage metrics (#117)
* feat: Record LLM token metrics via Prometheus

Wire up the existing token metrics infrastructure to actually record
token usage from LLM calls. The MetricsCollector already had
record_tokens() method and Prometheus counters (hindsight.tokens.input,
hindsight.tokens.output), but they were never being populated.

Changes:
- Import get_metrics_collector in llm_wrapper.py
- Call record_tokens() after successful LLM calls for:
  - OpenAI/Groq (using response.usage.prompt_tokens, completion_tokens)
  - Anthropic (using response.usage.input_tokens, output_tokens)
  - Gemini (using response.usage_metadata.prompt_token_count, candidates_token_count)
- Add test file to verify token metrics are recorded

Note: Ollama's native API doesn't return token usage, so metrics
are not recorded for that provider.

The token metrics will now be available via /metrics endpoint:
- hindsight_tokens_input_total
- hindsight_tokens_output_total

* feat: add per-request token usage tracking to retain and reflect endpoints

- Add TokenUsage model with input_tokens, output_tokens, total_tokens
- Return usage metrics in retain response (sync operations only)
- Return usage metrics in reflect response
- Update Python, TypeScript, and Rust clients
- Add API documentation for usage fields
- Add changelog entry
2026-01-08 10:36:58 +01:00
..
.openapi-generator feat: Add per-request LLM token usage metrics (#117) 2026-01-08 10:36:58 +01:00
hindsight_client Fix Python SDK not sending Authorization header (#106) 2026-01-07 09:46:50 +01:00
hindsight_client_api feat: Add per-request LLM token usage metrics (#117) 2026-01-08 10:36:58 +01:00
tests feat: add max_tokens and structured output to /reflect (#74) 2026-01-01 17:09:39 +01:00
.openapi-generator-ignore rename to hindsight (#2) 2025-11-25 19:28:26 +01:00
openapi-generator-config.yaml doc: changelog for 0.2.0 (and regenerate clients) (#99) 2026-01-05 12:36:29 +01:00
pyproject.toml Release v0.2.1 2026-01-05 12:36:49 +01:00
README.md fix py client 2025-12-05 01:03:07 +01:00

Hindsight Python Client