Spaces:
Runtime error
Runtime error
Commit ·
0d9e5d5
1
Parent(s): f4848b6
added fine tuned model tab
Browse files
app.py
CHANGED
|
@@ -43,6 +43,17 @@ queryHelper = QueryHelper(gptInstance=gptInstance,
|
|
| 43 |
dbEngine=dbEngine,
|
| 44 |
getSampleDataForTablesAndCols=getSampleDataForTablesAndCols)
|
| 45 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 46 |
def checkAuth(username, password):
|
| 47 |
global ADMIN, PASSWD
|
| 48 |
if username == ADMIN and password == PASSWD:
|
|
@@ -65,12 +76,31 @@ def respond(message, chatHistory):
|
|
| 65 |
saveLog(errorMessage, 'error')
|
| 66 |
raise ValueError(str(e))
|
| 67 |
queryGenerated = extractSqlFromGptResponse(botMessage)
|
| 68 |
-
logMessage = {"userInput":message, "tablesColsSelectedByGpt":str(prospectTablesAndCols) , "queryGenerated":queryGenerated, "completeGptResponse":botMessage}
|
| 69 |
saveLog(logMessage)
|
| 70 |
chatHistory.append((message, botMessage))
|
| 71 |
time.sleep(2)
|
| 72 |
return "", chatHistory
|
| 73 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 74 |
|
| 75 |
|
| 76 |
def preProcessSQL(sql):
|
|
@@ -195,6 +225,13 @@ with gr.Blocks() as demo:
|
|
| 195 |
clear = gr.ClearButton([msg, chatbot])
|
| 196 |
msg.submit(respond, [msg, chatbot], [msg, chatbot])
|
| 197 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 198 |
# screen 2 : To run sql query against database
|
| 199 |
with gr.Tab("Run Query"):
|
| 200 |
gr.Markdown("""<h1><center> Run Query </center></h1>""")
|
|
@@ -253,5 +290,4 @@ with gr.Blocks() as demo:
|
|
| 253 |
refreshLogs = gr.Button("Sync Log files from /data")
|
| 254 |
refreshLogs.click(onSyncLogsWithDataDir, inputs=None, outputs=fileComponent)
|
| 255 |
|
| 256 |
-
demo.launch(share=True, debug=True, ssl_verify=False, auth=checkAuth)
|
| 257 |
-
dbEngine.connect()
|
|
|
|
| 43 |
dbEngine=dbEngine,
|
| 44 |
getSampleDataForTablesAndCols=getSampleDataForTablesAndCols)
|
| 45 |
|
| 46 |
+
|
| 47 |
+
openAIClient2 = OpenAI(api_key=OPENAI_API_KEY)
|
| 48 |
+
gptInstanceFineTuned = ChatgptManager(openAIClient2, model=GPT_MODEL_FINE_TUNED)
|
| 49 |
+
queryHelperFineTuned = QueryHelper(gptInstance=gptInstanceFineTuned,
|
| 50 |
+
schemaName=SCHEMA_NAME,platform=PLATFORM,
|
| 51 |
+
metadataLayout=metadataLayout,
|
| 52 |
+
sampleDataRows=SAMPLE_ROW_MAX,
|
| 53 |
+
gptSampleRows=GPT_SAMPLE_ROWS,
|
| 54 |
+
dbEngine=dbEngine,
|
| 55 |
+
getSampleDataForTablesAndCols=getSampleDataForTablesAndCols)
|
| 56 |
+
|
| 57 |
def checkAuth(username, password):
|
| 58 |
global ADMIN, PASSWD
|
| 59 |
if username == ADMIN and password == PASSWD:
|
|
|
|
| 76 |
saveLog(errorMessage, 'error')
|
| 77 |
raise ValueError(str(e))
|
| 78 |
queryGenerated = extractSqlFromGptResponse(botMessage)
|
| 79 |
+
logMessage = {"userInput":message, "tablesColsSelectedByGpt":str(prospectTablesAndCols) , "queryGenerated":queryGenerated, "completeGptResponse":botMessage, "function":"queryHelper.getQueryForUserInput"}
|
| 80 |
saveLog(logMessage)
|
| 81 |
chatHistory.append((message, botMessage))
|
| 82 |
time.sleep(2)
|
| 83 |
return "", chatHistory
|
| 84 |
|
| 85 |
+
# Function to save history of chat
|
| 86 |
+
def respondFineTuned(message, chatHistory):
|
| 87 |
+
"""gpt response handler for gradio ui"""
|
| 88 |
+
global queryHelper
|
| 89 |
+
try:
|
| 90 |
+
if "modify" in message:
|
| 91 |
+
botMessage, prospectTablesAndCols = queryHelperFineTuned.getQueryForUserInput(message, chatHistory)
|
| 92 |
+
else:
|
| 93 |
+
botMessage, prospectTablesAndCols = queryHelperFineTuned.getQueryForUserInput(message, [])
|
| 94 |
+
except Exception as e:
|
| 95 |
+
errorMessage = {"function":"queryHelperFineTuned.getQueryForUserInput","error":str(e), "userInput":message}
|
| 96 |
+
saveLog(errorMessage, 'error')
|
| 97 |
+
raise ValueError(str(e))
|
| 98 |
+
queryGenerated = extractSqlFromGptResponse(botMessage)
|
| 99 |
+
logMessage = {"userInput":message, "tablesColsSelectedByGpt":str(prospectTablesAndCols) , "queryGenerated":queryGenerated, "completeGptResponse":botMessage, "function":"queryHelperFineTuned.getQueryForUserInput"}
|
| 100 |
+
saveLog(logMessage)
|
| 101 |
+
chatHistory.append((message, botMessage))
|
| 102 |
+
time.sleep(2)
|
| 103 |
+
return "", chatHistory
|
| 104 |
|
| 105 |
|
| 106 |
def preProcessSQL(sql):
|
|
|
|
| 225 |
clear = gr.ClearButton([msg, chatbot])
|
| 226 |
msg.submit(respond, [msg, chatbot], [msg, chatbot])
|
| 227 |
|
| 228 |
+
with gr.Tab("Query Helper Fine Tuned"):
|
| 229 |
+
gr.Markdown("""<h1><center> Query Helper Fine Tuned</center></h1>""")
|
| 230 |
+
chatbot = gr.Chatbot()
|
| 231 |
+
msg = gr.Textbox()
|
| 232 |
+
clear = gr.ClearButton([msg, chatbot])
|
| 233 |
+
msg.submit(respondFineTuned, [msg, chatbot], [msg, chatbot])
|
| 234 |
+
|
| 235 |
# screen 2 : To run sql query against database
|
| 236 |
with gr.Tab("Run Query"):
|
| 237 |
gr.Markdown("""<h1><center> Run Query </center></h1>""")
|
|
|
|
| 290 |
refreshLogs = gr.Button("Sync Log files from /data")
|
| 291 |
refreshLogs.click(onSyncLogsWithDataDir, inputs=None, outputs=fileComponent)
|
| 292 |
|
| 293 |
+
demo.launch(share=True, debug=True, ssl_verify=False, auth=checkAuth)
|
|
|