LeonceNsh commited on
Commit
13f0f94
·
verified ·
1 Parent(s): 5aa9d1e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +21 -20
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-3 Completion API.
79
  """
80
  openai.api_key = os.getenv('OPENAI_API_KEY') # Ensure your API key is set as an environment variable
81
 
82
- prompt = f"""
83
- You are an assistant that converts natural language queries into SQL queries for a DuckDB database named 'contract_data'. Use the provided schema to form accurate SQL queries.
84
-
85
- Schema:
86
- {json.dumps(schema, indent=2)}
87
-
88
- Natural Language Query:
89
- "{nl_query}"
90
-
91
- SQL Query:
92
- """
 
 
 
 
 
93
 
94
  try:
95
- response = openai.Completion.create(
96
- model="gpt-3.5-turbo-instruct", # Use the appropriate model for completions
97
- prompt=prompt,
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].text.strip()
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}"