Skip to content

Commit 2246953

Browse files
authored
fix(openai): parse finish_reason from chat completion stream (#1526)
1 parent c50b256 commit 2246953

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

langfuse/openai.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -614,7 +614,7 @@ def _extract_streamed_response_api_response(chunks: Any) -> Any:
614614

615615
def _extract_streamed_openai_response(resource: Any, chunks: Any) -> Any:
616616
completion: Any = defaultdict(lambda: None) if resource.type == "chat" else ""
617-
model, usage = None, None
617+
model, usage, finish_reason = None, None, None
618618

619619
for chunk in chunks:
620620
if _is_openai_v1():
@@ -630,6 +630,7 @@ def _extract_streamed_openai_response(resource: Any, chunks: Any) -> Any:
630630
choice = choice.__dict__
631631
if resource.type == "chat":
632632
delta = choice.get("delta", None)
633+
finish_reason = choice.get("finish_reason", None)
633634

634635
if _is_openai_v1():
635636
delta = delta.__dict__
@@ -728,7 +729,7 @@ def get_response_for_chat() -> Any:
728729
model,
729730
get_response_for_chat() if resource.type == "chat" else completion,
730731
usage,
731-
None,
732+
{"finish_reason": finish_reason} if finish_reason is not None else None,
732733
)
733734

734735

0 commit comments

Comments
 (0)