From f6cc6e128333fa3682d87124c6cbf0f9201a5cfa Mon Sep 17 00:00:00 2001 From: lidia9 Date: Wed, 30 Apr 2025 16:00:50 +0200 Subject: [PATCH] LLM AS A JUDGE - works for anthropic --- examples/cai/agent_patterns/LLM_as_judge.py | 3 ++- src/cai/sdk/agents/models/openai_chatcompletions.py | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/examples/cai/agent_patterns/LLM_as_judge.py b/examples/cai/agent_patterns/LLM_as_judge.py index 81e64f0d..d222fcc9 100644 --- a/examples/cai/agent_patterns/LLM_as_judge.py +++ b/examples/cai/agent_patterns/LLM_as_judge.py @@ -29,7 +29,7 @@ ctf_task_planner = Agent( model= os.getenv('CAI_MODEL', "qwen2.5:14b"), openai_client=AsyncOpenAI(), ), - tools =[] + tools=[] ) @@ -53,6 +53,7 @@ ctf_plan_evaluator = Agent[None]( model= os.getenv('CAI_MODEL', "qwen2.5:14b"), openai_client=AsyncOpenAI(), ), + tools=[], output_type=EvaluationFeedback, ) diff --git a/src/cai/sdk/agents/models/openai_chatcompletions.py b/src/cai/sdk/agents/models/openai_chatcompletions.py index 3ea39a94..a5a354d5 100644 --- a/src/cai/sdk/agents/models/openai_chatcompletions.py +++ b/src/cai/sdk/agents/models/openai_chatcompletions.py @@ -973,6 +973,10 @@ class OpenAIChatCompletionsModel(Model): # Only remove tool_choice if model starts with "gpt" and has no tools if self.model.startswith("gpt") and not converted_tools: kwargs.pop("tool_choice", None) + + # TODO: review this. Remove tool_choice for Anthropic/Claude models when no tools are provided + if ("claude" in str(self.model).lower() or "anthropic" in str(self.model).lower()) and not converted_tools: + kwargs.pop("tool_choice", None) # Model adjustments if any(x in self.model for x in ["claude"]):