Spaces:
Runtime error
Runtime error
| import time | |
| import streamlit as st | |
| import requests | |
| headers = {"Authorization": "Bearer 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"} | |
| st.title("extractive-qa") | |
| option = st.selectbox( | |
| 'Select a model👇', | |
| ('distilbert-base-cased-distilled-squad', 'roberta-base-squad2-distilled', 'xlm-roberta-large-squad2', 'bert-large-cased-whole-word-masking-finetuned-squad')) | |
| text_input = st.text_area("Enter some context👇") | |
| text_question = st.text_input("Enter a question regarding that context👇") | |
| if option == 'distilbert-base-cased-distilled-squad': | |
| API_URL = "https://api-inference.huggingface.co/models/distilbert-base-cased-distilled-squad" | |
| elif option == "roberta-base-squad2-distilled": | |
| API_URL="https://api-inference.huggingface.co/models/deepset/roberta-base-squad2-distilled" | |
| elif option == 'xlm-roberta-large-squad2': | |
| API_URL="https://api-inference.huggingface.co/models/deepset/xlm-roberta-large-squad2" | |
| if option == "bert-large-cased-whole-word-masking-finetuned-squad": | |
| API_URL = "https://api-inference.huggingface.co/models/bert-large-cased-whole-word-masking-finetuned-squad" | |
| def query(payload): | |
| retries = 0 | |
| while True: | |
| response = requests.post(API_URL, headers=headers, json=payload) | |
| if response.status_code == 200: | |
| return response.json() | |
| elif response.status_code == 429: | |
| retries += 1 | |
| wait_time = 2 ** retries | |
| print(f"Too many requests. Retrying in {wait_time} seconds...") | |
| time.sleep(wait_time) | |
| else: | |
| st.error(f"Request failed with status code {response.status_code}. Try Again!", icon="🚨") | |
| return None | |
| if st.button("Send"): | |
| output = query({"inputs": {"question": text_question, "context": text_input}}) | |
| if output: | |
| answer = output["answer"] | |
| st.write(output) | |