--- licence: apache-2.0 library_name: transformers pipeline_tag: text-generation language: - bg - ca - code - cs - cy - da - de - el - en - es - et - eu - fi - fr - ga - gl - hr - hu - it - lt - lv - mt - nl - nn - no - oc - pl - pt - ro - ru - sh - sk - sl - sr - sv - uk --- ## How to use This instructed model uses a chat template that must be adhered to the input for conversational use. The easiest way to apply it is using the tokenizer's built-in chat template, as shown in the following snippet. ```python from transformers import AutoTokenizer, AutoModelForCausalLM import transformers import torch model_id = "BSC-LT/salamandra7b_rag_prompt_ca-en-es" prompt = "Here is a question that you should answer based on the given context. Write a response that answers the question using only information provided in the context. Provide the answer in Spanish." context = """Water boils at 100°C (212°F) at standard atmospheric pressure, which is at sea level. However, this boiling point can vary depending on altitude and atmospheric pressure. At higher altitudes, where atmospheric pressure is lower, water boils at a lower temperature. For example, at 2,000 meters (about 6,600 feet) above sea level, water boils at around 93°C (199°F). """ instruction = "At what temperature does water boil?" tokenizer = AutoTokenizer.from_pretrained(model_id) model = AutoModelForCausalLM.from_pretrained( model_id, device_map="cuda", torch_dtype=torch.bfloat16 ) content = f"{prompt}\n\nContext:\n{context}\n\nQuestion:\n{instruction}" chat = [ { "role": "user", "content": content } ] prompt = tokenizer.apply_chat_template(chat, tokenize=False, add_generation_prompt=True) eos_tokens = [ tokenizer.eos_token_id, tokenizer.convert_tokens_to_ids("<|im_end|>"), ] inputs = tokenizer.encode(prompt, add_special_tokens=False, return_tensors="pt") outputs = model.generate(input_ids=inputs.to(model.device), eos_token_id=eos_tokens, max_new_tokens=200) ```