team13 / helper_functions.py
Robin
chat window and features
7fc61e0
raw
history blame
1.81 kB
import os
import json
def load_character_data():
current_dir = os.path.dirname(os.path.abspath(__file__))
json_path = os.path.join(current_dir, 'prompts/trump.character.json')
with open(json_path, 'r') as file:
return json.load(file)
def load_chat_history():
current_dir = os.path.dirname(os.path.abspath(__file__))
history_path = os.path.join(current_dir, 'chat_history.json')
try:
with open(history_path, 'r') as file:
return json.load(file)
except FileNotFoundError:
return []
def update_chat_history(chat_history, user_message=None, character_response=None):
# If this is a new interaction, create a new interaction number
interaction_number = len(chat_history) + 1
# If we're starting a new interaction with a user message
if user_message and not character_response:
interaction_key = f"interaction_{interaction_number}"
new_interaction = {
interaction_key: {
"user": {"role": "user", "message": user_message},
"trump": None
}
}
chat_history.append(new_interaction)
# If we're adding Trump's response to an existing interaction
elif character_response:
# Get the last interaction number (current one)
interaction_key = f"interaction_{len(chat_history)}"
current_interaction = chat_history[-1][interaction_key]
current_interaction["trump"] = {"role": "Trump", "message": character_response}
return chat_history
def save_chat_history(history):
current_dir = os.path.dirname(os.path.abspath(__file__))
history_path = os.path.join(current_dir, 'chat_history.json')
with open(history_path, 'w') as file:
json.dump(history, file, indent=2)