Implemented deleting of subsequent steps after a specific dev step is reached

This commit is contained in:
Zvonimir Sabljic
2023-08-09 09:45:20 +02:00
parent e9905a0b78
commit c6065087e0
2 changed files with 13 additions and 1 deletions

View File

@@ -255,6 +255,17 @@ def get_development_step_from_hash_id(app_id, prompt_path, prompt_data, llm_req_
return None
return dev_step
def delete_all_subsequent_steps(project):
delete_subsequent_steps(DevelopmentSteps, project.checkpoints['last_development_step'], 'previous_dev_step')
delete_subsequent_steps(CommandRuns, project.checkpoints['last_command_run'], 'previous_command_run')
delete_subsequent_steps(UserInputs, project.checkpoints['last_user_input'], 'previous_user_input')
def delete_subsequent_steps(model, step, step_field_name):
print(colored(f"Deleting subsequent {model.__name__} steps after {step.id}", "red"))
subsequent_step = model.get_or_none(**{step_field_name: step.id})
if subsequent_step:
delete_subsequent_steps(model, subsequent_step, step_field_name)
subsequent_step.delete_instance()
def create_tables():
with database:

View File

@@ -1,7 +1,7 @@
import subprocess
from termcolor import colored
from database.database import get_development_step_from_hash_id, save_development_step
from database.database import get_development_step_from_hash_id, save_development_step, delete_all_subsequent_steps
from utils.utils import array_of_objects_to_string
from utils.llm_connection import get_prompt, create_gpt_chat_completion
from utils.utils import get_sys_message, find_role_from_step, capitalize_first_word_with_underscores
@@ -35,6 +35,7 @@ class AgentConvo:
# if we do, use it
if self.agent.project.skip_until_dev_step and str(development_step.id) == self.agent.project.skip_until_dev_step:
self.agent.project.skip_steps = False
delete_all_subsequent_steps(self.agent.project)
print(colored(f'Restoring development step with id {development_step.id}', 'yellow'))
self.agent.project.checkpoints['last_development_step'] = development_step
self.agent.project.restore_files(development_step.id)