Commit 1b4378d

benny-dou <60535774+benny-dou@users.noreply.github.com>
2025-02-20 11:36:51
fix(gpt): extract `reasoning_content`
1 parent a064c0c
Changed files (1)
src
src/llm/response.py
@@ -4,7 +4,7 @@ import contextlib
 import copy
 import json
 
-from glom import glom
+from glom import Coalesce, glom
 from loguru import logger
 from openai import AsyncOpenAI
 
@@ -123,7 +123,7 @@ async def parse_response(config: dict, response: dict) -> dict[str, str]:
         content = add_search_results_to_response(config.get("search_results", []), content)
         reasoning, content = extract_reasoning(content)  # extract reasoning from content (<think>...</think>)
         if not reasoning:
-            reasoning = glom(choice, "message.reasoning", default="") or ""
+            reasoning = glom(choice, Coalesce("message.reasoning_content", "message.reasoning"), default="") or ""
         primary_model = glom(config, "completions.model", default="") or ""
         used_model = glom(response, "model", default="") or ""
         response = {"content": content.strip(), "model": config["friendly_name"], "reasoning": reasoning.strip(), "reasoning_model": used_model}