hadadrjt's picture
SearchGPT: Enhance. #5
9ecb850
#
# SPDX-FileCopyrightText: Hadad <hadad@linuxmail.org>
# SPDX-License-Identifier: Apache-2.0
#
import traceback
from config import INSTRUCTIONS_END
def generate_response(
server,
model_name,
conversation_messages,
tool_definitions,
tools_done=False
):
response_generator = ""
if tools_done:
conversation_messages.append({
"role": "system",
"content": INSTRUCTIONS_END
})
try:
response = server.chat.completions.create(
model=model_name,
messages=conversation_messages,
tools=tool_definitions if not tools_done else None,
tool_choice="none",
stream=True
)
for data in response:
try:
raw_data = data.choices[0].delta.content or ""
except Exception:
raw_data = ""
if raw_data:
response_generator += raw_data
yield response_generator
yield response_generator
except Exception as response_error:
response_generator += f"\nError: {str(response_error)}\n"
response_generator += traceback.format_exc()
yield response_generator