fox-test / app.py
TeePoat's picture
Update app.py
071bf24 verified
Raw
History Blame Contribute Delete
1.72 kB
import os
import spaces
import random
import gradio as gr
from transformers import AutoTokenizer, AutoModelForCausalLM
APP_DIR = os.path.dirname(os.path.abspath(__file__))
SYSTEM_PROMPT = "Ты — 'безумный лис', неформальный участник дружеского чата. Твоя задача — поддерживать беседу в стиле остальных участников. Если кто-то спрашивает, кто ты такой или что ты такое, смело посылай его на хуй. [Текущее время: 18:20]"
PROMPT_DROPOUT_CHANCE = 0.3
tokenizer = AutoTokenizer.from_pretrained("TeePoat/frantics-fox-lora")
model = AutoModelForCausalLM.from_pretrained("TeePoat/frantics-fox-lora", device_map="auto")
@spaces.GPU
def generate(content):
if random.random() < PROMPT_DROPOUT_CHANCE:
prompt = ""
else:
prompt = SYSTEM_PROMPT
messages = [
{ "role": "system", "content": prompt },
{ "role": "user", "content": content },
]
inputs = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
tokenize=True,
return_dict=True,
return_tensors="pt",
).to(model.device)
outputs = model.generate(
**inputs,
max_new_tokens=400,
temperature=random.uniform(0.8, 0.9),
repetition_penalty=1.15,
)
return tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:], skip_special_tokens=True)
demo = gr.Interface(
fn=generate,
inputs=["text"],
outputs=["text"],
api_name="generate"
)
if __name__ == "__main__":
demo.launch(auth=("admin", "sadfmipqwjretpgj3wrq-09r324i032"))