MatheusHRV commited on
Commit
69d3960
·
verified ·
1 Parent(s): f2ceb8c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +3 -20
app.py CHANGED
@@ -2,37 +2,26 @@ import streamlit as st
2
  from transformers import pipeline
3
  from langchain.schema import AIMessage, HumanMessage, SystemMessage
4
 
5
- # ------------------------
6
- # Streamlit UI
7
- # ------------------------
8
  st.set_page_config(page_title="LangChain Demo", page_icon=":robot:")
9
  st.header("MHRV Chatbot")
10
 
11
- # Initialize session messages
12
  if "sessionMessages" not in st.session_state:
13
  st.session_state.sessionMessages = [
14
  SystemMessage(content="You are a helpful customer support chatbot for a website.")
15
  ]
16
 
17
- # ------------------------
18
- # Load Hugging Face model (CPU-friendly)
19
- # ------------------------
20
- # Using a smaller model for free Spaces CPU plan
21
  generator = pipeline(
22
  "text-generation",
23
- model="mosaicml/mpt-7b-instruct", # smaller, instruction-tuned, CPU-compatible
24
- device=-1, # -1 = CPU
25
  max_new_tokens=256,
26
  temperature=0.3
27
  )
28
 
29
- # ------------------------
30
- # Helper functions
31
- # ------------------------
32
  def load_answer(question):
33
  st.session_state.sessionMessages.append(HumanMessage(content=question))
34
 
35
- # Convert session messages to a single prompt string
36
  prompt = ""
37
  for msg in st.session_state.sessionMessages:
38
  if isinstance(msg, SystemMessage):
@@ -42,21 +31,15 @@ def load_answer(question):
42
  elif isinstance(msg, AIMessage):
43
  prompt += f"AI: {msg.content}\n"
44
 
45
- # Generate response
46
  output = generator(prompt, max_new_tokens=256, do_sample=True, temperature=0.3)
47
  answer_text = output[0]["generated_text"][len(prompt):].strip()
48
 
49
- # Add AI message to session
50
  st.session_state.sessionMessages.append(AIMessage(content=answer_text))
51
-
52
  return answer_text
53
 
54
  def get_text():
55
  return st.text_input("You: ", key="input")
56
 
57
- # ------------------------
58
- # Main App
59
- # ------------------------
60
  user_input = get_text()
61
  submit = st.button("Generate")
62
 
 
2
  from transformers import pipeline
3
  from langchain.schema import AIMessage, HumanMessage, SystemMessage
4
 
 
 
 
5
  st.set_page_config(page_title="LangChain Demo", page_icon=":robot:")
6
  st.header("MHRV Chatbot")
7
 
 
8
  if "sessionMessages" not in st.session_state:
9
  st.session_state.sessionMessages = [
10
  SystemMessage(content="You are a helpful customer support chatbot for a website.")
11
  ]
12
 
13
+ # Smaller CPU-friendly model
 
 
 
14
  generator = pipeline(
15
  "text-generation",
16
+ model="tiiuae/falcon-1b-instruct",
17
+ device=-1, # CPU
18
  max_new_tokens=256,
19
  temperature=0.3
20
  )
21
 
 
 
 
22
  def load_answer(question):
23
  st.session_state.sessionMessages.append(HumanMessage(content=question))
24
 
 
25
  prompt = ""
26
  for msg in st.session_state.sessionMessages:
27
  if isinstance(msg, SystemMessage):
 
31
  elif isinstance(msg, AIMessage):
32
  prompt += f"AI: {msg.content}\n"
33
 
 
34
  output = generator(prompt, max_new_tokens=256, do_sample=True, temperature=0.3)
35
  answer_text = output[0]["generated_text"][len(prompt):].strip()
36
 
 
37
  st.session_state.sessionMessages.append(AIMessage(content=answer_text))
 
38
  return answer_text
39
 
40
  def get_text():
41
  return st.text_input("You: ", key="input")
42
 
 
 
 
43
  user_input = get_text()
44
  submit = st.button("Generate")
45