Spaces:
Running
Running
File size: 1,284 Bytes
83bdf6a |
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 |
import gradio as gr
import os
import whisper
from groq import Groq
from gtts import gTTS
# Initialize Whisper model for transcription
model = whisper.load_model("base")
# Set up Groq API
GROQ_API_KEY="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"
client = Groq(api_key=GROQ_API_KEY)
# Function to query the LLM using Groq API
def get_llm_response(input_text):
chat_completion = client.chat.completions.create(
messages=[{
"role": "user",
"content": input_text,
}],
model="llama3-8b-8192",
)
return chat_completion.choices[0].message.content
# Function to convert text to speech using gTTS
def text_to_speech(text,output_audio="output_audio.mp3"):
tts = gTTS(text)
tts.save(output_audio)
return output_audio
def chatbot(audio):
result=model.transcribe(audio)
user_text=result['text']
response_text=get_llm_response(user_text)
output_audio=text_to_speech(response_text)
return response_text,output_audio
# Create Gradio interface for microphone input
iface = gr.Interface(
fn=chatbot,
inputs=gr.Audio(type="filepath"), # Capturing audio from the microphone
outputs=[gr.Textbox(),gr.Audio(type="filepath")], # Outputting audio file path
live=True
)
iface.launch()
|