Spaces:
Sleeping
Sleeping
import gradio as gr | |
from rag import mongo_rag_tool | |
from gradio.themes.base import Base | |
# Create an instance of GradIO | |
with gr.Blocks(theme=Base(), title="Market Research and VOC bot") as demo: | |
# A styled header for the app | |
gr.Markdown( | |
""" | |
<div style='text-align: center; font-size: 24px; font-weight: bold; margin-bottom: 20px;'> | |
Chat with your data | |
</div> | |
""" | |
) | |
# Input fields for the collection and the question, with descriptive text | |
gr.Markdown( | |
""" | |
<div style='text-align: left; font-size: 18px; margin-bottom: 10px;'> | |
Enter the collection and your query to get relevant answers: | |
</div> | |
""" | |
) | |
collection_textbox = gr.Textbox(label="Enter your Collection:", placeholder="e.g., market_data", lines=1) | |
query_textbox = gr.Textbox(label="Enter your Question:", placeholder="Type your question here...", lines=1) | |
# Submit button with some spacing and central alignment | |
with gr.Row(): | |
button = gr.Button("Submit", variant="primary", size="lg") | |
# Output section for displaying the answer and sources one below the other | |
gr.Markdown( | |
""" | |
<div style='text-align: left; font-size: 18px; margin-bottom: 10px;'> | |
Output: | |
</div> | |
""" | |
) | |
# Using a Column to place the answer and source outputs one after the other | |
with gr.Column(): | |
answer_output = gr.Textbox(lines=5, label="Answer:", max_lines=50) | |
source_output = gr.Textbox(lines=5, label="Sources:", max_lines=50) | |
# Connect the button to the function | |
button.click(mongo_rag_tool, inputs=[query_textbox, collection_textbox], outputs=[answer_output, source_output]) | |
demo.launch() |