analyse: thread user.lang into the system prompt
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
e4982cdc04
commit
d318039ad5
3 changed files with 89 additions and 4 deletions
|
|
@ -31,6 +31,7 @@ from app.config import get_settings
|
|||
from app.db import utcnow
|
||||
from app.logging import get_logger
|
||||
from app.models import AICall
|
||||
from app.services.i18n import LANGUAGES, respond_in_clause
|
||||
from app.services.openrouter import (
|
||||
LogResult,
|
||||
active_model,
|
||||
|
|
@ -74,6 +75,7 @@ class AnalysisRequest:
|
|||
anchor: str | None = None
|
||||
tone: str = "INTERMEDIATE" # NOVICE | INTERMEDIATE | PRO
|
||||
analysis: str = "SPECULATIVE" # DRY | SPECULATIVE
|
||||
lang: str = "en"
|
||||
|
||||
|
||||
@dataclass
|
||||
|
|
@ -163,10 +165,13 @@ def parse_request(payload: dict) -> AnalysisRequest:
|
|||
anchor = _sanitise_text(payload.get("anchor") or "", 32) or None
|
||||
tone = _sanitise_text(payload.get("tone", "INTERMEDIATE"), 16) or "INTERMEDIATE"
|
||||
analysis = _sanitise_text(payload.get("analysis", "SPECULATIVE"), 16) or "SPECULATIVE"
|
||||
lang = (payload.get("lang") or "en").strip().lower()
|
||||
if lang not in LANGUAGES:
|
||||
lang = "en"
|
||||
|
||||
return AnalysisRequest(
|
||||
positions=positions, prices=prices, base_currency=base_currency,
|
||||
anchor=anchor, tone=tone, analysis=analysis,
|
||||
anchor=anchor, tone=tone, analysis=analysis, lang=lang,
|
||||
)
|
||||
|
||||
|
||||
|
|
@ -276,7 +281,7 @@ def build_prompt(req: AnalysisRequest) -> tuple[str, str]:
|
|||
head = enriched[:MAX_POSITIONS_INLINED]
|
||||
tail_count = max(0, len(enriched) - MAX_POSITIONS_INLINED)
|
||||
|
||||
system = build_system_prompt(req.tone, req.analysis) + "\n\n" + _SYSTEM_OVERRIDES
|
||||
system = build_system_prompt(req.tone, req.analysis) + "\n\n" + _SYSTEM_OVERRIDES + respond_in_clause(req.lang)
|
||||
|
||||
user_parts = [
|
||||
f"# Portfolio commentary request — {utcnow().strftime('%Y-%m-%d')}",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue