Spaces:
Running
Running
File size: 1,382 Bytes
ceb70c7 2a85ae5 ceb70c7 bcca9d9 ceb70c7 2a85ae5 ceb70c7 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
#
# 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 |