Promotingai commited on
Commit
abc7d97
·
verified ·
1 Parent(s): fcd6b99

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +26 -22
app.py CHANGED
@@ -1,38 +1,42 @@
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
- st.title("💬 Chatbot")
9
- st.caption("")
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
- # Input for new prompts
20
- prompt = st.chat_input("Enter your question:")
21
  if prompt:
22
- if not openai_api_key:
23
- st.error("No OpenAI API key found. Please set the OPENAI_API_KEY environment variable.")
24
  st.stop()
25
 
26
- # Append the new user message to session state
27
  st.session_state.messages.append({"role": "user", "content": prompt})
28
- st.chat_message("user").write(prompt)
29
 
30
- # Use a spinner to indicate that the model is generating a response
31
  with st.spinner('Thinking...'):
32
- client = OpenAI(api_key=openai_api_key)
33
- response = client.chat.completions.create(model="gpt-3.5-turbo", messages=st.session_state.messages)
 
 
 
 
 
34
  msg = response.choices[0].message.content
35
 
36
- # Append and display the assistant's response
37
- st.session_state.messages.append({"role": "assistant", "content": msg})
38
- st.chat_message("assistant").write(msg)
 
 
1
  import streamlit as st
2
+ import os
3
+ from anthropic import ClaudeAPI
4
 
5
+ # Récupération de la clé API depuis une variable d'environnement
6
+ anthropic_api_key = os.getenv("ANTHROPIC_API_KEY")
7
 
8
+ st.title("💬 Chatbot avec Claude 3")
 
9
 
10
+ # Initialisation de l'état de la session pour stocker les messages s'il n'existe pas déjà
11
  if "messages" not in st.session_state:
12
+ st.session_state["messages"] = []
13
 
14
+ # Affichage de tous les messages précédents
15
  for msg in st.session_state.messages:
16
+ st.chat_message(role=msg["role"], content=msg["content"])
17
+
18
+ # Entrée pour les nouvelles questions
19
+ prompt = st.chat_input("Posez votre question :")
20
 
 
 
21
  if prompt:
22
+ if not anthropic_api_key:
23
+ st.error("Clé API de Anthropic non trouvée. Veuillez définir la variable d'environnement ANTHROPIC_API_KEY.")
24
  st.stop()
25
 
26
+ # Ajouter le nouveau message utilisateur à l'état de la session
27
  st.session_state.messages.append({"role": "user", "content": prompt})
 
28
 
29
+ # Utiliser un indicateur pour montrer que le modèle génère une réponse
30
  with st.spinner('Thinking...'):
31
+ client = ClaudeAPI(api_key=anthropic_api_key)
32
+ response = client.chat_completions.create(
33
+ model="claude-3",
34
+ messages=[{"role": msg["role"], "content": msg["content"]} for msg in st.session_state.messages]
35
+ )
36
+
37
+ # Récupérer le contenu de la réponse
38
  msg = response.choices[0].message.content
39
 
40
+ # Ajouter et afficher la réponse de l'assistant
41
+ st.session_state.messages.append({"role": "assistant", "content": msg})
42
+ st.chat_message(role="assistant", content=msg)