Instructions to use AmdFx6100/ruDialoGPT3XL with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use AmdFx6100/ruDialoGPT3XL with PEFT:
Task type is invalid.
- Notebooks
- Google Colab
- Kaggle
This generation model is based on evilfreelancer/ruGPT3XL. How to use (Merged)
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
model_repo = "AmdFx6100/ruDialoGPT3XL"
tokenizer = AutoTokenizer.from_pretrained(model_repo)
model = AutoModelForCausalLM.from_pretrained(
model_repo,
torch_dtype=torch.float16,
device_map="auto"
)
model.eval()
history = [
("привет", "ты че там делал?"),
("где", "в чате"),
("общался", "с кем")
]
user_input = "с друзьями"
prompt = ""
for q, a in history[-3:]:
prompt += f"@@ПЕРВЫЙ@@ {q}\n@@ВТОРОЙ@@ {a}\n"
prompt += f"@@ПЕРВЫЙ@@ {user_input}\n@@ВТОРОЙ@@"
inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
with torch.no_grad():
outputs = model.generate(
**inputs,
max_new_tokens=60,
do_sample=True,
top_p=0.95,
top_k=40,
temperature=0.8,
repetition_penalty=1.1,
no_repeat_ngram_size=3,
eos_token_id=tokenizer.eos_token_id,
pad_token_id=tokenizer.eos_token_id
)
decoded = tokenizer.decode(outputs[0], skip_special_tokens=False)
response = decoded.split("@@ВТОРОЙ@@")[-1].split("<|endoftext|>")[0].strip()
print(f"Bot: {response}")
How to use (LoRa)
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
from peft import PeftModel
model_repo = "AmdFx6100/ruDialoGPT3XL"
base_model_name = "evilfreelancer/ruGPT3XL"
tokenizer = AutoTokenizer.from_pretrained(model_repo, subfolder="lora_only")
base_model = AutoModelForCausalLM.from_pretrained(
base_model_name,
torch_dtype=torch.float16,
device_map="auto"
)
base_model.resize_token_embeddings(len(tokenizer))
model = PeftModel.from_pretrained(base_model, model_repo, subfolder="lora")
model.eval()
history = [
("привет", "ты че там делал?"),
("где", "в чате"),
("общался", "с кем")
]
user_input = "с друзьями"
prompt = ""
for q, a in history[-3:]:
prompt += f"@@ПЕРВЫЙ@@ {q}\n@@ВТОРОЙ@@ {a}\n"
prompt += f"@@ПЕРВЫЙ@@ {user_input}\n@@ВТОРОЙ@@"
inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
with torch.no_grad():
outputs = model.generate(
**inputs,
max_new_tokens=60,
do_sample=True,
top_p=0.95,
top_k=40,
temperature=0.8,
repetition_penalty=1.1,
no_repeat_ngram_size=3,
eos_token_id=tokenizer.eos_token_id,
pad_token_id=tokenizer.eos_token_id
)
decoded = tokenizer.decode(outputs[0], skip_special_tokens=False)
response = decoded.split("@@ВТОРОЙ@@")[-1].split("<|endoftext|>")[0].strip()
print(f"Bot: {response}")
- Downloads last month
- -