Promotingai commited on
Commit
90d5e32
·
verified ·
1 Parent(s): 9f61be6

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +31 -21
app.py CHANGED
@@ -1,37 +1,47 @@
1
  from openai import OpenAI
2
  import streamlit as st
3
- import os # Import the os module
4
 
5
- # Fetch the API key from an environment variable
 
6
  openai_api_key = os.getenv("OPENAI_API_KEY")
7
  if not openai_api_key:
8
  st.error("No OpenAI API key found. Please set the OPENAI_API_KEY environment variable.")
9
  st.stop()
10
 
11
- # Utilisation fixe du modèle gpt-4-turbo
12
- model_choice = 'gpt-4-turbo'
 
 
 
 
 
13
 
14
- # Initialize session state for storing messages if it doesn't already exist
15
- if "messages" not in st.session_state:
16
- st.session_state["messages"] = [{"role": "assistant", "content": "How can I help you?"}]
 
 
 
17
 
18
- # Display all previous messages
19
- for msg in st.session_state.messages:
20
- st.chat_message(msg["role"]).write(msg["content"])
 
 
 
21
 
22
- # Input for new prompts
23
- prompt = st.chat_input("Enter your question:")
24
  if prompt:
25
- # Append the new user message to session state
26
  st.session_state.messages.append({"role": "user", "content": prompt})
27
- st.chat_message("user").write(prompt)
28
 
29
- # Use a spinner to indicate that the model is generating a response
30
- with st.spinner('M-LAI is Thinking...'):
31
  client = OpenAI(api_key=openai_api_key)
32
- response = client.chat.completions.create(model=model_choice, messages=st.session_state.messages)
33
- msg = response.choices[0].message.content
34
 
35
- # Append and display the assistant's response
36
- st.session_state.messages.append({"role": "assistant", "content": msg})
37
- st.chat_message("assistant").write(msg)
 
1
  from openai import OpenAI
2
  import streamlit as st
3
+ import os
4
 
5
+ # Configuration de la page et vérification de la clé API
6
+ st.set_page_config(page_title="Chat with AI", layout="wide")
7
  openai_api_key = os.getenv("OPENAI_API_KEY")
8
  if not openai_api_key:
9
  st.error("No OpenAI API key found. Please set the OPENAI_API_KEY environment variable.")
10
  st.stop()
11
 
12
+ # Lecture du message système à partir d'un fichier texte
13
+ try:
14
+ with open("system_message.txt", "r") as file:
15
+ system_message = file.read().strip()
16
+ except FileNotFoundError:
17
+ st.error("The system message file was not found. Please make sure 'system_message.txt' exists.")
18
+ st.stop()
19
 
20
+ # Initialisation des messages dans l'état de session avec un message système
21
+ if "messages" not in st.session_state or st.button("Restart Conversation"):
22
+ st.session_state["messages"] = [
23
+ {"role": "system", "content": system_message},
24
+ {"role": "assistant", "content": "Hello, how can I assist you today?"}
25
+ ]
26
 
27
+ # Affichage des messages précédents
28
+ for message in st.session_state["messages"]:
29
+ if message["role"] == "user":
30
+ st.text_area("You", value=message["content"], height=100, disabled=True)
31
+ elif message["role"] == "assistant":
32
+ st.text_area("Assistant", value=message["content"], height=100, disabled=True)
33
 
34
+ # Entrée pour de nouveaux prompts
35
+ prompt = st.text_input("Enter your question:")
36
  if prompt:
37
+ # Ajout du nouveau message utilisateur à l'état de session
38
  st.session_state.messages.append({"role": "user", "content": prompt})
 
39
 
40
+ # Indication que le modèle génère une réponse
41
+ with st.spinner('AI is thinking...'):
42
  client = OpenAI(api_key=openai_api_key)
43
+ response = client.chat.completions.create(model='gpt-4-turbo', messages=st.session_state.messages)
44
+ assistant_response = response.choices[0].message.content
45
 
46
+ # Ajout et affichage de la réponse de l'assistant
47
+ st.session_state.messages.append({"role": "assistant", "content": assistant_response})