alibicer's picture
Update app.py
a15c076 verified
raw
history blame
1.46 kB
def respond(user_message, history):
if not user_message:
return "", history
# ✅ Ensure proper message handling
try:
messages = [{"role": "system", "content": INITIAL_PROMPT}]
for user_text, assistant_text in history:
if user_text:
messages.append({"role": "user", "content": user_text})
if assistant_text:
messages.append({"role": "assistant", "content": assistant_text})
# ✅ Handling Method Selection
method_selection = user_message.lower().strip()
method_prompt = get_prompt_for_method(method_selection)
if method_prompt != "I didn’t understand your choice. Please type 'Bar Model,' 'Double Number Line,' or 'Equation' to proceed.":
messages.append({"role": "assistant", "content": method_prompt})
history.append((user_message, method_prompt))
return "", history
messages.append({"role": "user", "content": user_message})
# ✅ Get AI response
completion = client.chat.completions.create(
model="gpt-4o",
messages=messages,
max_tokens=512,
temperature=0.7
)
assistant_reply = completion.choices[0].message.content
history.append((user_message, assistant_reply))
return "", history
except Exception as e:
return f"⚠️ An error occurred: {str(e)}", history