test_space / app.py
rbuell's picture
app.py
f3d6ea7
raw
history blame
5.58 kB
import os
import openai
import streamlit as st
# Get API key from environment variable
api_key = os.environ.get("API_KEY")
if api_key is None:
raise ValueError("API_KEY environment variable not set")
# Set API key for OpenAI
openai.api_key = api_key
def write_sidebar():
st.sidebar.title("Instructions")
st.sidebar.write("1. Select the student's grade level.")
st.sidebar.write("2. Select the student's qualifying condition(s).")
st.sidebar.write("3. Choose a prompt based to communicate with the AI how you want your data analyzed.")
st.sidebar.write("4. Enter your student data.")
st.sidebar.write("5. Click the 'Analyze Student Data' button to generate a summary of your data.")
st.sidebar.write("")
st.sidebar.write("")
st.sidebar.write("Note: This app uses OpenAI's GPT-3 API to generate the PLAAFP statement. Please enter data that is relevant and appropriate for generating the statement.")
def write_iep_assist():
st.title("IEP Assist Premium")
# Select the student's grade level
st.write("Select the student's grade level:")
grade_level = st.selectbox("Grade:", ["Pre-K", "K", "1st", "2nd", "3rd", "4th", "5th", "6th", "7th", "8th", "9th", "10th", "11th", "12th"], key="grade-level")
# Select the student's qualifying condition
st.write("Select the student's qualifying condition(s):")
qualifying_condition = st.multiselect("Qualifying Condition(s):", ["Specific Learning Disability", "Emotional Disturbance", "Autism", "Intellectual Disability", "Speech/Language Impairment", "Other Health Impairment", "Orthopedic Impairment", "Auditory Impairment", "Traumatic Brain Injury", "Deafness", "Blindness", "Developmental Delay"], key="qualifying-condition")
# Choose a prompt
st.write("Choose a prompt:(This tells the AI how you want your data analyzed)")
prompts = [
"Analyze the data provided on the student and provide a summary of their strengths and areas of need in regards to their academic performance.",
"Provide a summary of the student's behavior data and suggest possible interventions to try based on their areas of need.",
"Summarize the data provided on the student's academic performance, highlighting their strengths and areas of need, and suggesting possible interventions to try.",
"Please provide a summary of the student's academic performance, highlighting their strengths and areas of need.",
"What is the student's biggest strength and area of need in regards to their academic performance?",
"Analyze the data provided on the student and provide a summary of their progress in regards to their IEP goals.",
"Based on the student's academic performance data, what recommendations do you have for adjusting their instructional strategies?",
"How can the student's strengths be leveraged to help them improve in areas of need?",
"What barriers to academic success does the student face, and how can they be addressed?",
"Analyze the student's behavior data to identify trends and suggest possible interventions.",
"Provide a summary of the student's progress towards their academic and behavioral goals."
]
selected_prompt = st.selectbox("Prompt:", options=prompts, key="prompt")
st.write("Enter student data to be analyzed:")
student_data = st.text_area("Paste student data here", height=250, key="student-data")
# Add a button to generate the PLAAFP statement
if st.button("Analyze Student Data", key="analyze-button"):
# Call the OpenAI API and generate a response
response = openai.Completion.create(
engine="text-davinci-003",
prompt=f"{selected_prompt} {student_data} {grade_level} {qualifying_condition}",
max_tokens=2000,
n=1,
stop=None,
temperature=0.9,
)
# Extract the generated statement from the API response
statement = response["choices"][0]["text"]
# Show the generated statement
st.write("Summary of Data entered:", statement)
def write_iep_goal_generator():
st.title("IEP Goal Compass")
grade_level = st.selectbox("Select the student's grade level:", ["Pre-K", "K", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"], key="grade_level")
qualifying_condition = st.multiselect("Select the qualifying condition(s):", ["Autism", "Emotional disturbance", "Intellectual disability", "Specific learning disability", "Other health impairment", "Speech or language impairment", "Deaf-blindness", "Deafness", "Blindness", "Multiple disabilities", "Orthopedic impairment", "Traumatic brain injury"], key="qualifying_condition")
teacher_input = st.text_area("Enter student data:", key="teacher_input")
# Generate IEP goal
if st.button("Generate Goal", key="generate_goal"):
# Call the OpenAI API and generate a goal
response = openai.Completion.create(
engine="text-davinci-003",
prompt=f"Generate an achievable and measurableable IEP goal for a student who is in grade {grade_level} and has qualifying conditions of {', '.join(qualifying_condition)} based on teacher reported information: {teacher_input}",
max_tokens=2000,
n=1,
stop=None,
temperature=0.85,
)
goal = response["choices"][0]["text"]
# Show the generated goal
st.write("IEP Goal:", goal)
if __name__ == "__main__":
write_sidebar()
write_iep_assist()
write_iep_goal_generator()