@@ -19,8 +19,9 @@ API_KEYS=your-generated-api-key-here
1919REQUIRE_API_AUTH = true
2020
2121# BYOK (Bring Your Own Key) Mode
22- # When enabled, users can provide their own OpenRouter API key via X-OpenRouter-Key header
23- # Their key is used for LLM calls (billing goes to their account)
22+ # When enabled, users can provide their own Anthropic API key (sk-ant-...)
23+ # via the X-Anthropic-Key header. Their key is used for LLM calls against
24+ # the first-party Anthropic API (billing goes to their account).
2425# Set to "false" to require server API keys only
2526ALLOW_BYOK = true
2627
@@ -40,58 +41,63 @@ ALLOW_LOCALHOST_CORS=true
4041# LLM Provider Configuration
4142# ============================================================================
4243
43- # Provider: "openrouter" (recommended) or "ollama" (local GPU)
44- LLM_PROVIDER = openrouter
45-
4644# Temperature: 0.0-1.0, lower = more consistent
4745LLM_TEMPERATURE = 0.1
4846
4947# ============================================================================
50- # OpenRouter Configuration (when LLM_PROVIDER=openrouter )
48+ # Anthropic Configuration (Claude Platform on AWS )
5149# ============================================================================
52-
53- # Get your API key from https://openrouter.ai/
54- OPENROUTER_API_KEY = your-openrouter-api-key-here
55-
56- # Test API key (separate key to track testing costs)
57- # Used only by integration tests that make real LLM calls
58- # OPENROUTER_API_KEY_FOR_TESTING=your-testing-api-key-here
50+ # LLM calls go to Claude via the Claude Platform on AWS (Anthropic-operated
51+ # Messages API, AWS Marketplace billing; NOT Amazon Bedrock).
52+ # All three values are required in server mode; the endpoint rejects
53+ # requests without the anthropic-workspace-id header.
54+ # Key: AWS Console -> Claude Platform on AWS -> API keys -> Generate a key
55+ # Workspace: AWS Console -> Claude Platform on AWS -> Workspaces (wrkspc_...)
56+ ANTHROPIC_API_KEY = your-claude-platform-key-here
57+ ANTHROPIC_BASE_URL = https://aws-external-anthropic.us-east-2.api.aws
58+ ANTHROPIC_WORKSPACE_ID = wrkspc_your_workspace_id
5959
6060# ============================================================================
6161# Model Configuration
6262# ============================================================================
63- # Each agent type has its own model and provider for optimal performance .
63+ # Offered models: claude-haiku-4-5 (default) and claude-sonnet-5 .
6464
65- # Annotation Model (Claude Haiku 4.5 via Anthropic - high quality with prompt caching)
66- ANNOTATION_MODEL = anthropic/claude-haiku-4.5
67- ANNOTATION_PROVIDER = anthropic
65+ # Annotation Model (Claude Haiku 4.5 - fast, near-frontier quality)
66+ ANNOTATION_MODEL = claude-haiku-4-5
6867
69- # Evaluation/Assessment Model (Qwen3.5-122B via Alibaba - fast and cost-effective)
70- # Used for evaluation, assessment, and feedback agents
71- EVALUATION_MODEL = qwen/qwen3.5-122b-a10b
72- EVALUATION_PROVIDER = alibaba
68+ # Evaluation/Assessment Model (the judge stays on Haiku)
69+ EVALUATION_MODEL = claude-haiku-4-5
7370
74- # Vision Model (Qwen3.5-122B via Alibaba - accepts vision, fast)
75- VISION_MODEL = qwen/qwen3.5-122b-a10b
76- VISION_PROVIDER = alibaba
71+ # Vision Model (Claude models are natively multimodal)
72+ VISION_MODEL = claude-haiku-4-5
73+
74+ # Sonnet 5 is available for comparison. It matched Haiku 4.5 (which runs with
75+ # extended thinking) on first-attempt validity at 2.3x the cost, so it is not
76+ # recommended as a default; see docs/reasoning.md.
77+ # ANNOTATION_MODEL=claude-sonnet-5
7778
7879# ============================================================================
79- # Alternative Models
80+ # Prompt Cache Lifetime
8081# ============================================================================
81- # For highest quality (but slower and more expensive):
82- # ANNOTATION_MODEL=openai/gpt-5.2
83- # ANNOTATION_PROVIDER=
84-
85- # For fastest results:
86- # ANNOTATION_MODEL=anthropic/claude-haiku-4.5
87- # ANNOTATION_PROVIDER=
82+ # The annotation system prompt (~21.8k tokens of HED vocabulary guide) is
83+ # cached, which cuts input cost by ~90% on a cache hit. Entries live 5
84+ # minutes by default, which suits server traffic; a cache write costs 1.25x,
85+ # so break-even is the second request inside the window.
86+ # Set to 1h for interactive use where requests are minutes apart (a 1-hour
87+ # write costs 2x and pays off from the third request in the hour).
88+ # See docs/prompt-caching.md
89+ # HEDIT_PROMPT_CACHE_TTL=5m
8890
8991# ============================================================================
90- # Ollama Configuration (when LLM_PROVIDER=ollama)
92+ # Annotation Reasoning Budget
9193# ============================================================================
92- # Only used if LLM_PROVIDER=ollama (local GPU deployment)
93- # LLM_BASE_URL=http://localhost:11435
94- # LLM_MODEL=qwen2.5:32b
94+ # The annotation agent runs with extended thinking, which took first-attempt
95+ # validity from 5/15 to 13/15 on the benchmark descriptions, cut total LLM
96+ # calls by a third, and cost 24% more per request with roughly twice the
97+ # latency. Raise the budget, or set 0/off to disable it for a
98+ # latency-sensitive deployment. Ignored on Sonnet 5, which chooses its own
99+ # depth (adaptive). See docs/reasoning.md
100+ # HEDIT_ANNOTATION_THINKING_BUDGET=2048
95101
96102# ============================================================================
97103# HED Configuration
@@ -169,6 +175,4 @@ LOG_LEVEL=INFO
169175# GITHUB_REPOSITORY_OWNER=Annotation-Garden
170176# GITHUB_REPOSITORY=hedit
171177
172- # Feedback processing uses OPENROUTER_API_KEY_FOR_TESTING (if set) to track
173- # feedback-related LLM costs separately from annotation costs.
174- # Falls back to OPENROUTER_API_KEY if testing key is not set.
178+ # Feedback processing uses the ANTHROPIC_API_KEY server credentials.
0 commit comments