Rebase onto upstream (a4d95fd)
#12
@@ -251,10 +251,12 @@ class AnthropicOAuthProvider(LLMProvider):
|
|||||||
payload["temperature"] = temperature
|
payload["temperature"] = temperature
|
||||||
|
|
||||||
if system:
|
if system:
|
||||||
payload["system"] = system
|
payload["system"] = [{"type": "text", "text": system, "cache_control": {"type": "ephemeral", "ttl": "1h"}}]
|
||||||
|
|
||||||
if tools:
|
if tools:
|
||||||
payload["tools"] = tools
|
cached_tools = list(tools)
|
||||||
|
cached_tools[-1] = {**cached_tools[-1], "cache_control": {"type": "ephemeral", "ttl": "1h"}}
|
||||||
|
payload["tools"] = cached_tools
|
||||||
|
|
||||||
logger.info(
|
logger.info(
|
||||||
"Anthropic request: model={} max_tokens={} thinking={} tools={}",
|
"Anthropic request: model={} max_tokens={} thinking={} tools={}",
|
||||||
@@ -384,11 +386,15 @@ class AnthropicOAuthProvider(LLMProvider):
|
|||||||
|
|
||||||
stop_reason = response.get("stop_reason", "end_turn")
|
stop_reason = response.get("stop_reason", "end_turn")
|
||||||
thinking_chars = sum(len(b.get("thinking", "")) for b in thinking_blocks) if thinking_blocks else 0
|
thinking_chars = sum(len(b.get("thinking", "")) for b in thinking_blocks) if thinking_blocks else 0
|
||||||
|
raw_usage = response.get("usage", {})
|
||||||
|
cache_write = raw_usage.get("cache_creation_input_tokens", 0)
|
||||||
|
cache_read = raw_usage.get("cache_read_input_tokens", 0)
|
||||||
logger.info(
|
logger.info(
|
||||||
"Anthropic response: stop={} tool_calls={} thinking={} chars, "
|
"Anthropic response: stop={} tool_calls={} thinking={} chars, "
|
||||||
"input={} output={} tokens",
|
"input={} output={} cache_write={} cache_read={} tokens",
|
||||||
stop_reason, len(tool_calls), thinking_chars,
|
stop_reason, len(tool_calls), thinking_chars,
|
||||||
usage.get("prompt_tokens", 0), usage.get("completion_tokens", 0),
|
usage.get("prompt_tokens", 0), usage.get("completion_tokens", 0),
|
||||||
|
cache_write, cache_read,
|
||||||
)
|
)
|
||||||
|
|
||||||
return LLMResponse(
|
return LLMResponse(
|
||||||
|
|||||||
Reference in New Issue
Block a user