|
from unsloth import FastLanguageModel |
|
import torch |
|
import streamlit as st |
|
from transformers import TextStreamer |
|
|
|
|
|
@st.cache_resource |
|
def load_model(): |
|
model, tokenizer = FastLanguageModel.from_pretrained( |
|
model_name = "lora_model", |
|
max_seq_length = 2048, |
|
dtype = None, |
|
load_in_4bit = True, |
|
) |
|
FastLanguageModel.for_inference(model) |
|
return model, tokenizer |
|
|
|
model, tokenizer = load_model() |
|
|
|
st.title("Activity and Emission Prediction") |
|
st.write("Match the potential use case with the corresponding activity and emission values based on provided context.") |
|
|
|
|
|
alpaca_prompt = """Below is an instruction that describes a task, paired with an input that provides further context. Write a response that appropriately completes the request. |
|
|
|
### Instruction: |
|
{} |
|
|
|
### Input: |
|
{} |
|
|
|
### Response: |
|
{}""" |
|
|
|
instruction = st.text_input("Instruction", "Match the potential use case with the corresponding activity and emission values based on the provided context.") |
|
input_text = st.text_area("Input", "Doğal Gaz Kullanımı, Gaz Faturası Yönetimi, Isınma Maliyetleri, Enerji Tasarrufu, Gaz Dağıtımı") |
|
|
|
|
|
if st.button("Generate Response"): |
|
with st.spinner("Generating response..."): |
|
|
|
formatted_prompt = alpaca_prompt.format(instruction, input_text, "") |
|
inputs = tokenizer([formatted_prompt], return_tensors="pt").to("cuda") |
|
|
|
outputs = model.generate(**inputs, max_new_tokens=128) |
|
response_text = tokenizer.decode(outputs[0], skip_special_tokens=True) |
|
|
|
st.write("### Response") |
|
st.write(response_text) |