Spaces:
Sleeping
Sleeping
File size: 2,122 Bytes
515c4f1 ac0affd 3dbfc5c ac0affd 707e31a ac0affd 707e31a ac0affd 707e31a 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-0125-preview",
messages=[
{
"role": "system",
"content": "You are UPSC answers evaluater. You will be given model answer and student answer. Evaluate it by comparing with the model answer and give marks. Also provide 2 comments about the student answer in short. \n<<REMEMBER>>\nIt is 10 marks question. Give marks in the range of 0.5. (ex. 0,0.5,1...)\nPlease give marks generously. If the student answer body matches more than 60% with the model answer then give full marks for body. \nIf the student answer and model answer is not relevant then give 0 marks.\ngive output in json format. Give output in this format {\"total\":,\"comments\":[comment1, comment2]}\n<<OUTPUT>>"
},
{
"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]) |