File size: 2,714 Bytes
3a6f270 4bb9b6e 3a6f270 4bb9b6e c09b35d |
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 52 53 |
import streamlit as st
import openai
# การตั้งค่า API Key สำหรับ OpenAI
openai.api_key = st.secrets["OPENAI_API_KEY"]
# ชื่อโปรเจกต์
st.title("Welcome to JoyStory! 🎉")
st.subheader("Let's create fun and imaginative stories together!")
# ตัวเลือกระดับภาษา
level = st.selectbox("Choose your level:", ["Beginner", "Intermediate", "Advanced"])
# ปุ่มเริ่มต้น
start_button = st.button("Start Creating Your Story!")
# ตรวจสอบเมื่อกดปุ่มเริ่มต้น
# การเช็คและบันทึกค่าใน session_state
if start_button:
st.session_state["level"] = level # บันทึกระดับที่เลือกไว้ใน session
st.session_state["story_started"] = True # ใช้เพื่อเช็คว่าเริ่มเรื่องหรือยัง
# เช็คว่าค่าใน session_state ถูกบันทึกแล้ว ก่อนเรียก experimental_rerun
if st.session_state.get("story_started"):
st.experimental_rerun() # รีเฟรชหน้าเพื่อลงไปยังส่วนการแต่งเรื่อง
# ตรวจสอบว่าการแต่งเรื่องเริ่มแล้วหรือยัง
if st.session_state.get("story_started"):
st.header("JoyStory - Let's Create!")
# แสดงเรื่องราวที่กำลังดำเนินอยู่
if "story_text" not in st.session_state:
st.session_state["story_text"] = "Once upon a time, in a magical forest..."
st.write(st.session_state["story_text"])
# กล่องให้เด็กแต่งประโยคของตัวเอง
user_input = st.text_input("Add your sentence:")
if st.button("Submit"):
# ประมวลผลเพื่อให้ AI เพิ่มประโยคต่อจากที่เด็กเขียน
response = openai.Completion.create(
model="text-davinci-003",
prompt=st.session_state["story_text"] + " " + user_input,
max_tokens=50
)
ai_text = response.choices[0].text.strip()
# อัปเดตเรื่องราวที่กำลังดำเนินอยู่
st.session_state["story_text"] += " " + user_input + " " + ai_text
st.experimental_rerun() # รีเฟรชหน้าจอเพื่อแสดงประโยคใหม่
|