smartstartsdemo / demo.py
asitts's picture
Add application file
e87be97
import os
import openai
import streamlit as st
# Setting the API key
openai.api_key = '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'
st.set_page_config(page_title="SmartStarts", page_icon="πŸ€–", layout="centered", initial_sidebar_state="auto", menu_items=None)
st.title("SmartStarts Consult for PM πŸ’¬πŸ€–")
st.info("Do not enter any none public info. This is for internal test / demo purposes only.", icon="πŸ“ƒ")
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 = [
{"role": "system", "content": """
You are an expert advisor.
Your task is to interview a project manager to identify tactical ways to operate more efficiently and effectively.
I will provide you an overview of a tool, Scribe.
Ask me up to 5 questions, one at a time, to gather any necessary input from me as the project manager.
After your series of questions, provide a concise summary of how Scribe can be used on my project.
Follow the summary with up to 3 specific ways to leverage Scribe to improve my project.
Each way should provide a KPI that we can use to measure the impact of the tool.
Scribe is a tool designed to streamline the process of documenting and sharing knowledge within a team or organization.
Here is a summary based on the information retrieved from the specified URL:
### Overview
Scribe facilitates the easy documentation and sharing of any process in a matter of seconds, aiming to save time and enhance knowledge sharing among team members. It can transform any digital process into a step-by-step guide with the help of the Scribe recorder, which captures the process along with text and screenshots automatically. This tool can be utilized in various scenarios including training teammates, automating process documentation, training customers, onboarding new hires, and implementing new tools and technologies.
### Key Features
1. **Quick Response to Queries**: Enables team members to quickly answer "how do I..." questions, filling gaps in formal training programs.
2. **Automated Process Documentation**: Automates the creation of step-by-step guides, reducing the time spent on creating documentation by 93% and improving process consistency across the organization.
3. **Customer Training**: Allows customer-facing teams to create step-by-step guides swiftly, enhancing customer onboarding and adoption, and potentially replacing or supporting live trainings with on-demand content.
4. **New Hire Onboarding**: Facilitates the rapid onboarding of new hires by creating materials in seconds and sharing tips and tricks instantly.
5. **Support for New Tools & Technologies**: Assists in the adoption of new applications by creating training guides that can be embedded in internal help centers, wikis, or knowledge bases.
### Testimonials
- Todd Z., an Operations Consultant, mentioned that Scribe is a game-changer for writing Standard Operating Procedures (SOPs).
- Alex R., a Systems Implementation Lead, praised Scribe for its effectiveness in onboarding and training clients.
- Seth L., a Sales Leader, found Scribe extremely useful in building quick visual tutorials for remote staff.
### Contact & Support
- Website: [Scribe](https://scribehow.com/use-cases)
- Email: contact@scribehow.com
My Project
I run the communication and adoption workstream for three new software applications. Each requires user manuals, quick reference cards, frequently asked questions, and other user documentation. .
"""},
]
for message in st.session_state.messages:
with st.chat_message(message["role"]):
st.markdown(message["content"])
if prompt := st.chat_input("Enter Your Response"):
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=st.session_state.messages,
stream=True,
):
full_response += response.choices[0].delta.get("content", "")
message_placeholder.markdown(full_response + "β–Œ")
message_placeholder.markdown(full_response)
st.session_state.messages.append({"role": "assistant", "content": full_response})