TechChat / app.py
hari7261's picture
Update app.py
4f28f1f verified
raw
history blame
1.75 kB
import gradio as gr
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
# Load model from Hugging Face Hub (replace with your username/model name)
model_name = "hari7261/TechChat"
# Load tokenizer and model
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype=torch.float16,
device_map="auto"
)
# Chat function
def chat(prompt, max_new_tokens=200, temperature=0.7, top_p=0.9):
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
with torch.no_grad():
outputs = model.generate(
**inputs,
max_new_tokens=max_new_tokens,
temperature=temperature,
top_p=top_p,
pad_token_id=tokenizer.eos_token_id
)
return tokenizer.decode(outputs[0], skip_special_tokens=True)
# Gradio UI
with gr.Blocks() as demo:
gr.Markdown("# 馃挰 TechChat - Domain Chatbot")
gr.Markdown("Fine-tuned from Mistral-7B for technical Q&A")
with gr.Row():
with gr.Column(scale=3):
user_input = gr.Textbox(lines=3, placeholder="Ask me something technical...", label="Your Question")
max_tokens = gr.Slider(50, 500, value=200, step=10, label="Max New Tokens")
temperature = gr.Slider(0.1, 1.5, value=0.7, step=0.1, label="Temperature")
top_p = gr.Slider(0.1, 1.0, value=0.9, step=0.05, label="Top-p Sampling")
submit_btn = gr.Button("Generate Answer")
with gr.Column(scale=5):
output_box = gr.Textbox(label="TechChat Response")
submit_btn.click(
fn=chat,
inputs=[user_input, max_tokens, temperature, top_p],
outputs=output_box
)
demo.launch()