irfansaleem48's picture
Update app.py
22c2aab verified
raw
history blame
1.65 kB
import streamlit as st
from transformers import pipeline
import openai_whisper as whisper
import tempfile
import os
def transcribe_audio(audio_path):
model = whisper.load_model("base") # Open-source Whisper model
result = model.transcribe(audio_path)
return result["text"]
def summarize_text(text):
summarizer = pipeline("summarization", model="facebook/bart-large-cnn")
summary = summarizer(text, max_length=150, min_length=50, do_sample=False)
return summary[0]['summary_text']
def extract_action_items(text):
task_generator = pipeline("text-generation", model="databricks/dolly-v2-3b")
prompt = f"Extract action items from the following meeting notes:\n{text}\nAction Items:"
tasks = task_generator(prompt, max_length=100, do_sample=True)
return tasks[0]['generated_text']
st.title("Smart AI Meeting Assistant")
uploaded_file = st.file_uploader("Upload an audio file", type=["mp3", "wav", "m4a"])
if uploaded_file is not None:
with tempfile.NamedTemporaryFile(delete=False, suffix='.mp3') as temp_audio:
temp_audio.write(uploaded_file.read())
temp_audio_path = temp_audio.name
st.text("Transcribing...")
transcript = transcribe_audio(temp_audio_path)
st.text_area("Meeting Transcript:", transcript, height=200)
os.remove(temp_audio_path)
if st.button("Summarize Meeting"):
summary = summarize_text(transcript)
st.text_area("Meeting Summary:", summary, height=150)
if st.button("Generate Action Items"):
action_items = extract_action_items(transcript)
st.text_area("Action Items:", action_items, height=150)