|
|
|
|
|
|
|
|
|
import os |
|
|
|
|
|
streamlit_app_code = """ |
|
import streamlit as st |
|
from transformers import pipeline |
|
|
|
st.set_page_config(page_title="LLM Fine-Tuned Chatbot", page_icon="🧠", layout="wide") |
|
|
|
# Custom CSS styling |
|
st.markdown(\""" |
|
<style> |
|
.main { |
|
background-color: #f4f4f9; |
|
} |
|
.stTextInput>div>div>input { |
|
border-radius: 10px; |
|
} |
|
.stButton>button { |
|
background-color: #4CAF50; |
|
color: white; |
|
border-radius: 10px; |
|
height: 3em; |
|
width: 100%; |
|
} |
|
</style> |
|
\""", unsafe_allow_html=True) |
|
|
|
st.title("🧠 Fine-Tuned LLM Chatbot") |
|
st.subheader("Chat with your own fine-tuned LLM model") |
|
|
|
# Sidebar Info |
|
st.sidebar.title("Model Info") |
|
st.sidebar.info("This chatbot uses a fine-tuned LLM (simulated via Hugging Face pipeline)") |
|
|
|
# Load pipeline (simulation for actual fine-tuned model) |
|
@st.cache_resource |
|
def load_pipeline(): |
|
# Replace with your fine-tuned model, e.g., "your-username/your-fine-tuned-model" |
|
return pipeline("text-generation", model="gpt2") |
|
|
|
generator = load_pipeline() |
|
|
|
# User input |
|
user_input = st.text_input("Enter your prompt here") |
|
|
|
if st.button("Generate Response"): |
|
if user_input.strip() != "": |
|
with st.spinner("Generating response..."): |
|
response = generator(user_input, max_length=100, do_sample=True)[0]['generated_text'] |
|
st.success("Response:") |
|
st.write(response) |
|
else: |
|
st.warning("Please enter a prompt to generate response.") |
|
""" |
|
|
|
|
|
file_path = "/mnt/data/llm_finetuned_chatbot.py" |
|
with open(file_path, "w") as f: |
|
f.write(streamlit_app_code) |
|
|
|
file_path |
|
|