Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| from g4f.client import Client | |
| # GPT-4o-mini ν΄λΌμ΄μΈνΈ μ΄κΈ°ν | |
| client = Client() | |
| # νμ΄μ§ μ€μ : μ λͺ©, μμ΄μ½, λ μ΄μμ μ€μ | |
| st.set_page_config( | |
| page_title="GPT-4o Chat", | |
| page_icon="π", | |
| layout="centered" | |
| ) | |
| # μΈμ μν μ΄κΈ°ν: μ±ν κΈ°λ‘ μ μ₯ | |
| if "chat_history" not in st.session_state: | |
| st.session_state.chat_history = [] | |
| # μ± μ λͺ© νμ | |
| st.title("GPT-4o-mini Chat π€") | |
| # μ±ν λ©μμ§ UI μΆλ ₯ | |
| for message in st.session_state.chat_history: | |
| with st.chat_message(message['role']): | |
| # μ¬μ©μ λλ GPTμ λ©μμ§λ₯Ό ꡬλΆν΄ μΆλ ₯ | |
| st.markdown(message['content']) | |
| # μ¬μ©μ μ λ ₯ μ°½ | |
| user_prompt = st.chat_input("GPT-4o-miniμκ² μ§λ¬Έν΄λ³΄μΈμ!") | |
| if user_prompt: | |
| # μ¬μ©μμ μ λ ₯ λ©μμ§λ₯Ό UIμ νμνκ³ μΈμ μνμ μ μ₯ | |
| st.chat_message("user").markdown(user_prompt) | |
| st.session_state.chat_history.append({"role": "user", "content": user_prompt}) | |
| # GPT-4o-mini λͺ¨λΈμκ² λ©μμ§ μ λ¬ λ° μλ΅ μμ± | |
| response = client.chat.completions.create( | |
| model="gpt-4o-mini", | |
| messages=[ | |
| {"role": "system", "content": "You are a helpful assistant"}, # μμ€ν ν둬ννΈ | |
| *st.session_state.chat_history # μ΄μ λν λ΄μ© ν¬ν¨ | |
| ] | |
| ) | |
| # GPT μλ΅ κ°μ Έμ€κΈ° | |
| final_response = response.choices[0].message.content | |
| # GPT μλ΅μ UIμ νμνκ³ μΈμ μνμ μ μ₯ | |
| st.session_state.chat_history.append({"role": "assistant", "content": final_response}) | |
| with st.chat_message("assistant"): | |
| st.markdown(final_response) | |