Skip to content

Commit 1addc6a

Browse files
authored
feat(openai): add support for response.parse (#1292)
1 parent f90d41b commit 1addc6a

File tree

1 file changed

+21
-2
lines changed

1 file changed

+21
-2
lines changed

langfuse/openai.py

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
from dataclasses import dataclass
2424
from datetime import datetime
2525
from inspect import isclass
26-
from typing import Optional, cast, Any
26+
from typing import Any, Optional, cast
2727

2828
from openai._types import NotGiven
2929
from packaging.version import Version
@@ -161,6 +161,22 @@ class OpenAiDefinition:
161161
sync=False,
162162
min_version="1.66.0",
163163
),
164+
OpenAiDefinition(
165+
module="openai.resources.responses",
166+
object="Responses",
167+
method="parse",
168+
type="chat",
169+
sync=True,
170+
min_version="1.66.0",
171+
),
172+
OpenAiDefinition(
173+
module="openai.resources.responses",
174+
object="AsyncResponses",
175+
method="parse",
176+
type="chat",
177+
sync=False,
178+
min_version="1.66.0",
179+
),
164180
]
165181

166182

@@ -570,7 +586,10 @@ def _extract_streamed_openai_response(resource: Any, chunks: Any) -> Any:
570586
)
571587
curr["arguments"] += getattr(tool_call_chunk, "arguments", "")
572588

573-
elif delta.get("tool_calls", None) is not None and len(delta.get("tool_calls")) > 0:
589+
elif (
590+
delta.get("tool_calls", None) is not None
591+
and len(delta.get("tool_calls")) > 0
592+
):
574593
curr = completion["tool_calls"]
575594
tool_call_chunk = getattr(
576595
delta.get("tool_calls", None)[0], "function", None

0 commit comments

Comments
 (0)