import gradio as gr from main_query_tube import * from thirdai import licensing, neural_db as ndb licensing.deactivate() licensing.activate("1FB7DD-CAC3EC-832A67-84208D-C4E39E-V3") def search_playlist(playlist_link, query): print('entered search playlist function') csv_file = create_data(playlist_link) print('csv_file_created') csv_file['index_col'] = csv_file.index csv_file.iloc[:, 1:4] = csv_file.iloc[:, 1:4].astype(str) db = ndb.NeuralDB(user_id="team_iisc_query_tube") insertable_docs = [] print('db initialization worked') for file in csv_file: csv_doc = ndb.CSV( path=file, id_column="index_col", strong_columns=["text"], weak_columns=[], reference_columns=["text"], save_extra_info=True) insertable_docs.append(csv_doc) print('csv_doc created') source_ids = db.insert(insertable_docs, train=False) print('insert db done') search_results = db.search( query=query, top_k=3, on_error=lambda error_msg: print(f"Error! {error_msg}")) print('search results done') # for result in search_results: # return str(search_results[0].metadata['video_serial_number']) return search_results[0] # print(result.text) # print(result.context(radius=1)) # print(result.source) # print('video_number = ',result.metadata['video_serial_number']) # print('start_time =',result.metadata['start']) # print('************') # def greet(name): # return "Hello " + name + "!!" # iface = gr.Interface(fn=greet, inputs="text", outputs="text") # iface.launch() iface = gr.Interface( fn=search_playlist, inputs=[gr.inputs.Textbox(label="YouTube Playlist Link"), gr.inputs.Textbox(label="Query")], outputs="dict", title="Query Tube", description="Enter a YouTube playlist link and a query to find videos where the query is discussed." ) iface.launch()