Spaces:
Build error
Build error
File size: 1,642 Bytes
6ce95af 2da21c3 6fac8d4 083552b 2da21c3 6ce95af 3a16d68 d7c231b 0f1a20e d7c231b 3a16d68 5f9b8c8 3a16d68 5f9b8c8 3a16d68 3bc75cc 6b7f52f 31f212e d7c231b 6b7f52f d7c231b 7464d3a d7c231b ce7e892 d7c231b cc2774e d7c231b 3a16d68 cc2774e 6ce95af | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | import gradio as gr
import os
import requests
import json
API_TOKEN = os.getenv('HF_API_TOKEN')
PROVIDERMODEL = {
'openai': 'openai/whisper-medium.en',
'facebook': 'facebook/wav2vec2-base-960h',
}
SUMMARYMODEL = {
'openai': 'openai/whisper-medium.en',
'facebook': 'facebook/bart-large-cnn',
}
def query(filename, provider='openai'):
with open(filename, "rb") as f:
data = f.read()
API_URL = f"https://api-inference.huggingface.co/models/{PROVIDERMODEL[provider]}"
headers = {"Authorization": f"Bearer {API_TOKEN}"}
response = requests.request("POST", API_URL, headers=headers, data=data)
if response.status_code == 200:
return json.loads(response.content.decode("utf-8")).get('text')
else:
return response.content
def summarize(text, provider='facebook'):
data = {
'inputs': text,
'parameters': {
'do_sample': False
}
}
API_URL = f"https://api-inference.huggingface.co/models/{SUMMARYMODEL[provider]}"
headers = {"Authorization": f"Bearer {API_TOKEN}"}
response = requests.request("POST", API_URL, headers=headers, json=data)
if response.status_code == 200:
return json.loads(response.content.decode("utf-8"))[0].get('summary_text')
else:
return {"error": response.content}
demo = gr.Blocks()
with demo:
audio_file = gr.Audio(type="filepath")
text = gr.Textbox()
label = gr.Textbox()
b1 = gr.Button("Derive Transcript")
b2 = gr.Button("Summarize")
b1.click(query, inputs=audio_file, outputs=text)
b2.click(summarize, inputs=text, outputs=label)
demo.launch()
|