|
import torch
|
|
from transformers import AutoModelForCausalLM, AutoTokenizer
|
|
import streamlit as st
|
|
import airllm
|
|
|
|
|
|
model_name = "google/gemma-2b"
|
|
tokenizer = AutoTokenizer.from_pretrained(model_name)
|
|
|
|
|
|
model = AutoModelForCausalLM.from_pretrained(model_name)
|
|
|
|
|
|
air_llm = airllm.AirLLM(model, tokenizer)
|
|
|
|
|
|
st.set_page_config(
|
|
page_title="Chatbot with GEMMA 2B and AirLLM",
|
|
page_icon="π€",
|
|
layout="wide",
|
|
initial_sidebar_state="expanded",
|
|
)
|
|
|
|
|
|
st.title("Conversational Chatbot with GEMMA 2B and AirLLM")
|
|
|
|
|
|
st.sidebar.header("Chatbot Configuration")
|
|
theme = st.sidebar.selectbox("Choose a theme", ["Default", "Dark", "Light"])
|
|
|
|
|
|
if theme == "Dark":
|
|
st.markdown(
|
|
"""
|
|
<style>
|
|
.reportview-container {
|
|
background: #2E2E2E;
|
|
color: #FFFFFF;
|
|
}
|
|
.sidebar .sidebar-content {
|
|
background: #333333;
|
|
}
|
|
</style>
|
|
""",
|
|
unsafe_allow_html=True
|
|
)
|
|
elif theme == "Light":
|
|
st.markdown(
|
|
"""
|
|
<style>
|
|
.reportview-container {
|
|
background: #FFFFFF;
|
|
color: #000000;
|
|
}
|
|
.sidebar .sidebar-content {
|
|
background: #F5F5F5;
|
|
}
|
|
</style>
|
|
""",
|
|
unsafe_allow_html=True
|
|
)
|
|
|
|
|
|
user_input = st.text_input("You: ", "")
|
|
if st.button("Send"):
|
|
if user_input:
|
|
|
|
response = air_llm.generate_response(user_input)
|
|
st.text_area("Bot:", value=response, height=200, max_chars=None)
|
|
else:
|
|
st.warning("Please enter a message.")
|
|
|
|
|
|
st.sidebar.markdown(
|
|
"""
|
|
### About
|
|
This is a conversational chatbot built using the base version of the GEMMA 2B model and AirLLM.
|
|
"""
|
|
)
|
|
|