S2I / app.py
Pavankalyan's picture
Update app.py
0cecb50
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()