Spaces:
Sleeping
Sleeping
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() | |