Spaces:
Build error
Build error
| import gradio as gr | |
| import requests | |
| import os | |
| API_URL = "https://api-inference.huggingface.co/models/nlpaueb/legal-bert-base-uncased" | |
| API_KEY = os.getenv("Contract_Risk") | |
| def analyze_contract(contract_text): | |
| headers = { | |
| "Authorization": f"Bearer {API_KEY}", | |
| "Content-Type": "application/json" | |
| } | |
| payload = {"inputs": contract_text} | |
| try: | |
| # Send the contract text to Hugging Face for analysis | |
| response = requests.post(API_URL, headers=headers, json=payload, timeout=30) | |
| response.raise_for_status() | |
| result = response.json() | |
| overall_risk_score = result.get('overall_score', 'No score available') | |
| high_risk_clauses = result.get('high_risk_clauses', 'No high-risk clauses detected') | |
| risk_map_url = result.get('risk_map_url', 'No risk map available') | |
| return overall_risk_score, high_risk_clauses, risk_map_url | |
| except requests.exceptions.ConnectionError as e: | |
| print(f"Network Error: {e}") | |
| return "Network Error: Unable to connect to Hugging Face API", "", "" | |
| except requests.exceptions.RequestException as e: | |
| print(f"Request Error: {e}") | |
| return f"Request Error: {e}", "", "" | |
| except Exception as e: | |
| print(f"Unexpected error: {e}") | |
| return f"Unexpected error: {e}", "", "" | |
| def create_ui(): | |
| with gr.Blocks() as demo: | |
| gr.Markdown("### Contract Risk Analyzer") | |
| with gr.Row(): | |
| contract_input = gr.Textbox(label="Contract Text", placeholder="Paste contract text here", lines=10) | |
| with gr.Row(): | |
| analyze_button = gr.Button("Analyze Contract") | |
| with gr.Row(): | |
| risk_score_output = gr.Textbox(label="Overall Risk Score", interactive=False) | |
| high_risk_clauses_output = gr.Textbox(label="High Risk Clauses", interactive=False) | |
| risk_map_url_output = gr.Textbox(label="Risk Map URL", interactive=False) | |
| analyze_button.click(fn=analyze_contract, inputs=contract_input, outputs=[risk_score_output, high_risk_clauses_output, risk_map_url_output]) | |
| demo.launch() | |
| if __name__ == "__main__": | |
| create_ui() | |