cntxt-filter-ui / app.py
VerifiedPrompts's picture
Update app.py
2bbb75b verified
import gradio as gr
from transformers import pipeline
model = "VerifiedPrompts/CNTXT-Filter-Prompt-Opt"
classifier = pipeline("text-classification", model=model, return_all_scores=True)
def classify(prompt):
results = classifier(prompt)[0]
# Map model labels to readable names
label_map = {
"LABEL_0": "Intent is unclear, Please input more context",
"LABEL_1": "has context",
"LABEL_2": "missing platform, audience, budget, goal"
}
# Convert list of label-score dicts into a usable dict
score_dict = {r["label"]: r["score"] for r in results}
# πŸ”’ Priority logic: if label_0 score > 0, block it
if score_dict["LABEL_0"] > 0:
return "Intent is unclear"
# Otherwise, return the top label
top_label = max(results, key=lambda r: r["score"])["label"]
return label_map[top_label]
demo = gr.Interface(
fn=classify,
inputs="textbox",
outputs="text",
title="Prompt Context Classifier",
description="Classifies prompts as clear, vague, or missing structural context."
)
demo.launch()