80 was just an example. You should consider your dataset and find out how long your sentence are and where the information typically is. If you have very long sentences but the most information is at the end you need to to truncate the front, etc. Input data analysis is key. If you then have determined what the best length is, you can use that information in your calls to the tokenizer with max_length.
self.tokenizer(prompt1, prompt2, return_tensors='pt', padding=True, truncation=True, max_length=128)

Note that this max length is about the total amount of splitting subword units, not about the number of total words.
You should first determine this max length according to your data, and then adjust your batch size accordingly.