Spaces:
Runtime error
Runtime error
| '''Collection of helper functions for Gradio UI and interface.''' | |
| import os | |
| import re | |
| import logging | |
| from openai import OpenAI | |
| def call_modal() -> None: | |
| '''Sends request to Modal to spin up container''' | |
| logger = logging.getLogger(__name__ + '.call_modal()') | |
| # Call the modal container so it spins up | |
| client = OpenAI(api_key=os.environ['MODAL_API_KEY']) | |
| client.base_url = ( | |
| 'https://gperdrizet--vllm-openai-compatible-summarization-serve.modal.run/v1' | |
| ) | |
| # Default to first avalible model | |
| model = client.models.list().data[0] | |
| model_id = model.id | |
| messages = [ | |
| { | |
| 'role': 'system', | |
| 'content': ('Interpret the following proverb in 50 words or less: ' + | |
| 'A poor craftsman blames the eye of the beholder') | |
| } | |
| ] | |
| logger.info('Prompt: %s', messages[0]['content']) | |
| completion_args = { | |
| 'model': model_id, | |
| 'messages': messages, | |
| } | |
| try: | |
| response = client.chat.completions.create(**completion_args) | |
| except Exception as e: # pylint: disable=broad-exception-caught | |
| response = None | |
| logger.error('Error during Modal API call: %s', e) | |
| if response is not None: | |
| reply = response.choices[0].message.content | |
| else: | |
| reply = None | |
| logger.info('Reply: %s', reply) | |
| def update_log(n: int = 10): | |
| '''Gets updated logging output from disk to display to user. | |
| Args: | |
| n: number of most recent lines of log output to display | |
| Returns: | |
| Logging output as string | |
| ''' | |
| with open('logs/rss_server.log', 'r', encoding='utf-8') as log_file: | |
| lines = log_file.readlines() | |
| return ''.join(lines[-n:]) | |
| def delete_old_logs(directory:str, basename:str) -> None: | |
| '''Deletes old log files from previous optimization sessions, if present. | |
| Args: | |
| directory: path to log file directory as string | |
| basename: log file base name as string | |
| Returns: | |
| None | |
| ''' | |
| for filename in os.listdir(directory): | |
| file_path = os.path.join(directory, filename) | |
| if re.search(basename, filename): | |
| os.remove(file_path) | |