S2I / app.py
Pavankalyan's picture
Update app.py
0cecb50
raw
history blame contribute delete
No virus
1.38 kB
import gradio as gr
from transformers import pipeline
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import json
import os
import torch
data_dict = {}
with open('./intents.json', 'r') as file:
data = json.load(file)
intents_dict = data
tokenizer = AutoTokenizer.from_pretrained("roberta-base")
model = AutoModelForSequenceClassification.from_pretrained("./")
def preprocess(text):
inputs = tokenizer(text, padding=True, truncation=True, return_tensors="pt")
return inputs
def postprocess(outputs):
logits = outputs.logits
predicted_labels = logits.argmax(dim=1).tolist()
return predicted_labels
def predict(text):
inputs = preprocess(text)
with torch.no_grad():
outputs = model(**inputs)
predicted_labels = postprocess(outputs)
ans = intents_dict[str(predicted_labels[0])]
return ans
from transformers import pipeline
p = pipeline(model="openai/whisper-medium")
def transcribe(text,audio):
if audio:
t = p(audio)['text']
ans = predict(t)
elif text:
ans = predict(text)
else:
ans = "please give input"
return ans
get_intent = gr.Interface(fn = transcribe,
inputs=[gr.Textbox(label="Enter Text Input", type="text"),gr.Audio(source="microphone", type="filepath")],
outputs="text").launch()