fix(bot): Preis-Erkennung bei Bildern: Session-History pruefen, mehr Keywords, Einheiten-Warnung, Fallback-Hinweis
This commit is contained in:
parent
2697e7f283
commit
fdd3083628
1 changed files with 26 additions and 6 deletions
|
|
@ -357,16 +357,36 @@ def ask_with_image(image_base64: str, caption: str, tool_handlers: dict, session
|
|||
prompt_text = caption if caption else default_prompt
|
||||
|
||||
_price_kw = ["preis", "kostet", "kosten", "price", "teuer", "guenstig", "billig",
|
||||
"bestpreis", "angebot", "euro", "eur", "kaufen"]
|
||||
_is_price_q = any(kw in (caption or "").lower() for kw in _price_kw)
|
||||
"bestpreis", "angebot", "euro", "eur", "kaufen", "gold", "silber",
|
||||
"unze", "ounce", "kurs", "wert", "ram", "ddr"]
|
||||
_check_text = (caption or "").lower()
|
||||
if not _check_text and session_id:
|
||||
try:
|
||||
import memory_client as _mc
|
||||
_recent = _mc.get_session_messages(session_id, limit=3)
|
||||
for _m in reversed(_recent):
|
||||
if _m.get("role") == "user" and _m.get("content"):
|
||||
_check_text = _m["content"].lower()
|
||||
break
|
||||
except Exception:
|
||||
pass
|
||||
_is_price_q = any(kw in _check_text for kw in _price_kw)
|
||||
if _is_price_q:
|
||||
prompt_text = (
|
||||
"WICHTIG: Der User fragt nach einem aktuellen Preis. "
|
||||
"Du MUSST zuerst web_search aufrufen um den aktuellen Marktpreis zu ermitteln. "
|
||||
"Nutze das Bild nur als Kontext, NICHT als Preisquelle — Bilder koennen veraltet sein. "
|
||||
"Erst NACH der web_search darfst du antworten.\n\n"
|
||||
"WICHTIG: Es geht um aktuelle Preise/Kurse. "
|
||||
"Du MUSST ZUERST web_search aufrufen (kurze Keywords, z.B. goldpreis euro unze heute) "
|
||||
"um den aktuellen Marktpreis zu ermitteln. "
|
||||
"Das Bild ist NUR Kontext — Preise daraus NIEMALS als Antwort verwenden, "
|
||||
"sie koennten veraltet sein oder andere Einheiten zeigen (z.B. Preis/Gramm statt Preis/Unze). "
|
||||
"Erst NACH der web_search darfst du antworten. "
|
||||
"Achte auf korrekte Einheiten (Gramm vs. Unze vs. Kilogramm).\n\n"
|
||||
+ prompt_text
|
||||
)
|
||||
else:
|
||||
prompt_text += (
|
||||
"\n\nHinweis: Wenn im Bild Preise oder Kurse sichtbar sind und der User "
|
||||
"danach fragt, nutze web_search fuer aktuelle Werte statt die Bild-Daten."
|
||||
)
|
||||
|
||||
user_content = [
|
||||
{"type": "text", "text": prompt_text},
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue