backend: dedupe shared logic (indicator_summary_job, CHAT_REFERENCE_LINE, call_openrouter alias)
- indicator_summary_job.py imported its own copies of _month_spend and _latest_quotes_by_group; _market_context.py already exposes these. Switched to the canonical imports. Also fixed _market_context's latest_quotes_by_group to actually filter null prices (it claimed to in its docstring but lacked the WHERE clause). - api.py duplicated REFERENCE_LINE as CHAT_REFERENCE_LINE — same string, two sources of truth. Now imports REFERENCE_LINE. - Chat endpoint used the deprecated `call_openrouter` alias and passed an explicit `model=` that bypassed the provider chain. Switched to `call_llm` with default model selection, then removed the alias. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
a2bcb2c053
commit
b47c45e218
4 changed files with 10 additions and 48 deletions
|
|
@ -24,10 +24,11 @@ from app.auth import require_token, maybe_current_user, CurrentUser
|
|||
from app.services.i18n import ACTIVE_LANGUAGES
|
||||
from app.config import get_settings
|
||||
from app.db import get_session, utcnow
|
||||
from app.jobs._market_context import REFERENCE_LINE
|
||||
from app.services.openrouter import (
|
||||
PROMPT_VERSION,
|
||||
build_chat_system_prompt,
|
||||
call_openrouter,
|
||||
call_llm,
|
||||
month_start,
|
||||
)
|
||||
from app.templates_env import templates
|
||||
|
|
@ -710,10 +711,7 @@ class ChatRequest(BaseModel):
|
|||
messages: list[ChatMessage]
|
||||
|
||||
|
||||
CHAT_REFERENCE_LINE = (
|
||||
"S&P 7,501 (ATH) · VIX 18.0 · US 10y 4.45% · HY OAS 279bps · "
|
||||
"Brent $109/bbl · Gold $4,651/oz · CPI 3.8% YoY"
|
||||
)
|
||||
|
||||
THESIS_KEYWORDS_FALLBACK = [
|
||||
"hormuz", "iran", "opec", "brent", "wti", "crude", "oil",
|
||||
"china", "taiwan", "yuan", "fed", "inflation", "cpi", "yield",
|
||||
|
|
@ -822,7 +820,7 @@ async def chat(
|
|||
log_generated_at=log_row.generated_at if log_row else None,
|
||||
quotes_by_group=quotes,
|
||||
headlines=headlines,
|
||||
reference_line=CHAT_REFERENCE_LINE,
|
||||
reference_line=REFERENCE_LINE,
|
||||
)
|
||||
|
||||
msgs = [{"role": "system", "content": system_prompt}]
|
||||
|
|
@ -831,7 +829,7 @@ async def chat(
|
|||
|
||||
try:
|
||||
async with httpx.AsyncClient(follow_redirects=True) as client:
|
||||
result = await call_openrouter(client, msgs, model=s.OPENROUTER_MODEL)
|
||||
result = await call_llm(client, msgs)
|
||||
except Exception as e:
|
||||
session.add(AICall(
|
||||
model=s.OPENROUTER_MODEL, status="error", error=str(e)[:500],
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue