Mr-Vicky-01's picture
Update app.py
aa8ebd1 verified
raw
history blame
1.85 kB
import gradio as gr
from langchain.document_loaders import UnstructuredURLLoader
import os
from langchain import PromptTemplate, HuggingFaceHub, LLMChain
from gtts import gTTS
from IPython.display import Audio
# from dotenv import load_dotenv
# load_dotenv() # to load all the env variables
api_key = os.getenv("HUGGINGFACE_API_TOKEN")
os.environ['HUGGINGFACEHUB_API_TOKEN'] = api_key
def get_summary_from_url(url):
loaders = UnstructuredURLLoader(urls=[url])
data = loaders.load()
question = data[0]
template = """{question}"""
prompt = PromptTemplate(template=template, input_variables=["question"])
llm_chain = LLMChain(prompt=prompt,
llm=HuggingFaceHub(repo_id="Mr-Vicky-01/conversational_sumarization",
model_kwargs={"max_length":100,
"max_new_tokens":100,
"do_sample": False}))
answer = llm_chain.run(question)
return answer
def text_to_speech(text, language='en'):
tts = gTTS(text=text, lang=language)
tts.save("output.mp3")
return "output.mp3"
def summarize_and_convert_to_audio(url):
summary = get_summary_from_url(url)
audio_file = text_to_speech(summary)
return audio_file
example = [
["https://en.wikipedia.org/wiki/Vijay_(actor)"],
["https://en.wikipedia.org/wiki/Sam_Altman"],
["https://timesofindia.indiatimes.com/india/air-india-sacks-pilot-found-drunk-after-operating-overseas-flight/articleshow/108829830.cms"]
]
iface = gr.Interface(fn=summarize_and_convert_to_audio, inputs="text", outputs="audio", title="Text Summarization & Audio Generation", description="Enter the URL of the article to summarize and convert to audio.", examples=example)
iface.launch()