Python_tutor / app.py
krisha06's picture
Create app.py
75b206c verified
Raw
History Blame
1.17 kB
import streamlit as st
from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig, TextStreamer
import torch
MODEL_PATH = "./tinyllama-python-tutor-lora"
st.title("TinyLLaMA Python Tutor 💬")
@st.cache_resource
def load_model():
bnb_config = BitsAndBytesConfig(
load_in_8bit=True,
llm_int8_threshold=6.0,
llm_int8_skip_modules=None,
llm_int8_enable_fp32_cpu_offload=True
)
tokenizer = AutoTokenizer.from_pretrained(MODEL_PATH, use_fast=True)
model = AutoModelForCausalLM.from_pretrained(
MODEL_PATH,
quantization_config=bnb_config,
device_map="auto"
)
return tokenizer, model
tokenizer, model = load_model()
prompt = st.text_area("Ask me about Python:", height=200)
if st.button("Generate Response"):
if prompt.strip():
inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
output = model.generate(**inputs, max_new_tokens=200, do_sample=True)
response = tokenizer.decode(output[0], skip_special_tokens=True)
st.write("### Response")
st.success(response)
else:
st.warning("Please enter a prompt!")