Spaces:
Runtime error
Runtime error
import gradio as gr | |
import pyttsx3 | |
import torch | |
from transformers import pipeline, AutoModelForCausalLM, AutoTokenizer | |
import whisper | |
# Load text-generation model | |
model_name = "microsoft/DialoGPT-medium" | |
tokenizer = AutoTokenizer.from_pretrained(model_name) | |
model = AutoModelForCausalLM.from_pretrained(model_name) | |
# Initialize Text-to-Speech | |
tts = pyttsx3.init() | |
tts.setProperty("rate", 150) # Adjust speech speed | |
# Load Whisper for speech recognition | |
whisper_model = whisper.load_model("small") | |
def live_chat(audio): | |
# Convert speech to text | |
result = whisper_model.transcribe(audio) | |
user_input = result["text"] | |
# Generate chatbot response | |
input_ids = tokenizer.encode(user_input + tokenizer.eos_token, return_tensors="pt") | |
response_ids = model.generate(input_ids, max_length=100, pad_token_id=tokenizer.eos_token_id) | |
bot_response = tokenizer.decode(response_ids[:, input_ids.shape[-1]:][0], skip_special_tokens=True) | |
# Speak response | |
tts.say(bot_response) | |
tts.runAndWait() | |
return bot_response | |
# Gradio Interface | |
app = gr.Interface( | |
fn=live_chat, | |
inputs=gr.Audio(type="filepath"), # Microphone input | |
outputs="text", | |
live=True, | |
) | |
# Launch the app | |
app.launch() | |