| @@ -497,8 +497,9 @@ class OpenAILargeLanguageModel(_CommonOpenAI, LargeLanguageModel): | |||
| continue | |||
| delta = chunk.choices[0] | |||
| has_finish_reason = delta.finish_reason is not None | |||
| if delta.finish_reason is None and (delta.delta.content is None or delta.delta.content == '') and \ | |||
| if not has_finish_reason and (delta.delta.content is None or delta.delta.content == '') and \ | |||
| delta.delta.function_call is None: | |||
| continue | |||
| @@ -520,7 +521,8 @@ class OpenAILargeLanguageModel(_CommonOpenAI, LargeLanguageModel): | |||
| if assistant_message_function_call: | |||
| # start of stream function call | |||
| delta_assistant_message_function_call_storage = assistant_message_function_call | |||
| continue | |||
| if not has_finish_reason: | |||
| continue | |||
| # tool_calls = self._extract_response_tool_calls(assistant_message_tool_calls) | |||
| function_call = self._extract_response_function_call(assistant_message_function_call) | |||
| @@ -534,7 +536,7 @@ class OpenAILargeLanguageModel(_CommonOpenAI, LargeLanguageModel): | |||
| full_assistant_content += delta.delta.content if delta.delta.content else '' | |||
| if delta.finish_reason is not None: | |||
| if has_finish_reason: | |||
| # calculate num tokens | |||
| prompt_tokens = self._num_tokens_from_messages(model, prompt_messages, tools) | |||