Spaces:
Running
Running
| # | |
| # SPDX-FileCopyrightText: Hadad <hadad@linuxmail.org> | |
| # SPDX-License-Identifier: Apache-2.0 | |
| # | |
| import traceback | |
| from config import ( | |
| CHAT_TEMPERATURE, | |
| STREAM | |
| ) | |
| def generate_response( | |
| server, | |
| model_name, | |
| conversation_messages | |
| ): | |
| response_generator = "" | |
| try: | |
| response = server.chat.completions.create( | |
| model=model_name, | |
| messages=conversation_messages, | |
| temperature=CHAT_TEMPERATURE, | |
| stream=STREAM | |
| ) | |
| 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 |