Add condition 5 and openai model
Browse files
app.py
CHANGED
|
@@ -47,7 +47,7 @@ if 'inserted' not in st.session_state:
|
|
| 47 |
st.session_state.gotit = False
|
| 48 |
st.session_state.submitted = False
|
| 49 |
st.session_state.inserted = 0
|
| 50 |
-
st.session_state["model"] = "
|
| 51 |
st.session_state.max_messages = 50
|
| 52 |
st.session_state.messages = []
|
| 53 |
st.session_state.user_data = {}
|
|
@@ -69,10 +69,10 @@ if 'inserted' not in st.session_state:
|
|
| 69 |
st.session_state.convo_start_time = ''
|
| 70 |
|
| 71 |
if 'p' not in st.query_params or st.query_params['p'] == '':
|
| 72 |
-
st.query_params['p'] = '
|
| 73 |
-
|
| 74 |
-
|
| 75 |
-
|
| 76 |
|
| 77 |
if 'id' not in st.query_params:
|
| 78 |
st.query_params['id'] = st.session_state.random_pid
|
|
@@ -86,6 +86,7 @@ def setup_messages():
|
|
| 86 |
# 2 = bridging,
|
| 87 |
# 3 = personalization,
|
| 88 |
# 4 = bridging + personalization
|
|
|
|
| 89 |
|
| 90 |
if st.query_params["p"] == "1":
|
| 91 |
st.session_state.system_message = st.session_state.base_text
|
|
@@ -95,6 +96,8 @@ def setup_messages():
|
|
| 95 |
st.session_state.system_message = format_personalization(st.session_state.personalization_text)
|
| 96 |
elif st.query_params["p"] == "4":
|
| 97 |
st.session_state.system_message = format_personalization(st.session_state.both_text)
|
|
|
|
|
|
|
| 98 |
|
| 99 |
st.session_state.messages = [{ "role": "system", "content": st.session_state.system_message}]
|
| 100 |
st.session_state.convo_start_time = datetime.now()
|
|
@@ -217,31 +220,42 @@ elif prompt := st.chat_input("Type to ask a question or respond..."):
|
|
| 217 |
with st.chat_message("user"):
|
| 218 |
st.markdown(prompt)
|
| 219 |
|
| 220 |
-
|
| 221 |
-
|
| 222 |
-
|
| 223 |
-
|
| 224 |
-
|
| 225 |
-
{"role":
|
| 226 |
-
|
| 227 |
-
|
| 228 |
-
|
| 229 |
-
)
|
| 230 |
-
|
| 231 |
-
response = st.write_stream(stream)
|
| 232 |
|
| 233 |
-
|
| 234 |
-
|
| 235 |
-
|
| 236 |
-
|
| 237 |
-
|
| 238 |
-
|
| 239 |
-
|
| 240 |
-
|
| 241 |
-
|
| 242 |
-
|
| 243 |
-
|
| 244 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 245 |
|
| 246 |
if len(st.session_state.messages) > 10 or st.session_state.max_messages == len(st.session_state.messages):
|
| 247 |
columns = st.columns((1,1,1))
|
|
@@ -255,7 +269,7 @@ if len(st.session_state.messages) > 10 or st.session_state.max_messages == len(s
|
|
| 255 |
|
| 256 |
with MongoClient(st.secrets["mongo"],server_api=ServerApi('1')) as client:
|
| 257 |
db = client.bridge
|
| 258 |
-
collection = db.
|
| 259 |
user_data = st.session_state.user_data
|
| 260 |
|
| 261 |
collection.insert_one(user_data)
|
|
|
|
| 47 |
st.session_state.gotit = False
|
| 48 |
st.session_state.submitted = False
|
| 49 |
st.session_state.inserted = 0
|
| 50 |
+
st.session_state["model"] = "openai/gpt-5.2-chat"
|
| 51 |
st.session_state.max_messages = 50
|
| 52 |
st.session_state.messages = []
|
| 53 |
st.session_state.user_data = {}
|
|
|
|
| 69 |
st.session_state.convo_start_time = ''
|
| 70 |
|
| 71 |
if 'p' not in st.query_params or st.query_params['p'] == '':
|
| 72 |
+
#st.query_params['p'] = '1'
|
| 73 |
+
st.query_params['p'] = st.radio("Select a condition for the conversation",
|
| 74 |
+
['', '1', '2', '3', '4', '5'],
|
| 75 |
+
help="1 = base, 2 = bridging, 3 = personalization, 4 = bridging + personalization, 5 = true control")
|
| 76 |
|
| 77 |
if 'id' not in st.query_params:
|
| 78 |
st.query_params['id'] = st.session_state.random_pid
|
|
|
|
| 86 |
# 2 = bridging,
|
| 87 |
# 3 = personalization,
|
| 88 |
# 4 = bridging + personalization
|
| 89 |
+
# 5 = true control
|
| 90 |
|
| 91 |
if st.query_params["p"] == "1":
|
| 92 |
st.session_state.system_message = st.session_state.base_text
|
|
|
|
| 96 |
st.session_state.system_message = format_personalization(st.session_state.personalization_text)
|
| 97 |
elif st.query_params["p"] == "4":
|
| 98 |
st.session_state.system_message = format_personalization(st.session_state.both_text)
|
| 99 |
+
elif st.query_params["p"] == "5":
|
| 100 |
+
st.session_state.system_message = st.session_state.base_text
|
| 101 |
|
| 102 |
st.session_state.messages = [{ "role": "system", "content": st.session_state.system_message}]
|
| 103 |
st.session_state.convo_start_time = datetime.now()
|
|
|
|
| 220 |
with st.chat_message("user"):
|
| 221 |
st.markdown(prompt)
|
| 222 |
|
| 223 |
+
if st.query_params["p"] = "5":
|
| 224 |
+
rate_limit_message = """
|
| 225 |
+
An error has occured with the chatbot. Please submit the conversation. Do not worry, this will not influence your compensation.
|
| 226 |
+
"""
|
| 227 |
+
st.session_state.messages.append(
|
| 228 |
+
{"role": "assistant", "content": rate_limit_message}
|
| 229 |
+
)
|
| 230 |
+
st.session_state.max_messages = len(st.session_state.messages)
|
| 231 |
+
st.rerun()
|
|
|
|
|
|
|
|
|
|
| 232 |
|
| 233 |
+
else:
|
| 234 |
+
with st.chat_message("assistant"):
|
| 235 |
+
try:
|
| 236 |
+
stream = client.chat.completions.create(
|
| 237 |
+
model=st.session_state["model"],
|
| 238 |
+
messages=[
|
| 239 |
+
{"role": m["role"], "content": m["content"]}
|
| 240 |
+
for m in st.session_state.messages
|
| 241 |
+
],
|
| 242 |
+
stream=True
|
| 243 |
+
)
|
| 244 |
+
|
| 245 |
+
response = st.write_stream(stream)
|
| 246 |
+
|
| 247 |
+
st.session_state.messages.append(
|
| 248 |
+
{"role": "assistant", "content": response}
|
| 249 |
+
)
|
| 250 |
+
except:
|
| 251 |
+
rate_limit_message = """
|
| 252 |
+
An error has occured or you've reached the maximum conversation length. Please submit the conversation.
|
| 253 |
+
"""
|
| 254 |
+
st.session_state.messages.append(
|
| 255 |
+
{"role": "assistant", "content": rate_limit_message}
|
| 256 |
+
)
|
| 257 |
+
st.session_state.max_messages = len(st.session_state.messages)
|
| 258 |
+
st.rerun()
|
| 259 |
|
| 260 |
if len(st.session_state.messages) > 10 or st.session_state.max_messages == len(st.session_state.messages):
|
| 261 |
columns = st.columns((1,1,1))
|
|
|
|
| 269 |
|
| 270 |
with MongoClient(st.secrets["mongo"],server_api=ServerApi('1')) as client:
|
| 271 |
db = client.bridge
|
| 272 |
+
collection = db.app2
|
| 273 |
user_data = st.session_state.user_data
|
| 274 |
|
| 275 |
collection.insert_one(user_data)
|