Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| from transformers import AutoModel, AutoTokenizer | |
| import json | |
| # Load model and tokenizer | |
| repo_id = "rasoultilburg/SocioCausaNet" | |
| model = AutoModel.from_pretrained(repo_id, trust_remote_code=True) | |
| tokenizer = AutoTokenizer.from_pretrained(repo_id) | |
| # Prediction function | |
| def predict(sentences, rel_mode="auto", rel_threshold=0.5, cause_decision="cls+span"): | |
| results = model.predict( | |
| sentences, | |
| tokenizer=tokenizer, | |
| rel_mode=rel_mode, | |
| rel_threshold=rel_threshold, | |
| cause_decision=cause_decision | |
| ) | |
| return json.dumps(results, indent=2, ensure_ascii=False) | |
| # Gradio interface | |
| iface = gr.Interface( | |
| fn=predict, | |
| inputs=[ | |
| gr.Textbox(label="Sentences (comma-separated)", placeholder="Enter sentences"), | |
| gr.Radio(["auto", "neural_only"], label="Relation Mode", value="auto"), | |
| gr.Slider(0.0, 1.0, value=0.5, label="Relation Threshold"), | |
| gr.Radio(["cls_only", "span_only", "cls+span"], label="Cause Decision", value="cls+span") | |
| ], | |
| outputs="text", | |
| title="SocioCausaNet API", | |
| description="Extract causal relations from text" | |
| ) | |
| iface.launch() | |