Skip to content

Commit 6bdd6be

Browse files
committed
Hallucination protection
1 parent 66165aa commit 6bdd6be

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

interpreter/core/respond.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,24 @@ def respond(interpreter):
179179
except:
180180
pass
181181

182+
if code.replace("\n", "").replace(" ", "").startswith("{language:"):
183+
try:
184+
code = code.replace("language: ", "'language': ").replace(
185+
"code: ", "'code': "
186+
)
187+
code_dict = json.loads(code)
188+
if set(code_dict.keys()) == {"language", "code"}:
189+
language = code_dict["language"]
190+
code = code_dict["code"]
191+
interpreter.messages[-1][
192+
"content"
193+
] = code # So the LLM can see it.
194+
interpreter.messages[-1][
195+
"format"
196+
] = language # So the LLM can see it.
197+
except:
198+
pass
199+
182200
if language == "text" or language == "markdown":
183201
# It does this sometimes just to take notes. Let it, it's useful.
184202
# In the future we should probably not detect this behavior as code at all.

0 commit comments

Comments
 (0)