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
|
prompt_text = caption if caption else default_prompt
|
||||||
|
|
||||||
_price_kw = ["preis", "kostet", "kosten", "price", "teuer", "guenstig", "billig",
|
_price_kw = ["preis", "kostet", "kosten", "price", "teuer", "guenstig", "billig",
|
||||||
"bestpreis", "angebot", "euro", "eur", "kaufen"]
|
"bestpreis", "angebot", "euro", "eur", "kaufen", "gold", "silber",
|
||||||
_is_price_q = any(kw in (caption or "").lower() for kw in _price_kw)
|
"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:
|
if _is_price_q:
|
||||||
prompt_text = (
|
prompt_text = (
|
||||||
"WICHTIG: Der User fragt nach einem aktuellen Preis. "
|
"WICHTIG: Es geht um aktuelle Preise/Kurse. "
|
||||||
"Du MUSST zuerst web_search aufrufen um den aktuellen Marktpreis zu ermitteln. "
|
"Du MUSST ZUERST web_search aufrufen (kurze Keywords, z.B. goldpreis euro unze heute) "
|
||||||
"Nutze das Bild nur als Kontext, NICHT als Preisquelle — Bilder koennen veraltet sein. "
|
"um den aktuellen Marktpreis zu ermitteln. "
|
||||||
"Erst NACH der web_search darfst du antworten.\n\n"
|
"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
|
+ 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 = [
|
user_content = [
|
||||||
{"type": "text", "text": prompt_text},
|
{"type": "text", "text": prompt_text},
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue