Views
No views yet
pip install transformers1# pip install transformers
2import torch
3from transformers import AutoTokenizer, AutoModelForCausalLM
4
5device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
6
7model_id = "Norod78/SmolLM-135M-FakyPedia-EngHeb"
8tokenizer = AutoTokenizer.from_pretrained(model_id)
9tokenizer.pad_token_id = tokenizer.eos_token_id
10bos_token = tokenizer.bos_token
11model = AutoModelForCausalLM.from_pretrained(model_id).to(device)
12model.generation_config.pad_token_id = tokenizer.pad_token_id
13
14torch.manual_seed(1234)
15
16def generate_fakypedia(article_title: str):
17 with torch.no_grad():
18 result = ""
19 string_to_tokenize= f"{bos_token}\\%{article_title}"
20 input_ids = tokenizer( string_to_tokenize, return_tensors="pt").input_ids.to(device)
21 sample_outputs = model.generate(input_ids, do_sample=True,repetition_penalty=1.05, top_k = 40, top_p = 0.950, temperature=0.80, max_length=192, num_return_sequences=3)
22 #sample_outputs = model.generate(input_ids, do_sample=True,repetition_penalty=1.2, temperature=0.5, max_length=192, num_return_sequences=3)
23 if article_title == None or len(article_title) == 0:
24 result += f"# Fakypedia results with random titles \n"
25 article_title = ""
26 else:
27 result += f"# Fakypedia results for \"{article_title}\" \n"
28 for i, sample_output in enumerate(sample_outputs):
29 decoded_output = tokenizer.decode(sample_output, skip_special_tokens=True)
30 decoded_output = decoded_output.replace(f"\%{article_title}", f"## {i+1}. {article_title}").replace("\%", " ").replace("\\n", " \n")
31 decoded_output = decoded_output.replace("## \n", "\n")
32 result += "{}\n".format(decoded_output)
33 return result
34
35generate_fakypedia("Hugging Face")llama-cli -m SmolLM-135M-FakyPedia-EngHeb-BF16.gguf -p "<|endoftext|>\\%Hugging Face"1def add_prefix(example):
2 example["text"] = ("\%" + example["title"] + "\%\n" + example["text"]).replace("\n", "\\n")
3 return example