Views
No views yet
1import json
2from transformers import pipeline, AutoTokenizer, LlamaForCausalLM
3import torch
4model_id = "Ericu950/Papy_1_Llama-3.1-8B-Instruct_date"
5model = LlamaForCausalLM.from_pretrained(
6 model_id,
7 device_map="auto",
8)
9tokenizer = AutoTokenizer.from_pretrained(model_id)
10generation_pipeline = pipeline(
11 "text-generation",
12 model=model,
13 tokenizer=tokenizer,
14 device_map="auto",
15)1# This is a rough transcription of Pap.Ups. 106
2papyrus_edition = """
3ετουσ τεταρτου αυτοκρατοροσ καισαροσ ουεσπασιανου σεβαστου ------------------
4ομολογει παυσιριων απολλωνιου του παuσιριωνοσ μητροσ ---------------τωι γεγονοτι αυτωι
5εκ τησ γενομενησ και μετηλλαχυιασ αυτου γυναικοσ -------------------------
6απο τησ αυτησ πολεωσ εν αγυιαι συγχωρειν ειναι ----------------------------------
7--------------------σ αυτωι εξ ησ συνεστιν ------------------------------------
8----τησ αυτησ γενεασ την υπαρχουσαν αυτωι οικιαν ------------
9------------------ ---------καὶ αιθριον και αυλη απερ ο υιοσ διοκοροσ --------------------------
10--------εγραψεν του δ αυτου διοσκορου ειναι ------------------------------------
11---------- και προ κατενγεγυηται τα δικαια --------------------------------------
12νησ κατα τουσ τησ χωρασ νομουσ· εαν δε μη ---------------------------------------
13υπ αυτου τηι του διοσκορου σημαινομενηι -----------------------------------ενοικισμωι του
14ημισουσ μερουσ τησ προκειμενησ οικιασ --------------------------------- διοσκοροσ την τουτων αποχην
15---------------------------------------------μηδ υπεναντιον τουτοισ επιτελειν μηδε
16------------------------------------------------ ανασκευηι κατ αυτησ τιθεσθαι ομολογιαν μηδε
17----------------------------------- επιτελεσαι η χωρισ του κυρια ειναι τα διομολογημενα
18παραβαινειν, εκτεινειν δε τον παραβησομενον τωι υιωι διοσκορωι η τοισ παρ αυτου καθ εκαστην
19εφοδον το τε βλαβοσ και επιτιμον αργυριου δραχμασ 0 και εισ το δημοσιον τασ ισασ και μηθεν
20ησσον· δ -----ιων ομολογιαν συνεχωρησεν·
21"""
22system_prompt = "Date this papyrus fragment to an exact year!"
23input_messages = [
24 {"role": "system", "content": system_prompt},
25 {"role": "user", "content": papyrus_edition},
26]
27terminators = [
28 tokenizer.eos_token_id,
29 tokenizer.convert_tokens_to_ids("<|eot_id|>")
30]
31outputs = generation_pipeline(
32 input_messages,
33 max_new_tokens=4,
34 num_beams=45, # Set this as high as your memory will allow!
35 num_return_sequences=1,
36 early_stopping=True,
37)
38beam_contents = []
39for output in outputs:
40 generated_text = output.get('generated_text', [])
41 for item in generated_text:
42 if item.get('role') == 'assistant':
43 beam_contents.append(item.get('content'))
44real_response = "71 or 72 AD"
45print(f"Year: {real_response}")
46for i, content in enumerate(beam_contents, start=1):
47 print(f"Suggestion {i}: {content}")Year: 71 or 72 AD
Suggestion 1: 711!pip install -U bitsandbytes
2import os
3os._exit(00)1from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig, pipeline
2import torch
3quant_config = BitsAndBytesConfig(
4 load_in_4bit=True,
5 bnb_4bit_quant_type="nf4",
6 bnb_4bit_use_double_quant=True,
7 bnb_4bit_compute_dtype=torch.bfloat16
8)
9model = AutoModelForCausalLM.from_pretrained("Ericu950/Papy_1_Llama-3.1-8B-Instruct_date",
10device_map = "auto", quantization_config = quant_config)
11tokenizer = AutoTokenizer.from_pretrained("Ericu950/Papy_1_Llama-3.1-8B-Instruct_date")
12generation_pipeline = pipeline(
13 "text-generation",
14 model=model,
15 tokenizer=tokenizer,
16 device_map="auto",
17)1# This is a rough transcription of Pap.Ups. 106
2papyrus_edition = """
3ετουσ τεταρτου αυτοκρατοροσ καισαροσ ουεσπασιανου σεβαστου ------------------
4ομολογει παυσιριων απολλωνιου του παuσιριωνοσ μητροσ ---------------τωι γεγονοτι αυτωι
5εκ τησ γενομενησ και μετηλλαχυιασ αυτου γυναικοσ -------------------------
6απο τησ αυτησ πολεωσ εν αγυιαι συγχωρειν ειναι ----------------------------------
7--------------------σ αυτωι εξ ησ συνεστιν ------------------------------------
8----τησ αυτησ γενεασ την υπαρχουσαν αυτωι οικιαν ------------
9------------------ ---------καὶ αιθριον και αυλη απερ ο υιοσ διοκοροσ --------------------------
10--------εγραψεν του δ αυτου διοσκορου ειναι ------------------------------------
11---------- και προ κατενγεγυηται τα δικαια --------------------------------------
12νησ κατα τουσ τησ χωρασ νομουσ· εαν δε μη ---------------------------------------
13υπ αυτου τηι του διοσκορου σημαινομενηι -----------------------------------ενοικισμωι του
14ημισουσ μερουσ τησ προκειμενησ οικιασ --------------------------------- διοσκοροσ την τουτων αποχην
15---------------------------------------------μηδ υπεναντιον τουτοισ επιτελειν μηδε
16------------------------------------------------ ανασκευηι κατ αυτησ τιθεσθαι ομολογιαν μηδε
17----------------------------------- επιτελεσαι η χωρισ του κυρια ειναι τα διομολογημενα
18παραβαινειν, εκτεινειν δε τον παραβησομενον τωι υιωι διοσκορωι η τοισ παρ αυτου καθ εκαστην
19εφοδον το τε βλαβοσ και επιτιμον αργυριου δραχμασ 0 και εισ το δημοσιον τασ ισασ και μηθεν
20ησσον· δ -----ιων ομολογιαν συνεχωρησεν·"""
21system_prompt = "Date this papyrus fragment to an exact year!"
22input_messages = [
23 {"role": "system", "content": system_prompt},
24 {"role": "user", "content": papyrus_edition},
25]
26outputs = generation_pipeline(
27 input_messages,
28 max_new_tokens=4,
29 num_beams=10,
30 num_return_sequences=1,
31 early_stopping=True,
32)
33beam_contents = []
34for output in outputs:
35 generated_text = output.get('generated_text', [])
36 for item in generated_text:
37 if item.get('role') == 'assistant':
38 beam_contents.append(item.get('content'))
39real_response = "71 or 72 AD"
40print(f"Year: {real_response}")
41for i, content in enumerate(beam_contents, start=1):
42 print(f"Suggestion {i}: {content}")Year: 71 or 72 AD
Suggestion 1: 71