rrg92 commited on
Commit
669c03e
·
1 Parent(s): a1ce281

Add standalone search support

Browse files
Files changed (1) hide show
  1. app.py +49 -0
app.py CHANGED
@@ -329,9 +329,50 @@ def ChatFunc(message, history, LangMode, ChooseLang):
329
  finally:
330
  yield m.done()
331
 
 
 
 
 
 
 
 
 
 
 
 
332
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
333
 
334
  resultTable = gr.Dataframe(datatype = ['html','number','number'], interactive = False, show_search = "search");
 
335
 
336
  with gr.Blocks(fill_height=True) as demo:
337
 
@@ -367,8 +408,13 @@ with gr.Blocks(fill_height=True) as demo:
367
 
368
 
369
  with gr.Tab("Rank"):
 
 
370
  resultTable.render();
371
 
 
 
 
372
  with gr.Tab("Help"):
373
  gr.Markdown("""
374
  Bem-vindo ao Space SQL Server Lib
@@ -405,6 +451,9 @@ with gr.Blocks(fill_height=True) as demo:
405
  txtEmbed = gr.Text(label="Text to embed", visible=False)
406
  btnEmbed = gr.Button("embed");
407
  btnEmbed.click(embed, [txtEmbed], [txtEmbed])
 
 
 
408
 
409
 
410
 
 
329
  finally:
330
  yield m.done()
331
 
332
+ def SearchFiles(message, JsonOnly = False):
333
+
334
+ Question = message;
335
+
336
+ try:
337
+ FoundScripts = search(Question)
338
+ except:
339
+ return m("Houve alguma falha ao executar a consulta no banco. Tente novamente. Se persistir, veja orientações na aba Help!")
340
+ return;
341
+
342
+ doclist = [doc['ScriptContent'] for doc in FoundScripts]
343
 
344
+ # Faz o reranker!
345
+
346
+
347
+
348
+ ScriptTable = [];
349
+ for score in rerank(Question, doclist):
350
+ i = score['corpus_id'];
351
+ script = FoundScripts[i];
352
+ script['rank'] = str(score['score'])
353
+ link = "https://github.com/rrg92/sqlserver-lib/tree/main/" + script['RelPath']
354
+ script['link'] = link;
355
+
356
+ if not AsJson:
357
+ ScriptTable.append({
358
+ 'Link': f'<a title="{link}" href="{link}" target="_blank">{script["RelPath"]}</a>'
359
+ ,'Length': script['ContentLength']
360
+ ,'Cosine Similarity': script['Similaridade']
361
+ ,'Rank': script['rank']
362
+ })
363
+
364
+ RankedScripts = sorted(FoundScripts, key=lambda item: float(item['rank']), reverse=True)
365
+
366
+ result = pd.DataFrame(ScriptTable)
367
+ jsonresult = None;
368
+ if JsonOnly:
369
+ result = None;
370
+ jsonresult = json.dumps(RankedScripts)
371
+
372
+ return result,jsonresult;
373
 
374
  resultTable = gr.Dataframe(datatype = ['html','number','number'], interactive = False, show_search = "search");
375
+ TextResults = gr.Textbox()
376
 
377
  with gr.Blocks(fill_height=True) as demo:
378
 
 
408
 
409
 
410
  with gr.Tab("Rank"):
411
+ txtSearchTable = gr.Textbox(label="Search script files",info="Description of what you want")
412
+ AsJson = gr.Checkbox(visible = False)
413
  resultTable.render();
414
 
415
+
416
+ txtSearchTable.submit(SearchFiles, [txtSearchTable,AsJson],[resultTable,TextResults])
417
+
418
  with gr.Tab("Help"):
419
  gr.Markdown("""
420
  Bem-vindo ao Space SQL Server Lib
 
451
  txtEmbed = gr.Text(label="Text to embed", visible=False)
452
  btnEmbed = gr.Button("embed");
453
  btnEmbed.click(embed, [txtEmbed], [txtEmbed])
454
+
455
+ TextResults.render();
456
+
457
 
458
 
459