hadadrjt's picture
SearchGPT: Enhance. #3
2a85ae5
#
# SPDX-FileCopyrightText: Hadad <hadad@linuxmail.org>
# SPDX-License-Identifier: Apache-2.0
#
import traceback
from config import MAX_TOKENS, INSTRUCTIONS_END
def generate_response(
server,
model_name,
conversation_messages,
tool_definitions,
tools_done=False
):
response_generator = ""
if tools_done:
system_reminder = {
"role": "system",
"content": INSTRUCTIONS_END
}
conversation_messages.append(system_reminder)
try:
response = server.chat.completions.create(
model=model_name,
messages=conversation_messages,
tools=tool_definitions if not tools_done else None,
tool_choice="none",
max_tokens=MAX_TOKENS,
temperature=0.75,
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