File size: 1,612 Bytes
03f1c64
26d2488
03f1c64
 
26d2488
03f1c64
2fbdd0c
26d2488
2fbdd0c
03f1c64
 
2fbdd0c
03f1c64
 
 
 
 
 
 
 
 
 
 
 
 
 
26d2488
 
03f1c64
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
from modules.knowledge_retrieval.knowledge_router import KnowledgeDomainRouter, get_knowledge_domain_router_config
from modules.settings.user_settings import UserSettings
import gradio as gr
import os 


def determine_and_execute(question: str, temperature: float):
    settings = UserSettings.get_instance()

    config = get_knowledge_domain_router_config(temperature=temperature)
    config.temperature = temperature
    determiner = KnowledgeDomainRouter(config=config, question=question, display=print)
    determine_output, execute_output = determiner.determine_and_execute(question=question)
    return determine_output, execute_output

examples = [["""When is my grandmothers birthday?""", 0.6], ["What was my tax burden last year?", 0.6 ], ["What is the most recent magic the gathering card set released?", 0.6], ["What products are the most popular with my small business customers?", 0.6]]

def create_knowledge_router_ui(cache_examples=False):  
    with gr.Row():
        question = gr.Textbox(label="Enter your question here:")
        temperature = gr.Slider(minimum=0, maximum=2, default=.7, label="Temperature")
    with gr.Column():
        reasoning_strategy = gr.Textbox(label="Reasoning Strategy")
        reasoning = gr.Textbox(label="Reasoning")
    
    generate_button = gr.Button(label="Generate")
    generate_button.click(determine_and_execute, outputs=[reasoning_strategy, reasoning], inputs=[question, temperature])
    gr.Examples(examples=examples, fn=determine_and_execute, cache_examples=cache_examples, inputs=[question, temperature], outputs=[reasoning_strategy, reasoning])