From 2034b2820a51d64448660f2c6886b6b3ac60769f Mon Sep 17 00:00:00 2001 From: Jonathan Lessinger Date: Sat, 23 Dec 2023 00:00:17 -0500 Subject: [PATCH] [AIC-py] optional: add prompt at index add p3, add p4 at index 1. ``` [Prompt(name='get_activities', input='Tell me 10 fun attractions to do in NYC.', metadata=None, outputs=[]), Prompt(name='p4', input='thep', metadata=None, outputs=[]), Prompt(name='gen_itinerary', input='Generate an itinerary ordered by {{order_by}} for these activities: {{get_activities.output}}.', metadata=PromptMetadata(model='gpt-4', tags=None, parameters={'order_by': 'geographic location'}), outputs=[]), Prompt(name='p3', input='thep', metadata=None, outputs=[])] ``` --- python/src/aiconfig/schema.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/python/src/aiconfig/schema.py b/python/src/aiconfig/schema.py index 7e7b9e864..e6730d339 100644 --- a/python/src/aiconfig/schema.py +++ b/python/src/aiconfig/schema.py @@ -355,7 +355,7 @@ def get_prompt(self, prompt_name: str) -> Prompt: raise IndexError("Prompt '{}' not found in config, available prompts are:\n {}".format(prompt_name, list(self.prompt_index.keys()))) return self.prompt_index[prompt_name] - def add_prompt(self, prompt_name: str, prompt_data: Prompt): + def add_prompt(self, prompt_name: str, prompt_data: Prompt, index: int | None = None): """ Adds a prompt to the .aiconfig. @@ -370,7 +370,10 @@ def add_prompt(self, prompt_name: str, prompt_data: Prompt): prompt_data.name = prompt_name self.prompt_index[prompt_name] = prompt_data - self.prompts.append(prompt_data) + if index is None: + self.prompts.append(prompt_data) + else: + self.prompts.insert(index, prompt_data) def update_prompt(self, prompt_name: str, prompt_data: Prompt): """