Spaces:
Sleeping
Sleeping
| import requests | |
| import os | |
| import gradio as gr | |
| ML_ENDPOINT_URL = os.environ.get("ML_ENDPOINT_URL", "http://50.18.255.74:8040/rewrite") | |
| client_session = requests.Session() | |
| client_session.keep_alive = 5 | |
| # Example queries to help users understand the app | |
| EXAMPLE_QUERIES = [ | |
| [ | |
| "In what year was the winner of the 44th edition of the Miss World competition born?" | |
| ], | |
| ["Who lived longer, Nikola Tesla or Milutin Milankovic?"], | |
| [ | |
| "Author David Chanoff has collaborated with a U.S. Navy admiral who served as the ambassador to the United Kingdom under which President?" | |
| ], | |
| ["Create a table for top noise cancelling headphones that are not expensive"], | |
| ["what are some ways to do fast query reformulation?"], | |
| ] | |
| def make_request(query): | |
| try: | |
| # Replace with your actual API endpoint | |
| if "rewrite: " not in query: | |
| query = f"rewrite: {query}" | |
| response = client_session.post(ML_ENDPOINT_URL, json={"inputs": query}) | |
| response.raise_for_status() | |
| result = response.json() | |
| except requests.exceptions.RequestException as e: | |
| result = f"Error: {str(e)}" | |
| return result | |
| # Create the Gradio interface | |
| with gr.Blocks() as app: | |
| gr.Markdown( | |
| """ | |
| # Query Reformulation Assistant | |
| This tool helps you rewrite text in different semantically style. Simply enter your text and it will be rewritten according to the prefix: | |
| The prefix "rewrite:" will be automatically added if not present. | |
| """ | |
| ) | |
| with gr.Row(): | |
| query_input = gr.Textbox( | |
| label="Enter your text to rewrite", | |
| placeholder="Type your text here, or try one of the examples below...", | |
| lines=3, | |
| ) | |
| with gr.Row(): | |
| submit_btn = gr.Button("Submit", variant="primary") | |
| clear_btn = gr.Button("Clear") | |
| with gr.Row(): | |
| response_output = gr.Textbox(label="Rewritten Text", lines=5, interactive=False) | |
| # Add examples section | |
| gr.Examples( | |
| examples=EXAMPLE_QUERIES, | |
| inputs=query_input, | |
| outputs=[response_output], | |
| fn=make_request, | |
| cache_examples=True, | |
| label="Example Queries", | |
| ) | |
| # Clear button functionality | |
| clear_btn.click( | |
| lambda: ("", "", ""), # Clear input # Clear output # Clear time label | |
| outputs=[query_input, response_output], | |
| ) | |
| # Submit button click event | |
| submit_btn.click(fn=make_request, inputs=[query_input], outputs=[response_output]) | |
| # Add keyboard shortcut for submission | |
| query_input.submit(fn=make_request, inputs=[query_input], outputs=[response_output]) | |
| # Launch the app | |
| if __name__ == "__main__": | |
| app.launch() | |