CoolFace
Apppublic

Rushi2903/MetaMagic

sourceHugging Faceupdated 3y agoView on Hugging Face
0likes
app.py91 linesDownload Raw Back to root
1import streamlit as st2import openai3import nltk4nltk.download('punkt')5import PyPDF26import string7 8# st.write("ok")9# Set up OpenAI API credentials10openai.api_key = "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"11 12 13 14def read_pdf(fname):15    16    reader = PyPDF2.PdfReader(fname)17    text_ext = []18    for i in range(len(reader.pages)):19        pageObj = reader.pages[i]20        # extracting text from page21        text_ext.append(pageObj.extract_text())22 23    return text_ext24 25def clean_text(text):26    if isinstance(text, list):27        text = " ".join(text)28    text = text.lower()29    text = text.translate(str.maketrans("", "", string.punctuation))30    text = " ".join(text.split())31    return text32 33def generate_keywords(text):34    num_keywords = 635    cleaned_text = text.strip()36  37    response = openai.Completion.create(38        engine="text-davinci-002",39        prompt=f"What are {num_keywords} highly related keywords for the following text?\n{cleaned_text}\n\nKeywords:",40        max_tokens=50,41        n=1,42        stop=None,43        temperature=0.5,44        best_of=num_keywords,45    )46 47    generated_text = response.choices[0].text.strip()48 49    keywords = generated_text.split(',')50 51    st.write("Top Keywords:")52    for i, keyword in enumerate(keywords[:num_keywords]):53        st.write(f"{i+1}. {keyword.strip()}")54 55def generate_summary(text):56    summary_length = 257 58    cleaned_text = text.strip()59 60    response = openai.Completion.create(61        engine="text-davinci-002",62        prompt=f"Please summarize the following text in {summary_length} sentences:\n{cleaned_text}\n\nSummary:",63        max_tokens=100,64        n=1,65        stop=None,66        temperature=0.5,67    )68 69    generated_text = response.choices[0].text.strip()70    st.write("Description:")71    sentences = nltk.sent_tokenize(generated_text)72    for sentence in sentences:73      st.write(sentence)74 75# Main Streamlit app76st.title("Meta Magic")77 78uploaded_file = st.file_uploader("Choose a PDF file", type="pdf")79 80if uploaded_file is not None:81    # Read PDF file and extract text82    pages = read_pdf(uploaded_file)83    text = clean_text(pages)84 85    # Generate keywords and summary86    if st.button("Generate Keywords"):87        generate_keywords(text)88    89    if st.button("Generate Summary"):90        generate_summary(text)91