From f88a5c4ed2900a7581fbe5ee6c4cc737ac67b738 Mon Sep 17 00:00:00 2001 From: Daniel Chalef <131175+danielchalef@users.noreply.github.com> Date: Wed, 29 Oct 2025 23:09:38 -0700 Subject: [PATCH] conductor-checkpoint-msg_01SwJkCDAScffk8116KPVpTd --- graphiti_core/llm_client/openai_client.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/graphiti_core/llm_client/openai_client.py b/graphiti_core/llm_client/openai_client.py index 4cb1c810..d7a70502 100644 --- a/graphiti_core/llm_client/openai_client.py +++ b/graphiti_core/llm_client/openai_client.py @@ -73,13 +73,16 @@ class OpenAIClient(BaseOpenAIClient): verbosity: str | None = None, ): """Create a structured completion using OpenAI's beta parse API.""" + # Only pass reasoning parameter for reasoning models (gpt-5 family: o1, o3-mini, o3, gpt-5-*) + is_reasoning_model = model.startswith('gpt-5') or model.startswith('o1') or model.startswith('o3') + response = await self.client.responses.parse( model=model, input=messages, # type: ignore temperature=temperature, max_output_tokens=max_tokens, text_format=response_model, # type: ignore - reasoning={'effort': reasoning} if reasoning is not None else None, # type: ignore + reasoning={'effort': reasoning} if reasoning is not None and is_reasoning_model else None, # type: ignore text={'verbosity': verbosity} if verbosity is not None else None, # type: ignore )