Spaces:
Build error
Build error
| import os | |
| import streamlit as st | |
| import speech_recognition as sr | |
| from groq import Groq | |
| from datetime import datetime | |
| import requests | |
| # Groq API setup | |
| client = Groq(api_key=("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")) | |
| # Streamlit UI setup | |
| st.title("Voice-Activated Personal Assistant") | |
| # Function to greet user | |
| def greet_user(): | |
| st.write("Hello, how can I assist you today?") | |
| # Function to get real-time weather info | |
| def get_weather(): | |
| api_key = "YOUR_WEATHER_API_KEY" # Replace with your weather API key | |
| location = "London" # Example location | |
| url = f"http://api.openweathermap.org/data/2.5/weather?q={location}&appid={api_key}" | |
| response = requests.get(url).json() | |
| if response['cod'] == 200: | |
| main_data = response['main'] | |
| weather_data = response['weather'][0] | |
| return f"Weather in {location}: {weather_data['description']}, Temperature: {main_data['temp']}K" | |
| else: | |
| return "Could not fetch weather information." | |
| # Function for speech recognition | |
| def recognize_speech(): | |
| recognizer = sr.Recognizer() | |
| with sr.Microphone() as source: | |
| st.write("Listening...") | |
| audio = recognizer.listen(source) | |
| try: | |
| command = recognizer.recognize_google(audio) | |
| st.write(f"You said: {command}") | |
| return command | |
| except sr.UnknownValueError: | |
| st.write("Sorry, I did not understand that.") | |
| return "" | |
| except sr.RequestError: | |
| st.write("Could not request results; check your internet connection.") | |
| return "" | |
| # Function to get a response from Groq | |
| def get_groq_response(user_input): | |
| chat_completion = client.chat.completions.create( | |
| messages=[{"role": "user", "content": user_input}], | |
| model="llama-3.3-70b-versatile", | |
| stream=False, | |
| ) | |
| return chat_completion.choices[0].message.content | |
| # Display greeting | |
| greet_user() | |
| # Text input or speech recognition | |
| user_input = st.text_input("Type your query here:") | |
| if st.button("Use Voice Command"): | |
| user_input = recognize_speech() | |
| # Get response from Groq | |
| if user_input: | |
| response = get_groq_response(user_input) | |
| st.write("Response from AI Model:") | |
| st.write(response) | |
| # Real-time information like weather or time | |
| if st.button("Get Weather Information"): | |
| weather_info = get_weather() | |
| st.write(weather_info) | |
| if st.button("Get Current Time"): | |
| current_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S") | |
| st.write(f"Current Time: {current_time}") | |