|
import gradio as gr |
|
from dotenv import load_dotenv |
|
from src.clients import AcademicClient |
|
|
|
load_dotenv() |
|
client = AcademicClient() |
|
|
|
|
|
def perform_qa(query: str, options: str) -> str: |
|
return client.answer(query, options.split('\n')) |
|
|
|
|
|
css = """ |
|
body { |
|
image-align: center; |
|
display:block; |
|
} |
|
""" |
|
|
|
with gr.Blocks(css=css) as demo: |
|
gr.Markdown('# Wisdom.AI'), |
|
gr.Image('misc/wisdom.jpg', height=600, width=400) |
|
with gr.Row(): |
|
inp = gr.Textbox('Чия типологія поділяється на традиційні, харизматичні й раціональні системи?', label='Питання', min_width=400) |
|
out = gr.Textbox('Мудрий каже...', label='Відповідь', min_width=400) |
|
|
|
options = gr.Textbox('Вебер\nЛенін\nГоббс\nДональд Трамп', label='Варіанти відповіді:', min_width=800) |
|
|
|
btn = gr.Button('Спитати') |
|
btn.click(fn=perform_qa, inputs=[inp, options], outputs=out) |
|
|
|
if __name__ == "__main__": |
|
demo.launch() |
|
|