From a8505031d14f2d159b56a81b763c650e4d935718 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20Ho=CC=88nicke?= Date: Fri, 12 May 2023 15:25:38 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=8F=83=20fix:=20run=20function?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dev_gpt/options/generate/pm/pm.py | 2 +- dev_gpt/options/generate/templates_user.py | 18 +++++++++++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/dev_gpt/options/generate/pm/pm.py b/dev_gpt/options/generate/pm/pm.py index 105eb7a..7f3dfa5 100644 --- a/dev_gpt/options/generate/pm/pm.py +++ b/dev_gpt/options/generate/pm/pm.py @@ -63,7 +63,7 @@ Description of the microservice: condition_question='Does the microservice send requests to an API?', question_gen='Generate a question that asks for the endpoint and an example of a request and response when interacting with the external API.', extension_name='Example of API usage', - post_transformation_fn=translation(from_format='api instruction', to_format='python code snippet') + post_transformation_fn=translation(from_format='api instruction', to_format='python code snippet raw without formatting') ) return microservice_description, test_description diff --git a/dev_gpt/options/generate/templates_user.py b/dev_gpt/options/generate/templates_user.py index a7a373e..efc9c38 100644 --- a/dev_gpt/options/generate/templates_user.py +++ b/dev_gpt/options/generate/templates_user.py @@ -105,14 +105,18 @@ generated_string = gpt(prompt) # fill-in the prompt (str); the output is a stri template_generate_function = PromptTemplate.from_template( general_guidelines_string + ''' -Write a python function which receives as input json string (that can be parsed with the python function json.loads) and outputs a json string (that can be parsed with the python function json.loads). The function is called 'func'. -The function must full-fill: '{microservice_description}'. +Write a python function which receives as \ +input json string (that can be parsed with the python function json.loads) and \ +outputs a json string (that can be parsed with the python function json.loads). \ +The function is called 'func'. +The function must fulfill the following description: '{microservice_description}'. It will be tested with the following scenario: '{test_description}'. For the implementation use the following package(s): '{packages}'. -The code must start with the following import: +The code must start with the following imports: ``` from .apis import GPT_3_5_Turbo +import json ``` Obey the following rules: ''' + not_allowed_function_string + ''' @@ -134,9 +138,10 @@ template_generate_test = PromptTemplate.from_template( Write a single pytest case that tests the following scenario: '{test_description}'. In case the test scenario is not precise enough, test a general case without any assumptions. Start the test with an extensive comment about the test case. If gpt_3_5_turbo is used in the executor, then the test must not check the exact output of the executor as it is not deterministic. -The test must start with the following import: +The test must start with the following imports: ``` from .microservice import func +import json ``` ''' + not_allowed_function_string + ''' The test must not open local files. @@ -331,7 +336,10 @@ Example: **microservice.py** ```python -print('hello world') +import json + +def func(json_input: str) -> str: + return json_input['img_base64'] ```''' )