graphiti/graphiti_core
Matthew Mo 50bcb74502
Add dynamic max_tokens configuration for Anthropic models (#1043)
* Add dynamic max_tokens configuration for Anthropic models

Implements model-specific max output token limits for AnthropicClient,
following the same pattern as GeminiClient. This replaces the previous
hardcoded min() cap that was preventing models from using their full
output capacity.

Changes:
- Added ANTHROPIC_MODEL_MAX_TOKENS mapping with limits for all supported
  Claude models (ranging from 4K to 65K tokens)
- Implemented _get_max_tokens_for_model() to lookup model-specific limits
- Implemented _resolve_max_tokens() with clear precedence rules:
  1. Explicit max_tokens parameter
  2. Instance max_tokens from initialization
  3. Model-specific limit from mapping
  4. Default fallback (8192 tokens)

This allows edge_operations.py to request 16384 tokens for edge extraction
without being artificially capped, while ensuring cheaper models with lower
limits are still properly handled.

Resolves TODO in anthropic_client.py:207-208.

* Clarify that max_tokens mapping represents standard limits

Updated comments to explicitly state that ANTHROPIC_MODEL_MAX_TOKENS
represents standard limits without beta headers. This prevents confusion
about extended limits (e.g., Claude 3.7's 128K with beta header) which
are not currently implemented in this mapping.
2025-11-14 08:34:56 -08:00
..
cross_encoder fix typo and model selector (#843) 2025-08-18 11:15:45 -04:00
driver Implement build_indices_and_constraints for Kuzu and Neptune drivers (#1048) 2025-11-05 11:51:59 -05:00
embedder Add Azure OpenAI example with Neo4j (#1064) 2025-11-14 08:34:35 -08:00
llm_client Add dynamic max_tokens configuration for Anthropic models (#1043) 2025-11-14 08:34:56 -08:00
migrations cleanup (#894) 2025-09-05 11:30:46 -04:00
models Fix entity edge save (#1013) 2025-11-08 18:32:51 -08:00
prompts Remove JSON indentation from prompts to reduce token usage (#985) 2025-10-06 16:08:43 -07:00
search [Improvement] Add GraphID isolation support for FalkorDB multi-tenant architecture (#835) 2025-11-03 10:56:53 -05:00
telemetry feat: add telemetry with PostHog and update Docker configurations (#633) 2025-06-27 12:23:30 -07:00
utils [Improvement] Add GraphID isolation support for FalkorDB multi-tenant architecture (#835) 2025-11-03 10:56:53 -05:00
__init__.py chore: Fix packaging (#38) 2024-08-25 10:07:50 -07:00
decorators.py [Improvement] Add GraphID isolation support for FalkorDB multi-tenant architecture (#835) 2025-11-03 10:56:53 -05:00
edges.py add search and graph operations interfaces (#984) 2025-10-07 13:34:37 -04:00
errors.py Add group ID validation and error handling (#618) 2025-06-24 09:33:54 -07:00
graph_queries.py Graph quality updates (#922) 2025-09-23 17:53:39 -04:00
graphiti.py [Improvement] Add GraphID isolation support for FalkorDB multi-tenant architecture (#835) 2025-11-03 10:56:53 -05:00
graphiti_types.py Add OpenTelemetry distributed tracing support (#982) 2025-10-05 12:26:14 -07:00
helpers.py fix-fulltext-syntax-error (#914) 2025-09-23 10:52:44 -04:00
nodes.py fix deprecated cypher pattern (#993) 2025-10-09 16:12:55 -04:00
py.typed Add py.typed file (#105) 2024-09-11 08:44:06 -04:00
tracer.py Add OpenTelemetry distributed tracing support (#982) 2025-10-05 12:26:14 -07:00