import gradio as gr import requests API_URL = "https://api-inference.huggingface.co/models/tiiuae/falcon-7b-instruct" headers = {"Authorization": "Bearer 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"} def query(payload): response = requests.post(API_URL, headers=headers, json=payload) return response.json() API_URL2 = "https://api-inference.huggingface.co/models/valhalla/longformer-base-4096-finetuned-squadv1" headers2 = {"Authorization": "Bearer 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"} def query2(payload): response = requests.post(API_URL2, headers=headers2, json=payload) return response.json() class State: question = "" context = "" answer = "" state = State() def detect_context_from_question(): state.question = detect_context_from_question.interface.inputs[0].value output = query({ "inputs": f"context for '{state.question}' is:", }) detect_context_from_question.interface.inputs[1].value = output # Update the value of the context Textbox def ask_question(): state.question = ask_question.interface.inputs[0].value state.context = ask_question.interface.inputs[1].value output2 = query2({ "inputs": { "question": state.question, "context": state.context }, }) ask_question.interface.outputs[0].value = output2 # Update the value of the answer Textbox iface_detect = gr.Interface( fn=detect_context_from_question, inputs=[ gr.Textbox(type="text", placeholder="Enter your question"), gr.Textbox(type="text", placeholder="Enter context"), gr.Button("Detect Context") ], live=True ) iface_ask = gr.Interface( fn=ask_question, inputs=[ gr.Textbox(type="text", placeholder="Enter your question"), gr.Textbox(type="text", placeholder="Enter context"), gr.Button("Ask") ], outputs=gr.Textbox(type="text", placeholder="Answer"), # Single Textbox for the answer live=True ) iface_detect.launch() iface_ask.launch()