You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
llm/config.go reuses the DEWEY_EMBEDDING_ENDPOINT environment variable to resolve the Ollama endpoint for the synthesis provider (used by dewey compile and knowledge curation). This conflates two independent concerns - embedding and text generation - and makes it impossible to point them at different Ollama instances via env vars.
Root Cause
llm/config.go reads DEWEY_EMBEDDING_ENDPOINT in two places:
ReadSynthesisConfig() line 84 (legacy DEWEY_COMPILE_MODEL path)
synthConfigFromEnv() line 116 (no-config-file fallback)
Both fall back to http://localhost:11434 when unset. There is no DEWEY_SYNTHESIS_ENDPOINT or equivalent - the synthesis provider silently shares whatever endpoint the embedding provider uses.
Users running embedding and generation on separate Ollama instances (e.g., different GPUs, different machines) cannot configure them independently via env vars.
The shared env var name is misleading - setting DEWEY_EMBEDDING_ENDPOINT silently changes synthesis behavior with no indication.
Summary
llm/config.go reuses the DEWEY_EMBEDDING_ENDPOINT environment variable to resolve the Ollama endpoint for the synthesis provider (used by dewey compile and knowledge curation). This conflates two independent concerns - embedding and text generation - and makes it impossible to point them at different Ollama instances via env vars.
Root Cause
llm/config.go reads DEWEY_EMBEDDING_ENDPOINT in two places:
Both fall back to http://localhost:11434 when unset. There is no DEWEY_SYNTHESIS_ENDPOINT or equivalent - the synthesis provider silently shares whatever endpoint the embedding provider uses.
From llm/config.go:116-119:
Impact
Suggested Fix
Introduce a DEWEY_SYNTHESIS_ENDPOINT env var with the fallback chain:
The config.yaml synthesis.endpoint field already exists and works correctly - this is only about the env var path.
Related