import streamlit as st import openai import nltk nltk.download('punkt') # st.write("ok") # Set up OpenAI API credentials openai.api_key = "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" # Define function to generate keywords def generate_keywords(text): num_keywords = 6 cleaned_text = text.strip() response = openai.Completion.create( engine="text-davinci-002", prompt=f"What are {num_keywords} highly related keywords for the following text?\n{cleaned_text}\n\nKeywords:", max_tokens=50, n=1, stop=None, temperature=0.5, best_of=num_keywords, ) generated_text = response.choices[0].text.strip() keywords = generated_text.split(',') st.write("Top Keywords:") for i, keyword in enumerate(keywords[:num_keywords]): st.write(f"{i+1}. {keyword.strip()}") # Define function to generate summary def generate_summary(text): summary_length = 2 cleaned_text = text.strip() response = openai.Completion.create( engine="text-davinci-002", prompt=f"Please summarize the following text in {summary_length} sentences:\n{cleaned_text}\n\nSummary:", max_tokens=100, n=1, stop=None, temperature=0.5, ) generated_text = response.choices[0].text.strip() st.write("Description:") # st.write(generated_text) sentences = nltk.sent_tokenize(generated_text) for sentence in sentences: st.write(sentence) # Set up Streamlit app st.title("Text Summarization and Keyword Extraction") text = st.text_area("Enter some text:") if st.button("Generate Keywords"): generate_keywords(text) if st.button("Generate Summary"): generate_summary(text)