Skip to content

Commit e239dd0

Browse files
authored
Merge pull request #1041 from parea-ai/fix-stream-w-old-openai-version
type checking on old openai versions
2 parents 11b9952 + 24ba825 commit e239dd0

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

parea/wrapper/openai/openai.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -276,13 +276,15 @@ def _kwargs_to_llm_configuration(kwargs):
276276

277277
@staticmethod
278278
def _get_output(result: Any, model: Optional[str] = None) -> str:
279+
PARSED_CHAT_COMPLETION_AVAILABLE = False
279280
try:
280-
from openai.types.chat import ParsedChatCompletion, ParsedChatCompletionMessage
281+
from openai.types.chat import ParsedChatCompletionMessage
282+
283+
PARSED_CHAT_COMPLETION_AVAILABLE = True
281284
except ImportError:
282-
ParsedChatCompletion = None
283285
ParsedChatCompletionMessage = None
284286

285-
if not isinstance(result, (OpenAIObject, ParsedChatCompletion)) and isinstance(result, dict):
287+
if isinstance(result, dict):
286288
result = convert_to_openai_object(
287289
{
288290
"choices": [
@@ -295,8 +297,8 @@ def _get_output(result: Any, model: Optional[str] = None) -> str:
295297
}
296298
)
297299
response_message = result.choices[0].message
298-
if isinstance(response_message, ParsedChatCompletionMessage):
299-
completion = response_message.parsed.model_dump_json() if response_message.parsed else ""
300+
if PARSED_CHAT_COMPLETION_AVAILABLE and isinstance(response_message, ParsedChatCompletionMessage):
301+
completion = json_dumps(response_message.parsed) if response_message.parsed else ""
300302
elif not response_message.get("content", None) if is_old_openai else not response_message.content:
301303
completion = OpenAIWrapper._format_function_call(response_message)
302304
else:

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ build-backend = "poetry.core.masonry.api"
66
[tool.poetry]
77
name = "parea-ai"
88
packages = [{ include = "parea" }]
9-
version = "0.2.195"
9+
version = "0.2.196"
1010
description = "Parea python sdk"
1111
readme = "README.md"
1212
authors = ["joel-parea-ai <[email protected]>"]

0 commit comments

Comments
 (0)