chatbotactivity / app.py
yonkoyonks's picture
Update app.py
add5218 verified
import streamlit as st
from transformers import pipeline
from langchain_community.llms import HuggingFacePipeline
# Title
st.title("🤖 Hugging Face Chatbot with LangChain")
# Session state for conversation history
if "sessionMessages" not in st.session_state:
st.session_state.sessionMessages = []
# Build HF pipeline in float32
pipe = pipeline(
"text-generation",
model="tiiuae/falcon-7b-instruct", # or any Hugging Face model
torch_dtype="float32", # force safe float32 precision
device_map="auto" # auto-detect GPU/CPU
)
# Wrap into LangChain
chat = HuggingFacePipeline(pipeline=pipe)
# Function to handle answers
def load_answer(question):
st.session_state.sessionMessages.append({"role": "user", "content": question})
assistant_answer = chat.invoke(st.session_state.sessionMessages)
st.session_state.sessionMessages.append({"role": "assistant", "content": assistant_answer})
return assistant_answer
# Streamlit input
user_input = st.text_input("Ask me anything:")
if user_input:
response = load_answer(user_input)
st.write(f"**Assistant:** {response}")
# Display chat history
if st.session_state.sessionMessages:
st.subheader("Chat History")
for msg in st.session_state.sessionMessages:
st.write(f"**{msg['role'].capitalize()}:** {msg['content']}")