Spaces:
Runtime error
Runtime error
File size: 2,477 Bytes
c14a846 3dd1351 dedbfd2 58a2bbc c14a846 3dd1351 c14a846 3dd1351 4e331f5 58a2bbc c14a846 3dd1351 7e4be94 f574d39 c14a846 7e4be94 3dd1351 7e4be94 c14a846 7e4be94 3dd1351 7e4be94 3dd1351 6aa1f96 7e4be94 c14a846 7e4be94 58a2bbc 55ad160 c14a846 |
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 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
import streamlit as st
import os
import requests
import time
from gtts import gTTS
import tempfile
# Define Hugging Face API details
API_URL = "https://api-inference.huggingface.co/models/Huzaifa367/chat-summarizer"
API_TOKEN = os.getenv("AUTH_TOKEN")
HEADERS = {"Authorization": f"Bearer {API_TOKEN}"}
# Function to query Hugging Face API
def query_huggingface(payload):
try:
response = requests.post(API_URL, headers=HEADERS, json=payload)
response.raise_for_status() # Raise exception for non-2xx status codes
return response.json()
except requests.exceptions.RequestException as e:
st.error(f"Error querying Hugging Face API: {e}")
return {"summary_text": f"Error querying Hugging Face API: {e}"}
def text_to_speech(text):
tts = gTTS(text=text, lang='en')
audio_file = tempfile.NamedTemporaryFile(suffix=".mp3", delete=False)
temp_filename = audio_file.name
tts.save(temp_filename)
st.audio(temp_filename, format='audio/mp3')
os.remove(temp_filename)
def main():
st.set_page_config(layout="wide")
st.title("Chat Summarizer")
# Initialize a list to store chat messages
chat_history = []
# User input for chat message
user_message = st.text_input("Provide a Chat/Long description to summarize")
# Process user input and query Hugging Face API on button click
if st.button("Send"):
if user_message:
# Add user message to chat history
chat_history.append({"speaker": "User", "message": user_message})
# Construct input text for summarization
input_text = f"User: {user_message}"
# Query Hugging Face API for summarization
payload = {"inputs": input_text}
response = query_huggingface(payload)
# Extract summary text from the API response
summary_text = response[0]["summary_text"] if isinstance(response, list) else response.get("summary_text", "")
# Add summarization response to chat history
chat_history.append({"speaker": "Bot", "message": summary_text})
# Display chat history as a conversation
for chat in chat_history:
if chat["speaker"] == "User":
st.text_input("User", chat["message"], disabled=True)
elif chat["speaker"] == "Bot":
st.text_area("Bot", chat["message"], disabled=True)
text_to_speech(chat["message"])
if __name__ == "__main__":
main()
|