Spaces:
Build error
Build error
| import gradio as gr | |
| import pandas as pd | |
| from deliverable2 import URLValidator | |
| # β Instantiate the URLValidator class | |
| validator = URLValidator() | |
| # β Function to validate a single query-URL pair | |
| def validate_url(user_query, url_to_check): | |
| """Runs the credibility validation process and returns results.""" | |
| result = validator.rate_url_validity(user_query, url_to_check) | |
| # Extract relevant fields from the result dictionary | |
| func_rating = round(result["raw_score"]["Final Validity Score"] / 20) # Convert to 1-5 scale | |
| custom_rating = min(func_rating + 1, 5) # Ensure max rating is 5 | |
| explanation = result["explanation"] | |
| stars = result["stars"]["icon"] | |
| return func_rating, custom_rating, stars, explanation | |
| # β Batch processing for all queries & URLs | |
| def validate_all(): | |
| """Runs validation for all 15 queries & URLs and saves to CSV.""" | |
| sample_queries = [ | |
| "How does artificial intelligence impact the job market?", | |
| "What are the risks of genetically modified organisms (GMOs)?", | |
| "What are the environmental effects of plastic pollution?", | |
| "How does 5G technology affect human health?", | |
| "What are the latest treatments for Alzheimer's disease?", | |
| "Is red meat consumption linked to heart disease?", | |
| "How does cryptocurrency mining impact the environment?", | |
| "What are the benefits of electric cars?", | |
| "How does sleep deprivation affect cognitive function?", | |
| "What are the effects of social media on teenage mental health?", | |
| "What are the ethical concerns of facial recognition technology?", | |
| "How does air pollution contribute to lung diseases?", | |
| "What are the potential dangers of artificial general intelligence?", | |
| "How does meditation impact brain function?", | |
| "What are the psychological effects of video game addiction?" | |
| ] | |
| sample_urls = [ | |
| "https://www.forbes.com/sites/forbestechcouncil/2023/10/15/impact-of-ai-on-the-job-market/", | |
| "https://www.fda.gov/food/food-labeling-nutrition/consumers-guide-gmo-foods", | |
| "https://www.nationalgeographic.com/environment/article/plastic-pollution", | |
| "https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7453195/", | |
| "https://www.alz.org/alzheimers-dementia/treatments", | |
| "https://www.heart.org/en/news/2021/02/10/how-red-meat-affects-heart-health", | |
| "https://www.scientificamerican.com/article/how-bitcoin-mining-impacts-the-environment/", | |
| "https://www.tesla.com/blog/environmental-benefits-electric-cars", | |
| "https://www.sleepfoundation.org/sleep-deprivation", | |
| "https://www.psychologytoday.com/us/basics/teenagers-and-social-media", | |
| "https://www.brookings.edu/research/facial-recognition-technology-ethical-concerns/", | |
| "https://www.who.int/news-room/fact-sheets/detail/ambient-(outdoor)-air-quality-and-health", | |
| "https://futureoflife.org/background/benefits-risks-of-artificial-intelligence/", | |
| "https://www.mindful.org/meditation/mindfulness-getting-started/", | |
| "https://www.apa.org/news/press/releases/stress/2020/video-games" | |
| ] | |
| # Process all queries & URLs | |
| results = [] | |
| for query, url in zip(sample_queries, sample_urls): | |
| func_rating, custom_rating, stars, explanation = validate_url(query, url) | |
| results.append([query, url, func_rating, custom_rating, stars, explanation]) | |
| # Save results to CSV | |
| df = pd.DataFrame(results, columns=["user_query", "url_to_check", "func_rating", "custom_rating", "stars", "explanation"]) | |
| df.to_csv("url_validation_results.csv", index=False) | |
| return df | |
| # β Define the Gradio UI interface | |
| with gr.Blocks() as app: | |
| gr.Markdown("# π URL Credibility Validator π") | |
| gr.Markdown("Enter a **query** and a **URL** to check its credibility.") | |
| # User input fields | |
| user_query = gr.Textbox(label="π User Query", placeholder="Enter your search query...") | |
| url_to_check = gr.Textbox(label="π URL to Validate", placeholder="Enter the URL...") | |
| # Output fields | |
| func_rating_output = gr.Textbox(label="π’ Function Rating (1-5)", interactive=False) | |
| custom_rating_output = gr.Textbox(label="β Custom Rating (1-5)", interactive=False) | |
| stars_output = gr.Textbox(label="π Star Rating", interactive=False) | |
| explanation_output = gr.Textbox(label="π Explanation", interactive=False) | |
| # Validate Button (Single Query) | |
| validate_button = gr.Button("β Validate URL") | |
| validate_button.click( | |
| validate_url, | |
| inputs=[user_query, url_to_check], | |
| outputs=[func_rating_output, custom_rating_output, stars_output, explanation_output] | |
| ) | |
| # Batch Validate Button | |
| gr.Markdown("## Validate All Predefined Queries & URLs") | |
| batch_validate_button = gr.Button("π Validate All") | |
| results_table = gr.DataFrame() | |
| batch_validate_button.click(validate_all, outputs=results_table) | |
| # β Launch Gradio App | |
| app.launch() | |