from transformers import pipeline
import gradio as gr
# Pipeline
pipe = pipeline("text-classification", model="AbrorBalxiyev/my_awesome_model", return_all_scores=True)
def get_html_for_results(results):
# Sort results by score in descending order
sorted_results = sorted(results, key=lambda x: x['score'], reverse=True)
html = """
"""
for item in sorted_results:
percentage = item['score'] * 100
html += f"""
{item['label']}
{percentage:.0f}%
"""
html += "
"
return html
# Gradio interfeysi uchun funksiyani qayta yozish
def classify_text(text):
if not text.strip():
return "Please enter some text to classify."
pred = pipe(text)
return get_html_for_results(pred[0])
# Gradio interfeysi
iface = gr.Interface(
fn=classify_text,
inputs=[
gr.Textbox(
placeholder="Enter text to classify...",
label=None,
lines=3
)
],
outputs=gr.HTML(),
title="Text Category Classification",
css="""
.gradio-container {
font-family: Arial, sans-serif;
}
.gradio-interface {
max-width: 800px !important;
}
#component-0 {
border-radius: 8px;
border: 1px solid #ddd;
}
.submit-button {
background-color: #ff6b33 !important;
}
.clear-button {
background-color: #f0f0f0 !important;
color: #333 !important;
}
""",
examples=[
["Messi jahon chempioni bo'ldi"],
["Yangi iPhone 15 Pro Max sotuvga chiqdi"],
["Kitob o'qish foydali"],
["Toshkentda ob-havo issiq"]
]
)
iface.launch(share=True)
# demo=gr.Interface.from_pipeline(pipe)
# demo.launch(debug=True)