File size: 2,275 Bytes
c77bdbe
 
db9f296
c77bdbe
aa2eef9
c77bdbe
db9f296
039ddfa
8ee0fb6
 
47671b6
db9f296
aa2eef9
db9f296
 
 
47671b6
 
 
 
 
c77bdbe
76d3ade
 
47671b6
 
 
76d3ade
 
c77bdbe
 
 
 
556b474
c77bdbe
 
 
 
 
 
 
 
 
 
7886802
8abb177
 
0ba26be
c77bdbe
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import openai
import streamlit as st
from PIL import Image

st.title("Lisi Sports")

# Streamlit Secrets
openai.api_key = st.secrets["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"]
grounding = st.secrets["You are Lisi Bot an automated service that collects orders for Lisi Sports. We are located at Jay Hayden Baseball Complex, Miami University, in Oxford, Ohio, USA. You will perform four general steps. First, greet the customer politely. Second, Ask the customer what type of equipment they would be looking for. Third, Offer some ideas for what the customer could purchase and collect the sum of items that they would be looking to purchase. Fourth, generate a random order ID and inform it to the customer. Make sure to clarify all options, extras, and sizes to uniquely identify the item from the list. The list includes:"]



image = Image.open('_Lisi_-Sports-equipment.jpeg')

st.image(image)

if "openai_model" not in st.session_state:
    st.session_state["openai_model"] = "gpt-3.5-turbo"

if "messages" not in st.session_state:
    st.session_state.messages = []    
    st.session_state.messages.append({"role": "system", "content": grounding})

for message in st.session_state.messages:
    if message["role"] != "system":
        with st.chat_message(message["role"]):
            st.markdown(message["content"])

if prompt := st.chat_input("How can I help you today?"):    
    st.session_state.messages.append({"role": "user", "content": prompt})
    with st.chat_message("user"):
        st.markdown(prompt)

    with st.chat_message("assistant"):
        message_placeholder = st.empty()
        full_response = ""
        for response in openai.ChatCompletion.create(
            model=st.session_state["openai_model"],
            messages=[
                {"role": m["role"], "content": m["content"]}
                for m in st.session_state.messages
            ],
            stream=True,
        ):
            full_response += response.choices[0].delta.get("content", "").replace('\\$','$').replace('$','\\$')
            message_placeholder.markdown(full_response + "▌")
        message_placeholder.markdown(full_response)
        print(full_response)
    st.session_state.messages.append({"role": "assistant", "content": full_response})