diff --git a/libs/runnables.py b/libs/runnables.py index b6cec9d..f0dca65 100644 --- a/libs/runnables.py +++ b/libs/runnables.py @@ -82,8 +82,12 @@ def one_tool_call_answer(model: Model, seed: int, test: Test, technique: Techniq assert isinstance(ai_msg, AIMessage) calls = ai_msg.tool_calls for call in calls: - selected_tool = tools_dict[call["name"].lower()] - tool_msg = selected_tool.invoke(call) + try: + selected_tool = tools_dict[call["name"].lower()] + tool_msg = selected_tool.invoke(call) + except KeyError: + tool_msg = SystemMessage(f"Tool '{call['name'].lower()}' does not exist. Available are {tools_dict.keys()}") + messages.append(tool_msg) ai_msg = llm.invoke(messages) i = 0