Spaces:
Running
Running
import json | |
from trauma.api.data.model import EntityModel | |
from trauma.api.message.model import MessageModel | |
def transform_messages_to_openai(messages: list[MessageModel]) -> list[dict]: | |
openai_messages = [] | |
for message in messages: | |
content = message.text | |
openai_messages.append({ | |
"role": message.author.value, | |
"content": content | |
}) | |
return openai_messages | |
def retrieve_empty_field_from_entity_data(entity_data: dict) -> str | None: | |
for k, v in entity_data.items(): | |
if not v: | |
return k | |
return None | |
def prepare_user_messages_str(user_message: str, messages: list[dict]) -> str: | |
user_message_str = '' | |
for message in messages: | |
if message['role'] == 'user': | |
user_message_str += f'- {message['content']}\n' | |
user_message_str += f'- {user_message}' | |
return user_message_str | |
def prepare_final_entities_str(entities: list[EntityModel]) -> str: | |
entities_list = [] | |
for entity in entities: | |
entities_list.append(entity.model_dump(mode='json', exclude={'id', 'contactDetails'})) | |
return json.dumps({"entities": entities_list}) | |
def pick_empty_field_instructions(empty_field: str) -> str: | |
if empty_field == "ageMin": | |
return "Minimum age of the patient." | |
elif empty_field == "ageMax": | |
return "Maximum age of the patient." | |
elif empty_field == "treatmentArea": | |
return "The type of mental or physical illness/disorder." | |
elif empty_field == "treatmentMethod": | |
return "A method of treating the illness or disorder." | |