ptgpt_myfork / app.py
stanne's picture
Update app.py
d9abff7 verified
Raw
History Blame Contribute Delete
1.88 kB
import os
import re
import time
import torch
import spaces
import gradio as gr
from threading import Thread
import spaces
from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig, TextIteratorStreamer, pipeline
MODEL_ID = "deepseek-ai/DeepSeek-R1-Distill-Llama-8B"
system_message = {"role":"system", "content":"You are a cybersecurity pentester. You are adept at performing pentesting of networks and machines."}
#pipe = pipeline("text-generation", model="deepseek-ai/DeepSeek-R1-Distill-Qwen-32B")
@spaces.GPU(duration=120)
def process(text):
messages = []
messages.append(system_message)
messages.append({"role": "user", "content": text})
return pipeline(messages)
def initialize_model():
"""Initialize the model with appropriate configurations"""
quantization_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_compute_dtype=torch.bfloat16,
bnb_4bit_quant_type="nf4",
bnb_4bit_use_double_quant=True
)
tokenizer = AutoTokenizer.from_pretrained(MODEL_ID , trust_remote_code=True)
if tokenizer.pad_token_id is None:
tokenizer.pad_token_id = tokenizer.eos_token_id
model = AutoModelForCausalLM.from_pretrained(
MODEL_ID,
torch_dtype=torch.float16,
device_map="cuda",
# attn_implementation="flash_attention_2",
trust_remote_code=True,
quantization_config=quantization_config
)
return model, tokenizer
# Load model directlyxx
#tokenizer = AutoTokenizer.from_pretrained("deepseek-ai/DeepSeek-R1-Distill-Llama-70B")
#model = AutoModelForCausalLM.from_pretrained("deepseek-ai/DeepSeek-R1-Distill-Llama-70B")
model, tokenizer = initialize_model()
pipe = pipeline("text-generation", model=model, tokenizer=tokenizer, device="cuda")
demo = gr.Interface(fn=process, inputs="text", outputs="text")
demo.launch()