File size: 1,485 Bytes
8b56adb |
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 |
from deepgram import (
DeepgramClient,
PrerecordedOptions,
FileSource
)
import httpx
from sumy.parsers.plaintext import PlaintextParser
from sumy.nlp.tokenizers import Tokenizer
from sumy.summarizers.lsa import LsaSummarizer
def deepgram(buffer_data,language):
# STEP 1 Create a Deepgram client using the API key
deepgram = DeepgramClient('5da1cbb9a0b27337e1ae7dc141b48c6775912ed2')
payload: FileSource = {
"buffer": buffer_data,
}
#STEP 2: Configure Deepgram options for audio analysis
options = PrerecordedOptions(
model="nova-2",
smart_format=True,
language=language,
diarize=True
)
myTimeout = httpx.Timeout(300, connect=10.0)
# STEP 3: Call the transcribe_file method with the text payload and options
response = deepgram.listen.prerecorded.v("1").transcribe_file(payload, options,timeout=myTimeout)
text=response['results']['channels'][0]['alternatives'][0]['paragraphs']['transcript']
return text
def summarize_text(text):
# Initialize parser
parser = PlaintextParser.from_string(text, Tokenizer("english"))
# Initialize LSA Summarizer
summarizer = LsaSummarizer()
# Summarize the document with 3 sentences
summary = summarizer(parser.document, 3)
# Convert summary sentences to string
summary_text = " ".join([str(sentence) for sentence in summary])
return summary_text |