Wajahat698 commited on
Commit
2bbbcc0
·
verified ·
1 Parent(s): 08c6d8f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +31 -12
app.py CHANGED
@@ -1,30 +1,49 @@
1
  import os
2
  from dotenv import load_dotenv
3
  import streamlit as st
4
- from langchain_openai import ChatOpenAI
5
- from langchain.schema import HumanMessage, AIMessage
6
  import openai
 
7
  # Load environment variables
8
  load_dotenv()
9
 
 
 
10
 
11
-
12
- openai_api_key = os.getenv("OPENAI_API_KEY")
13
  st.title("💬 Chatbot")
14
 
 
15
  if "messages" not in st.session_state:
16
  st.session_state["messages"] = [{"role": "assistant", "content": "How can I help you?"}]
17
 
18
- for msg in st.session_state.messages:
 
19
  st.chat_message(msg["role"]).write(msg["content"])
20
 
 
21
  if prompt := st.chat_input():
 
 
 
22
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23
 
24
- client = openai_api_key
25
- st.session_state.messages.append({"role": "user", "content": prompt})
26
- st.chat_message("user").write(prompt)
27
- response = client.chat.completions.create(model="gpt-4o", messages=st.session_state.messages)
28
- msg = response.choices[0].message.content
29
- st.session_state.messages.append({"role": "assistant", "content": msg})
30
- st.chat_message("assistant").write(msg)
 
1
  import os
2
  from dotenv import load_dotenv
3
  import streamlit as st
 
 
4
  import openai
5
+
6
  # Load environment variables
7
  load_dotenv()
8
 
9
+ # Set OpenAI API key
10
+ openai.api_key = os.getenv("OPENAI_API_KEY")
11
 
12
+ # Streamlit app title
 
13
  st.title("💬 Chatbot")
14
 
15
+ # Initialize chat messages in session state
16
  if "messages" not in st.session_state:
17
  st.session_state["messages"] = [{"role": "assistant", "content": "How can I help you?"}]
18
 
19
+ # Display existing chat messages
20
+ for msg in st.session_state["messages"]:
21
  st.chat_message(msg["role"]).write(msg["content"])
22
 
23
+ # Input from user
24
  if prompt := st.chat_input():
25
+ # Append user message to session state
26
+ st.session_state["messages"].append({"role": "user", "content": prompt})
27
+ st.chat_message("user").write(prompt)
28
 
29
+ try:
30
+ # OpenAI ChatCompletion API call
31
+ response = openai.chat.completions.create(
32
+ model="gpt-4o",
33
+ messages=[
34
+ {"role": "system", "content": "You are an helpful assistant "},
35
+ *st.session_state["messages"]
36
+ ],
37
+ max_tokens=150, # Adjust as needed
38
+ temperature=0.7 # Adjust as needed
39
+ )
40
+
41
+ # Extract response message content
42
+ msg = response.choices[0].message["content"]
43
+
44
+ # Append assistant message to session state
45
+ st.session_state["messages"].append({"role": "assistant", "content": msg})
46
+ st.chat_message("assistant").write(msg)
47
 
48
+ except Exception as e:
49
+ st.error(f"An error occurred: {e}")