Spaces:
Sleeping
Sleeping
File size: 3,230 Bytes
5a18d50 1ef908a 5a18d50 fd74ac9 5a18d50 fd74ac9 5a18d50 fd74ac9 5a18d50 fd74ac9 5a18d50 fd74ac9 3866cff fd74ac9 3866cff fd74ac9 3866cff fd74ac9 3866cff fd74ac9 5a18d50 4ff2cb5 fd74ac9 4ff2cb5 fd74ac9 5a18d50 4ff2cb5 5a18d50 76f7219 5a18d50 fd74ac9 5a18d50 3866cff 76f7219 |
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 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 |
import streamlit as st
from groq import Groq
# Define the API key here
GROQ_API_KEY = "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"
# Initialize session state for chat history
if "chat_history" not in st.session_state:
st.session_state.chat_history = [
{"role": "system", "content": "you are a helpful assistant. Take the input from the users and try to provide as detailed response as possible. Provide proper examples to help the user. Try to mention references or provide citations to make it more detail-oriented."}
]
# Define function to fetch response
def fetch_response(user_input):
client = Groq(api_key=GROQ_API_KEY)
st.session_state.chat_history.append({"role": "user", "content": user_input})
chat_completion = client.chat.completions.create(
messages=st.session_state.chat_history,
model="mixtral-8x7b-32768",
stream=False
)
response = chat_completion.choices[0].message.content
st.session_state.chat_history.append({"role": "assistant", "content": response})
return response
# Streamlit app
st.set_page_config(page_title="Fastest AI Chatbot", page_icon="🤖", layout="wide")
st.markdown(
"""
<style>
body {
background-color: #1f1f2e;
color: #e1e1e1;
font-family: 'Courier New', Courier, monospace;
}
.css-18e3th9 {
padding: 2rem;
}
.css-1d391kg {
background: linear-gradient(145deg, #3d3d5c, #2e2e4a);
box-shadow: 20px 20px 60px #29293f, -20px -20px 60px #3a3a56;
border-radius: 15px;
padding: 2rem;
}
.stButton>button {
background: linear-gradient(145deg, #5e5e87, #4a4a6c);
box-shadow: 8px 8px 16px #29293f, -8px -8px 16px #3a3a56;
color: #e1e1e1;
border: none;
border-radius: 12px;
padding: 0.5rem 2rem;
font-size: 1.2rem;
margin-top: 1rem;
}
.stTextInput>div>div>input {
background: linear-gradient(145deg, #5e5e87, #4a4a6c);
box-shadow: inset 8px 8px 16px #29293f, inset -8px -8px 16px #3a3a56;
border: none;
border-radius: 12px;
color: #e1e1e1;
padding: 1rem;
font-size: 1rem;
}
footer {
color: #e1e1e1;
font-size: small;
text-align: right;
margin-top: 2rem;
}
</style>
""",
unsafe_allow_html=True
)
st.title("Fastest AI Chatbot")
st.write("Ask a question and get a response.")
# Function to display chat history
def display_chat_history():
for chat in st.session_state.chat_history:
if chat["role"] == "user":
st.markdown(f"**You:** {chat['content']}")
elif chat["role"] == "assistant":
st.markdown(f"**AI:** {chat['content']}")
# Display chat history
display_chat_history()
# Text input for user's question
user_input = st.text_input("Enter your question here:", key="input")
# Button to trigger response
if st.button("Get Response"):
if user_input:
# Fetch and display response
response = fetch_response(user_input)
st.experimental_rerun()
# Footer
st.markdown(
"""
<footer>
By DL TITANS
</footer>
""",
unsafe_allow_html=True
)
|