Sebastian Tinoco
changed default model
9846887
raw
history blame contribute delete
No virus
2.42 kB
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)