Skip to content

Commit b078aa0

Browse files
committed
updating db support, if you are reading here, hello
1 parent 20aab7f commit b078aa0

13 files changed

+732
-311
lines changed

py-src/data_formulator/agents/__init__.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,21 @@
33

44
from data_formulator.agents.agent_concept_derive import ConceptDeriveAgent
55
from data_formulator.agents.agent_py_concept_derive import PyConceptDeriveAgent
6-
from data_formulator.agents.agent_data_transformation import DataTransformationAgent
7-
from data_formulator.agents.agent_data_transform_v2 import DataTransformationAgentV2
6+
from data_formulator.agents.agent_py_data_transform import PythonDataTransformationAgent
7+
from data_formulator.agents.agent_sql_data_transform import SQLDataTransformationAgent
88
from data_formulator.agents.agent_data_load import DataLoadAgent
99
from data_formulator.agents.agent_sort_data import SortDataAgent
1010
from data_formulator.agents.agent_data_clean import DataCleanAgent
11-
from data_formulator.agents.agent_data_rec import DataRecAgent
11+
from data_formulator.agents.agent_py_data_rec import PythonDataRecAgent
12+
from data_formulator.agents.agent_sql_data_rec import SQLDataRecAgent
1213

1314
__all__ = [
1415
"ConceptDeriveAgent",
1516
"PyConceptDeriveAgent",
16-
"DataTransformationAgent",
17-
"DataTransformationAgentV2",
18-
"DataRecAgent",
17+
"PythonDataTransformationAgent",
18+
"SQLDataTransformationAgent",
19+
"PythonDataRecAgent",
20+
"SQLDataRecAgent",
1921
"DataLoadAgent",
2022
"SortDataAgent",
2123
"DataCleanAgent"

py-src/data_formulator/agents/agent_data_transformation.py

Lines changed: 0 additions & 216 deletions
This file was deleted.

py-src/data_formulator/agents/agent_data_rec.py renamed to py-src/data_formulator/agents/agent_py_data_rec.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import json
55

66
from data_formulator.agents.agent_utils import extract_json_objects, generate_data_summary, extract_code_from_gpt_response
7-
from data_formulator.agents.agent_data_transform_v2 import completion_response_wrapper
87

98
import data_formulator.py_sandbox as py_sandbox
109

@@ -128,7 +127,7 @@ def transform_data(df):
128127
```
129128
"""
130129

131-
class DataRecAgent(object):
130+
class PythonDataRecAgent(object):
132131

133132
def __init__(self, client, system_prompt=None):
134133
self.client = client
@@ -177,7 +176,7 @@ def process_gpt_response(self, input_tables, messages, response):
177176
result = {'status': 'error', 'code': "", 'content': "No code block found in the response. The model is unable to generate code to complete the task."}
178177

179178
result['dialog'] = [*messages, {"role": choice.message.role, "content": choice.message.content}]
180-
result['agent'] = 'DataRecAgent'
179+
result['agent'] = 'PythonDataRecAgent'
181180
result['refined_goal'] = refined_goal
182181
candidates.append(result)
183182

@@ -203,7 +202,7 @@ def run(self, input_tables, description, n=1):
203202
messages = [{"role":"system", "content": self.system_prompt},
204203
{"role":"user","content": user_query}]
205204

206-
response = completion_response_wrapper(self.client, messages, n)
205+
response = self.client.get_completion(messages = messages)
207206

208207
return self.process_gpt_response(input_tables, messages, response)
209208

@@ -215,6 +214,6 @@ def followup(self, input_tables, dialog, new_instruction: str, n=1):
215214

216215
messages = [*dialog, {"role":"user", "content": f"Update: \n\n{new_instruction}"}]
217216

218-
response = completion_response_wrapper(self.client, messages, n)
217+
response = self.client.get_completion(messages = messages)
219218

220219
return self.process_gpt_response(input_tables, messages, response)

py-src/data_formulator/agents/agent_data_transform_v2.py renamed to py-src/data_formulator/agents/agent_py_data_transform.py

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@
77
from data_formulator.agents.agent_utils import extract_json_objects, generate_data_summary, extract_code_from_gpt_response
88
import data_formulator.py_sandbox as py_sandbox
99

10-
import traceback
11-
1210
import logging
1311

1412
# Replace/update the logger configuration
@@ -184,17 +182,7 @@ def transform_data(df):
184182
```
185183
'''
186184

187-
def completion_response_wrapper(client, messages, n):
188-
### wrapper for completion response, especially handling errors
189-
try:
190-
response = client.get_completion(messages = messages)
191-
except Exception as e:
192-
response = e
193-
194-
return response
195-
196-
197-
class DataTransformationAgentV2(object):
185+
class PythonDataTransformationAgent(object):
198186

199187
def __init__(self, client, system_prompt=None):
200188
self.client = client
@@ -245,7 +233,7 @@ def process_gpt_response(self, input_tables, messages, response):
245233
result = {'status': 'error', 'code': "", 'content': "No code block found in the response. The model is unable to generate code to complete the task."}
246234

247235
result['dialog'] = [*messages, {"role": choice.message.role, "content": choice.message.content}]
248-
result['agent'] = 'DataTransformationAgent'
236+
result['agent'] = 'PythonDataTransformationAgent'
249237
result['refined_goal'] = refined_goal
250238
candidates.append(result)
251239

@@ -286,7 +274,7 @@ def run(self, input_tables, description, expected_fields: list[str], prev_messag
286274
*prev_messages,
287275
{"role":"user","content": user_query}]
288276

289-
response = completion_response_wrapper(self.client, messages, n)
277+
response = self.client.get_completion(messages = messages)
290278

291279
return self.process_gpt_response(input_tables, messages, response)
292280

@@ -308,6 +296,6 @@ def followup(self, input_tables, dialog, output_fields: list[str], new_instructi
308296
messages = [*updated_dialog, {"role":"user",
309297
"content": f"Update the code above based on the following instruction:\n\n{json.dumps(goal, indent=4)}"}]
310298

311-
response = completion_response_wrapper(self.client, messages, n)
299+
response = self.client.get_completion(messages = messages)
312300

313301
return self.process_gpt_response(input_tables, messages, response)

0 commit comments

Comments
 (0)