Skip to content

Commit

Permalink
Handles incorrect AI formatting in a more forgiving way.
Browse files Browse the repository at this point in the history
  • Loading branch information
Torantulino committed Apr 3, 2023
1 parent 41daf07 commit 099a5e1
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 14 deletions.
12 changes: 11 additions & 1 deletion scripts/commands.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,19 @@
def get_command(response):
try:
response_json = fix_and_parse_json(response)

if "command" not in response_json:
return "Error:" , "Missing 'command' object in JSON"

command = response_json["command"]

if "name" not in command:
return "Error:", "Missing 'name' field in 'command' object"

command_name = command["name"]
arguments = command["args"]

# Use an empty dictionary if 'args' field is not present in 'command' object
arguments = command.get("args", {})

if not arguments:
arguments = {}
Expand Down
29 changes: 16 additions & 13 deletions scripts/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,19 +54,22 @@ def print_assistant_thoughts(assistant_reply):
# Parse and print Assistant response
assistant_reply_json = fix_and_parse_json(assistant_reply)

assistant_thoughts = assistant_reply_json.get("thoughts")
if assistant_thoughts:
assistant_thoughts_text = assistant_thoughts.get("text")
assistant_thoughts_reasoning = assistant_thoughts.get("reasoning")
assistant_thoughts_plan = assistant_thoughts.get("plan")
assistant_thoughts_criticism = assistant_thoughts.get("criticism")
assistant_thoughts_speak = assistant_thoughts.get("speak")
else:
assistant_thoughts_text = None
assistant_thoughts_reasoning = None
assistant_thoughts_plan = None
assistant_thoughts_criticism = None
assistant_thoughts_speak = None
try:
assistant_thoughts = assistant_reply_json.get("thoughts")
if assistant_thoughts:
assistant_thoughts_text = assistant_thoughts.get("text")
assistant_thoughts_reasoning = assistant_thoughts.get("reasoning")
assistant_thoughts_plan = assistant_thoughts.get("plan")
assistant_thoughts_criticism = assistant_thoughts.get("criticism")
assistant_thoughts_speak = assistant_thoughts.get("speak")
else:
assistant_thoughts_text = None
assistant_thoughts_reasoning = None
assistant_thoughts_plan = None
assistant_thoughts_criticism = None
assistant_thoughts_speak = None
except Exception as e:
assistant_thoughts_text = "The AI's response was unreadable."

print_to_console(
f"{ai_name.upper()} THOUGHTS:",
Expand Down

0 comments on commit 099a5e1

Please sign in to comment.