hassoudi's picture
Update app.py
f33c0ca verified
raw
history blame
2.13 kB
import gradio as gr
from huggingface_hub import login
import os
def load_healthcare_ner():
login(token=os.environ["HF_TOKEN"])
model = AutoModelForTokenClassification.from_pretrained(
"TypicaAI/HealthcareNER-Fr",
token=os.environ["HF_TOKEN"]
)
return model
def process_text(text):
entities = model(text)
# Format results with highlighting
html_output = highlight_entities(text, entities)
# Track usage for marketing insights
log_demo_usage(text, len(entities))
return html_output
demo = gr.Interface(
fn=process_text,
inputs=gr.Textbox(
label="Paste French medical text",
placeholder="Le patient présente une hypertension artérielle...",
lines=5
),
outputs=gr.HTML(label="Identified Medical Entities"),
title="French Healthcare NER Demo | As featured in 'NLP on OCI'",
description="""
🔬 Live demo of the French Healthcare NER model built in Chapter 5 of 'NLP on OCI'
📚 Follow along with the book to build this exact model step-by-step
🏥 Perfect for medical text analysis, clinical studies, and healthcare compliance
⚡ Powered by Oracle Cloud Infrastructure
By [Hicham Assoudi] - Oracle Consultant & AI Researcher
""",
examples=[
["Le patient souffre d'hypertension et diabète de type 2. Traitement: Metformine 500mg."],
["Antécédents: infarctus du myocarde en 2019. Allergie à la pénicilline."]
]
)
# Add conversion elements
with gr.Blocks() as marketing_elements:
gr.Markdown("""
### 📖 Get the Complete Guide
Learn how to build and deploy this exact model in 'NLP on OCI'
- ✓ Step-by-step implementation
- ✓ Performance optimization
- ✓ Enterprise deployment patterns
- ✓ Complete source code
[Get the Book](your-book-link) | Use code `NERSPACE` for 15% off
""")
with gr.Row():
email_input = gr.Textbox(
label="Get the French Healthcare NER Dataset",
placeholder="Enter your business email"
)
submit_btn = gr.Button("Access Dataset")