Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -75,34 +75,35 @@ def load_dataset_schema():
|
|
75 |
|
76 |
def parse_query(nl_query):
|
77 |
"""
|
78 |
-
Converts a natural language query into a SQL query using OpenAI's GPT-
|
79 |
"""
|
80 |
openai.api_key = os.getenv('OPENAI_API_KEY') # Ensure your API key is set as an environment variable
|
81 |
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
|
|
|
|
|
|
|
|
|
|
93 |
|
94 |
try:
|
95 |
-
response = openai.
|
96 |
-
model="gpt-
|
97 |
-
|
98 |
temperature=0, # Set to 0 for deterministic output
|
99 |
max_tokens=150,
|
100 |
-
top_p=1,
|
101 |
-
frequency_penalty=0,
|
102 |
-
presence_penalty=0,
|
103 |
-
stop=["\n\n"] # Stop generation after two newlines
|
104 |
)
|
105 |
-
sql_query = response.choices[0].
|
106 |
return sql_query
|
107 |
except Exception as e:
|
108 |
return f"Error generating SQL query: {e}"
|
|
|
75 |
|
76 |
def parse_query(nl_query):
|
77 |
"""
|
78 |
+
Converts a natural language query into a SQL query using OpenAI's GPT-4-turbo model.
|
79 |
"""
|
80 |
openai.api_key = os.getenv('OPENAI_API_KEY') # Ensure your API key is set as an environment variable
|
81 |
|
82 |
+
messages = [
|
83 |
+
{
|
84 |
+
"role": "system",
|
85 |
+
"content": (
|
86 |
+
"You are an assistant that converts natural language queries into SQL queries "
|
87 |
+
"for a DuckDB database named 'contract_data'. Use the provided schema to form accurate SQL queries."
|
88 |
+
)
|
89 |
+
},
|
90 |
+
{
|
91 |
+
"role": "user",
|
92 |
+
"content": (
|
93 |
+
f"Schema:\n{json.dumps(schema, indent=2)}\n\n"
|
94 |
+
f"Natural Language Query:\n\"{nl_query}\"\n\nSQL Query:"
|
95 |
+
)
|
96 |
+
}
|
97 |
+
]
|
98 |
|
99 |
try:
|
100 |
+
response = openai.ChatCompletion.create(
|
101 |
+
model="gpt-4-turbo",
|
102 |
+
messages=messages,
|
103 |
temperature=0, # Set to 0 for deterministic output
|
104 |
max_tokens=150,
|
|
|
|
|
|
|
|
|
105 |
)
|
106 |
+
sql_query = response.choices[0].message['content'].strip()
|
107 |
return sql_query
|
108 |
except Exception as e:
|
109 |
return f"Error generating SQL query: {e}"
|