Spaces:
Runtime error
Runtime error
from transformers import pipeline | |
import torch | |
import gradio as gr | |
import os | |
from huggingface_hub import login | |
from utils import parse_args | |
from dotenv import load_dotenv | |
args = parse_args() | |
load_dotenv() | |
model = args['model'] | |
model_name = "clinical-assistance/" + model | |
# Load secrets | |
token = os.getenv("TOKEN") | |
assert token is not None, 'Hugging Face token has not been specified. Please specify your token in a .env file.' | |
# Login to Hugging Face | |
login(token=token) | |
# Init model | |
device = 'cuda:0' if torch.cuda.is_available() else 'cpu' | |
generate_kwargs = {"language":"<|es|>", "task": "transcribe"} | |
pipe = pipeline(model=model_name, generate_kwargs=generate_kwargs, device = device) | |
def model_transcribe(audio): | |
''' | |
Transcribes audio to text using the Whisper model. | |
''' | |
text = pipe(audio)["text"] | |
return text | |
# Define the Gradio app with the correct syntax for loading the function and handling inputs/outputs | |
with gr.Blocks(theme=gr.themes.Base()) as demo: | |
with gr.Row(): | |
gr.Markdown( | |
""" | |
# Transcripción Automática de Consultas Médicas 👨🏻⚕️🚀 | |
Bienvenido a la herramienta de transcripción de consultas médicas! Esta herramienta está diseñada para transcribir grabaciones de consultas médicas usando `Whisper`. | |
## Cómo usar esta herramienta? | |
Usar esta herramienta es fácil! Sólo debes seguir los siguientes pasos: | |
1. Sube la grabación de una consulta médica. Opcionalmente puedes grabar audio y subir la grabación. | |
2. Realizar click en "Transcribir" para comenzar el proceso de transcripción. | |
3. Visualizar el audio transcrito en el panel de la derecha. | |
Eso es todo! Estás listo para transcribir grabaciones de consultas médicas de manera automática. Que lo disfrutes! | |
""" | |
) | |
with gr.Row(): | |
audio_input = gr.Audio(sources=["upload", "microphone"], type="filepath", label="Audio de Entrada") | |
text_output = gr.Textbox(label="Texto de Salida") | |
with gr.Row(): | |
button = gr.Button("Transcribir") | |
# Correct method to link function with inputs and outputs | |
button.click(fn=model_transcribe, inputs=audio_input, outputs=text_output) | |
# Use demo.launch() to launch the interface with optional debug mode | |
demo.launch(debug=True, share = True) | |