Spaces:
Runtime error
Runtime error
| import html | |
| import logging | |
| import re | |
| import time | |
| import markdown | |
| import inspect | |
| from camel.messages.system_messages import SystemMessage | |
| from app import send_msg | |
| def now(): | |
| return time.strftime("%Y%m%d%H%M%S", time.localtime()) | |
| def log_and_print_online(role, content=None): | |
| if not content: | |
| logging.info(role + "\n") | |
| send_msg("System", role) | |
| print(role + "\n") | |
| else: | |
| print(str(role) + ": " + str(content) + "\n") | |
| logging.info(str(role) + ": " + str(content) + "\n") | |
| if isinstance(content, SystemMessage): | |
| records_kv = [] | |
| content.meta_dict["content"] = content.content | |
| for key in content.meta_dict: | |
| value = content.meta_dict[key] | |
| value = str(value) | |
| value = html.unescape(value) | |
| value = markdown.markdown(value) | |
| value = re.sub(r'<[^>]*>', '', value) | |
| value = value.replace("\n", " ") | |
| records_kv.append([key, value]) | |
| content = "**[SystemMessage**]\n\n" + convert_to_markdown_table(records_kv) | |
| else: | |
| role = str(role) | |
| content = str(content) | |
| send_msg(role, content) | |
| def convert_to_markdown_table(records_kv): | |
| # Create the Markdown table header | |
| header = "| Parameter | Value |\n| --- | --- |" | |
| # Create the Markdown table rows | |
| rows = [f"| **{key}** | {value} |" for (key, value) in records_kv] | |
| # Combine the header and rows to form the final Markdown table | |
| markdown_table = header + "\n" + '\n'.join(rows) | |
| return markdown_table | |
| def log_arguments(func): | |
| def wrapper(*args, **kwargs): | |
| sig = inspect.signature(func) | |
| params = sig.parameters | |
| all_args = {} | |
| all_args.update({name: value for name, value in zip(params.keys(), args)}) | |
| all_args.update(kwargs) | |
| records_kv = [] | |
| for name, value in all_args.items(): | |
| if name in ["self", "chat_env", "task_type"]: | |
| continue | |
| value = str(value) | |
| value = html.unescape(value) | |
| value = markdown.markdown(value) | |
| value = re.sub(r'<[^>]*>', '', value) | |
| value = value.replace("\n", " ") | |
| records_kv.append([name, value]) | |
| records = f"**[{func.__name__}]**\n\n" + convert_to_markdown_table(records_kv) | |
| log_and_print_online("System", records) | |
| return func(*args, **kwargs) | |
| return wrapper | |