|
|
|
--- |
|
datasets: |
|
- Open-Orca/OpenOrca |
|
language: |
|
- en |
|
library_name: transformers |
|
--- |
|
# Test task |
|
|
|
For model inference run following |
|
|
|
```python |
|
from peft import PeftModel, PeftConfig |
|
from transformers import AutoModelForCausalLM, AutoTokenizer, GenerationConfig |
|
from peft import PeftModel |
|
|
|
seed_value = 42 |
|
torch.manual_seed(seed_value) |
|
torch.cuda.manual_seed_all(seed_value) |
|
|
|
|
|
model_name = "lmsys/vicuna-7b-v1.5" |
|
lora_name = 'AlexWortega/PaltaTest' |
|
|
|
tokenizer = LlamaTokenizer.from_pretrained(model_name, model_max_length=1024) |
|
tokenizer.pad_token = tokenizer.eos_token |
|
|
|
model = PeftModel.from_pretrained( |
|
model, |
|
lora_name, |
|
torch_dtype=torch.float16 |
|
) |
|
model.eval() |
|
|
|
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.float16 ).to('cpu') |
|
|
|
|
|
model = PeftModel.from_pretrained(model, path_adapter) |
|
model.to(device) |
|
model.eval() |
|
|
|
def process_output(i, o): |
|
""" |
|
Simple output processing |
|
""" |
|
if isinstance(o, list): |
|
return [seq.split('A:')[1] for seq in o] |
|
elif isinstance(o, str): |
|
return o.split('A:')[1] |
|
else: |
|
return "Unsupported data type. Please provide a list or a string." |
|
|
|
def generate_seqs(q, k=2): |
|
|
|
q = 'Q:'+ q + 'A:' |
|
tokens = tokenizer.encode(q, return_tensors='pt').to(device) |
|
g = model.generate(input_ids=tokens) |
|
generated_sequences = tokenizer.batch_decode(g, skip_special_tokens=True) |
|
|
|
return generated_sequences |
|
|
|
q = """Given a weather description in plain text, rewrite it in a different style |
|
|
|
```The weather is sunny and the temperature is 20 degrees. The wind is blowing at 10 km/h. |
|
Citizens are advised to go out and enjoy the weather. The weather is expected to be sunny tomorrow. |
|
``` |
|
|
|
And the following style: "Angry weatherman" |
|
""" |
|
|
|
s = generate_seqs(q=q) |
|
s = process_output(q,s) |
|
print(s[0])# |
|
|
|
|
|
``` |
|
|
|
should output something like these |
|
|
|
""" |
|
Angry weatherman: "The weather is sunny and the temperature is 20 degrees. The wind is blowing at 10 km/h. |
|
Citizens are advised to stay indoors and avoid going out. The weather is expected to be sunny tomorrow. |
|
|
|
""" |