vector_search / app.py
aka7774's picture
Upload app.py
9a6771d verified
import fn
import gradio as gr
with gr.Blocks() as demo:
gr.Markdown('# vector_search')
info = gr.Markdown()
with gr.Tab('ddg'):
ddg_query = gr.Textbox(
lines=1,
label='Query',
interactive=True,
show_copy_button=True,
)
ddg_button = gr.Button(
variant='primary',
value='Search',
)
ddg_result = gr.Textbox(
lines=20,
label='Result',
interactive=True,
show_copy_button=True,
)
with gr.Tab('bs4'):
bs4_url = gr.Textbox(
lines=1,
label='URL',
interactive=True,
show_copy_button=True,
)
bs4_button = gr.Button(
variant='primary',
value='Scraping',
)
bs4_result = gr.Textbox(
lines=20,
label='Result',
interactive=True,
show_copy_button=True,
)
with gr.Tab('upload'):
gr.Markdown('name単位でsearchできます。行ごとにchunkになります。')
upload_name = gr.Textbox(
lines=1,
label='Name',
interactive=True,
show_copy_button=True,
)
upload_filename = gr.Textbox(
lines=1,
label='FileName',
interactive=True,
show_copy_button=True,
)
upload_content = gr.Textbox(
lines=20,
label='Content',
interactive=True,
show_copy_button=True,
)
upload_button = gr.Button(
variant='primary',
value='Upload',
)
with gr.Tab('delete'):
delete_name = gr.Textbox(
lines=1,
label='Name',
interactive=True,
show_copy_button=True,
)
delete_filename = gr.Textbox(
lines=1,
label='FileName',
interactive=True,
show_copy_button=True,
)
delete_button = gr.Button(
variant='primary',
value='Delete',
)
with gr.Tab('embedding'):
gr.Markdown('データベースを更新します。')
embedding_button = gr.Button(
variant='primary',
value='Embedding',
)
gr.Markdown('メモリのデータベースを再読み込みします。')
reload_button = gr.Button(
variant='primary',
value='Reload',
)
with gr.Tab('search'):
search_name = gr.Textbox(
lines=1,
label='Name',
interactive=True,
show_copy_button=True,
)
search_query = gr.Textbox(
lines=1,
label='Query',
interactive=True,
show_copy_button=True,
)
search_button = gr.Button(
variant='primary',
value='Search',
)
search_result = gr.Textbox(
label='Result',
lines=20,
interactive=True,
show_copy_button=True,
)
ddg_button.click(
fn=fn.ddg,
inputs=[ddg_query],
outputs=[ddg_result],
)
bs4_button.click(
fn=fn.bs4,
inputs=[bs4_url],
outputs=[bs4_result],
)
upload_button.click(
fn=fn.upload,
inputs=[upload_name, upload_filename, upload_content],
outputs=[info],
)
delete_button.click(
fn=fn.delete,
inputs=[delete_name, delete_filename],
outputs=[info],
)
embedding_button.click(
fn=fn.embedding,
inputs=[],
outputs=[info],
)
reload_button.click(
fn=fn.load_vectors,
inputs=[],
outputs=[info],
)
search_button.click(
fn=fn.search,
inputs=[search_name, search_query],
outputs=[search_result],
)
if __name__ == '__main__':
demo.launch()