import streamlit as st
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
big_text = """
Knowledge Extraction B
"""
st.markdown(big_text, unsafe_allow_html=True)
st.markdown(
f'question and answer used to fine tune the LLM',
unsafe_allow_html=True)
st.markdown("sample queries for above file:
What is a pretty amazing thing to say about your life? What is one of the best teachers in all of life? What does a wise person say?",unsafe_allow_html=True)
if 'is_initialized' not in st.session_state:
st.session_state['is_initialized'] = True
model_name = "EleutherAI/gpt-neo-125M"
st.session_state.model_name = "EleutherAI/gpt-neo-125M"
st.session_state.tokenizer = AutoTokenizer.from_pretrained(model_name)
st.session_state.model = AutoModelForCausalLM.from_pretrained("zmbfeng/gpt-neo-125M_untethered_100_epochs_multiple_paragraph")
if torch.cuda.is_available():
st.session_state.device = torch.device("cuda")
print("Using GPU:", torch.cuda.get_device_name(0))
else:
st.session_state.device = torch.device("cpu")
print("GPU is not available, using CPU instead.")
st.session_state.model.to(st.session_state.device)
#prompt = "Discuss the impact of artificial intelligence on modern society."
#prompt = "What is one of the best teachers in all of life?"
#prompt = "What is the necessary awareness for deep and meaningful relationships?"
#prompt = "What would happen if you knew you were going to die within a week or month?"
#prompt = "question: What is one of the best teachers in all of life? "
#prompt = "question: What would happen if death were to happen in an hour, week, or year?"
#=============
#prompt = "question: What if you live life fully?"
#prompt = "question: What does death do to you?"
#============
#prompt = "question: Do you understand that every minute you're on the verge of death?"
#most recent:
#prompt = "question: Are you going to wait until the last moment to let death be your teacher?"
temperature = st.slider("Select Temperature", min_value=0.01, max_value=2.0, value=0.01, step=0.01)
query = st.text_input("Enter your query")
if query:
prompt = "question: "+query
with st.spinner('Generating text...'):
input_ids = st.session_state.tokenizer(prompt, return_tensors="pt").input_ids.to(st.session_state.device)
# Generate a response
#output = st.session_state.model.generate(input_ids, max_length=2048, do_sample=True,temperature=0.01, pad_token_id=st.session_state.tokenizer.eos_token_id) #exact result for single paragraph
output = st.session_state.model.generate(input_ids, max_length=2048, do_sample=True, temperature=temperature,
pad_token_id=st.session_state.tokenizer.eos_token_id) # exact result for single paragraph
# Decode the output
response = st.session_state.tokenizer.decode(output[0], skip_special_tokens=True)
if response.startswith(prompt):
response=response[len(prompt):]
if response.startswith(" answer: "):
response = response[len(" answer: "):]
response=response.replace("", "\n\n")
st.write(response)