Tutorials / pages /3_302_Our_First_App.py
MrJShen's picture
update A bite of math (#2)
422eddd
import streamlit as st
from utils import *
st.set_page_config(page_title="The first App", page_icon=":tangerine:")
if check_password("password"):
st.markdown("## Welcome to the first app: summarizer")
st.write("##")
st.markdown("We have seen our summarization prompt from our notebook")
st.code('''
numberOfWords = '20'
topics = "marry"
prompt = f"""
Your task is to generate a short summary from text below, delimited by triple backticks, in at most {numberOfWords} words,\n
Firstly, extract relevant information and create a list of keywords without response,\n
Then, check if {topics} is in your list, if not, just response no relevent topics about {topics} to summarise,\n
if it is in your list, focusing on any aspects that mention {topics},\n
Review: ```{text}```
"""
''', language = "python")
st.markdown("""
We have 3 variables above, numberOfWords, topics, and text, which means, our app will give users
3 input windows or widgets,
- a Text input window for the text that need to be summarized, where users can copy and paste large text into it;
- a short text input window, that user can choose to choose the topics he/she want the app to summarize;
- a number input window, that user can select the length of summarization;
- Additionally, a secret window that allow users to pass their own OpenAI API Key to use ChatGPT
""")
st.write("##")
st.markdown("""
The following streamlit widgets can help us to achieve requirement above:
1. [st.text_area](https://docs.streamlit.io/library/api-reference/widgets/st.text_area)
Try to copy the following code to your app.py and rerun the local streamlit server
```python
txt = st.text_area('Text to summarize', "")
st.write(txt)
```
""")
txt = st.text_area('Text to summarize', "")
st.write(txt)
st.write("##")
st.markdown("""
2. [st.text_input](https://docs.streamlit.io/library/api-reference/widgets/st.text_input)
Copy the code and run it on your app.py
```python
topics = st.text_input('Choose topics, seperated by ,', '')
st.write(topics)
```
""")
topics = st.text_input('Choose topics, seperated by ,', '')
st.write(topics)
st.write("##")
st.markdown("""
3. [st.number_input](https://docs.streamlit.io/library/api-reference/widgets/st.number_input)
Copy the code ane rerun on your app.py
```python
number = st.number_input('words limit')
st.write('The current number is ', number)
```
""")
number = st.number_input('words limit')
st.write('The current number is ', number)
st.write("##")
st.markdown("""
Now, your task is to download the initial app this week:
- Read the code;
- figuring our where are those widgets located in the code;
- ask any question in the Discord;
- bravely change the code on your computer, do some experiment
:smile:
""")