Mr-Vicky-01's picture
Update app.py
ac59d27 verified
raw
history blame
1.56 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
os.environ['HUGGINGFACEHUB_API_TOKEN'] = os.getenv("HUGGINGFACE_API_TOKEN")
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
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.")
iface.launch()