Promotingai commited on
Commit
995fa62
·
verified ·
1 Parent(s): 76c2359

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +39 -24
app.py CHANGED
@@ -1,39 +1,54 @@
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
 
8
- # Select model using a dropdown
9
- model_choice = st.selectbox('Choose a model:', ['gpt-4-turbo','gpt-3.5-turbo', 'gpt-3.5-turbo-0125','gpt-3.5-turbo-1106','gpt-3.5-turbo-0613','gpt-3.5-turbo-16k-0613','gpt-3.5-turbo-16k','gpt-4-turbo-2024-04-09','gpt-4-turbo-preview', 'gpt-4-0125-preview','gpt-4-1106-preview','gpt-4-0613'])
 
10
 
11
- # Initialize session state for storing messages if it doesn't already exist
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  if "messages" not in st.session_state:
13
- st.session_state["messages"] = [{"role": "assistant", "content": "How can I help you?"}]
14
 
15
- # Display all previous messages
16
  for msg in st.session_state.messages:
17
- st.chat_message(msg["role"]).write(msg["content"])
 
 
 
18
 
19
-
20
- # Input for new prompts
21
- prompt = st.chat_input("Enter your question:")
22
  if prompt:
23
- if not openai_api_key:
24
- st.error("No OpenAI API key found. Please set the OPENAI_API_KEY environment variable.")
25
- st.stop()
26
-
27
- # Append the new user message to session state
28
  st.session_state.messages.append({"role": "user", "content": prompt})
29
- st.chat_message("user").write(prompt)
30
 
31
- # Use a spinner to indicate that the model is generating a response
32
- with st.spinner('PromptingAI is Thinking...'):
33
  client = OpenAI(api_key=openai_api_key)
34
  response = client.chat.completions.create(model=model_choice, messages=st.session_state.messages)
35
- msg = response.choices[0].message.content
36
 
37
- # Append and display the assistant's response
38
- st.session_state.messages.append({"role": "assistant", "content": msg})
39
- st.chat_message("assistant").write(msg)
 
1
  from openai import OpenAI
2
  import streamlit as st
3
+ import os
4
 
5
+ # Configuration initiale de la page
6
+ st.set_page_config(page_title="Mon Application AI", page_icon="path/to/favicon.ico", layout='wide')
7
 
8
+ # Chargement et affichage du logo
9
+ logo_path = "M-LAI.com.png" # Ajustez le chemin vers votre logo
10
+ st.image(logo_path, width=100)
11
 
12
+ # Récupération de la clé API à partir d'une variable d'environnement
13
+ openai_api_key = os.getenv("OPENAI_API_KEY")
14
+ if not openai_api_key:
15
+ st.error("No OpenAI API key found. Please set the OPENAI_API_KEY environment variable.")
16
+ st.stop()
17
+
18
+ # Sélection du modèle via un menu déroulant
19
+ model_choice = st.selectbox(
20
+ 'Choose a model:',
21
+ [
22
+ 'gpt-4-turbo', 'gpt-3.5-turbo', 'gpt-3.5-turbo-0125', 'gpt-3.5-turbo-1106',
23
+ 'gpt-3.5-turbo-0613', 'gpt-3.5-turbo-16k-0613', 'gpt-3.5-turbo-16k',
24
+ 'gpt-4-turbo-2024-04-09', 'gpt-4-turbo-preview', 'gpt-4-0125-preview',
25
+ 'gpt-4-1106-preview', 'gpt-4-0613'
26
+ ]
27
+ )
28
+
29
+ # Gestion des messages dans l'état de session
30
  if "messages" not in st.session_state:
31
+ st.session_state["messages"] = []
32
 
33
+ # Affichage des messages précédents
34
  for msg in st.session_state.messages:
35
+ if msg["role"] == "user":
36
+ st.success(msg["content"])
37
+ else:
38
+ st.info(msg["content"])
39
 
40
+ # Entrée pour de nouveaux prompts
41
+ prompt = st.text_input("Enter your question:")
 
42
  if prompt:
43
+ # Ajout du nouveau message utilisateur à l'état de session
 
 
 
 
44
  st.session_state.messages.append({"role": "user", "content": prompt})
 
45
 
46
+ # Indication que le modèle génère une réponse
47
+ with st.spinner('Prompting AI is Thinking...'):
48
  client = OpenAI(api_key=openai_api_key)
49
  response = client.chat.completions.create(model=model_choice, messages=st.session_state.messages)
50
+ assistant_response = response.choices[0].message.content
51
 
52
+ # Ajout et affichage de la réponse de l'assistant
53
+ st.session_state.messages.append({"role": "assistant", "content": assistant_response})
54
+ st.info(assistant_response)