Spaces:
Sleeping
Sleeping
File size: 2,001 Bytes
515c4f1 ac0affd 3dbfc5c ac0affd b833c66 9ac60a1 ac0affd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
import openai
from openai import OpenAI
import streamlit as st
from streamlit import session_state
import os
client = OpenAI()
openai.api_key = os.getenv("OPENAI_API_KEY")
def score(m,s):
response = client.chat.completions.create(
model="gpt-4",
messages=[
{
"role": "system",
"content": "You are a Grading assistant. Your task is to give marks to the student answers based on the model answer. You will be provided student answer and model answer. Please check both carefully and give marks out of 10. \n\n<<REMEMBER>>\nThese answers are written by High school kids. Don't be too strict. Give marks generously. \nGive marks in the range of 0.5. \nIf the model answer and student answer is slightly matching then give marks generously. Please give output in json format like this:\n{\"output\":5}"
},
{
"role": "user",
"content": f"Model answer: {m}"},
{
"role": "user",
"content": f"Student answer: {s}"
}
],
temperature=0,
max_tokens=256,
top_p=1,
frequency_penalty=0,
presence_penalty=0
)
return response.choices[0].message.content
from st_pages import Page, Section, show_pages, add_page_title,add_indentation
st.set_page_config(page_title="Auto score Openai", page_icon="π")
st.markdown("<h1 style='text-align: center; color: black;'> Welcome to Our App! π</h1>", unsafe_allow_html=True)
if 'result' not in session_state:
session_state['result']= ""
st.title("Auto score")
text1= st.text_area(label= "Please write the model answer bellow",
placeholder="What does the teacher say?")
text2= st.text_area(label= "Please write the student answer bellow",
placeholder="What does the student say?")
def classify(text1,text2):
session_state['result'] = score(text1,text2)
st.text_area("result", value=session_state['result'])
st.button("Classify", on_click=classify, args=[text1,text2]) |