Spaces:
Runtime error
Runtime error
from dotenv import load_dotenv | |
import streamlit as st | |
from utils._admin_util import invoke_rag, get_ticket_category | |
import os | |
# Initialize categories in session state | |
if "categories" not in st.session_state: | |
st.session_state.categories = { | |
"HR Support": [], | |
"IT Support": [], | |
"Transportation Support": [], | |
"Other": [] | |
} | |
def main(): | |
load_dotenv() | |
# Page configuration | |
st.set_page_config( | |
page_title="Intelligent Customer Support Agent", | |
page_icon="π€", | |
layout="wide" | |
) | |
# Sidebar for API key | |
with st.sidebar: | |
#openai_api_key = st.text_input("OpenAI API Key", type="password") | |
st.markdown("---") | |
st.markdown(""" | |
### About | |
This is an AI-powered customer support agent that can answer questions or raise support ticket about the company policies and procedures: | |
- HR policies | |
- IT policies | |
- Transportation policies | |
- Other policies | |
""") | |
# Set OpenAI API key | |
openai_api_key = os.getenv("OPENAI_API_KEY") | |
if not openai_api_key: | |
st.error("OpenAI API key not found! Please check your .env file.") | |
st.stop() | |
# Main chat interface | |
st.title("π€ Intelligent Customer Support Agent") | |
st.caption("Your 24/7 AI Customer Service Representative") | |
st.header("Automatic Ticket Classification Tool") | |
#Capture user input | |
st.write("We are here to help you, please ask your question:") | |
prompt = st.text_input("π") | |
if prompt: | |
if "vector_store" not in st.session_state: | |
st.error("Please load the document data first!") | |
st.stop() | |
response = invoke_rag(st.session_state.vector_store, prompt) | |
st.write(response) | |
#Button to create a ticket with respective department | |
button = st.button("Submit ticket?") | |
if button: | |
category = get_ticket_category(prompt) | |
st.session_state.categories[category].append(prompt) | |
st.success("Ticket submitted successfully!") | |
# Display category (optional) | |
st.write(f"Category: {category}") | |
if __name__ == '__main__': | |
main() | |