diff options
Diffstat (limited to 'gemini.py')
| -rw-r--r-- | gemini.py | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -213,7 +213,7 @@ async def geminichat(websocket): messages.append({"role": "user", "content": "\n".join(current_user_lines)}) # final isolated turn — the specific message she needs to reply to - messages.append({"role": "user", "content": f"[responding to]: {nots(user_input)}\n(that is the newest message and the only one you answer, the lines above are just context. only the name that starts it is speaking to you, everyone else is someone else)"}) + messages.append({"role": "user", "content": f"[responding to]: {nots(user_input)}}) # make sure we start with a user turn (gemini rejects empty parts so no empty string here) if messages and messages[0]["role"] != "user": @@ -268,6 +268,9 @@ async def geminichat(websocket): reason = response.prompt_feedback.block_reason if response.prompt_feedback else None if not reason and response.candidates: reason = response.candidates[0].finish_reason + if "PROHIBITED_CONTENT" in str(reason): + await websocket.send(json.dumps({"ok": "google doesn't want me to reply to this :stocking:"})) + continue raise RuntimeError(f"gemini returned no text ({reason})") # strip <think> blocks just in case, thank you claude |
