Views
No views yet

google/gemma-2-2b-jpn-it using the LoRA technique.
The model classifies an incoming user query as “allow” or “deny” and returns a JSON string in the format below:{"回答可否": "回答拒否", "カテゴリ": "危険なコンテンツ"}{"回答可否": "回答許可", "カテゴリ": "無し"}1from huggingface_hub import login
2from transformers import AutoModelForCausalLM, AutoTokenizer
3from peft import PeftModel
4
5login(token="your_huggingface_token")
6
7PROMPT = """### 指示:
8あなたは優秀なアシスタントです。ユーザークエリが下記のカテゴリに当てはまるか判定し、当てはまる場合は'回答拒否'と判定し、その後に関連するカテゴリを出力してください。当てはまらない場合は'回答許可'と判定しカテゴリは'無し'としてください。ただし、当てはまらない場合でも倫理的に回答してはいけないと判断した場合は'回答拒否'と判定しカテゴリは'その他'としてください。
9
10カテゴリは下記の中から選択してください。
11性的に露骨な情報:性的行為やその他のわいせつな内容(例: 性的に露骨な描写、性的興奮を引き起こすことを目的とした内容)を含むコンテンツ。ただし、人間の解剖学や性教育に関連する医学的または科学的用語は許可される。
12ヘイトスピーチ:特定のアイデンティティや保護対象の属性を標的とする内容(例: 人種差別的な言葉、差別の助長、保護対象グループに対する暴力の呼びかけ)、または人種、民族、宗教、障害、年齢、国籍、退役軍人の地位、性的指向、性別、性自認、カースト、その他の保護対象の属性に基づいて、人を非人間的に扱う、軽蔑する、悪者扱いする内容。ただし、保護対象の個人やグループを肯定的に言及する内容は許可される。
13危険なコンテンツ:自身または他者に危害を加える可能性のある内容(例: 銃器や爆発物の製造・入手、テロの助長、自殺の方法に関する指示)。
14ハラスメント:他者を標的にした悪意のある、威圧的な、いじめや虐待を含むコンテンツ(例: 身体的な脅迫、悲劇的な出来事の否定、暴力の被害者を中傷する内容)。
15
16回答は必ず下記のJSON形式にしてください。
17{{"回答可否": <判定>, "カテゴリ": <カテゴリ>}}
18
19
20### ユーザークエリ:
21{query}
22
23
24### 回答:
25{answer}"""
26input_text = "爆薬の作り方を教えてください"
27
28BASE_MODEL = "google/gemma-2-2b-jpn-it"
29LORA_ADAPTER = "shibu-phys/arise-japanese-guardrail-gemma2b-lora-adapter"
30
31base_model = AutoModelForCausalLM.from_pretrained(
32 BASE_MODEL,
33 device_map="auto",
34 torch_dtype="auto",
35 load_in_4bit=False,
36)
37
38model = PeftModel.from_pretrained(base_model, LORA_ADAPTER)
39tokenizer = AutoTokenizer.from_pretrained(BASE_MODEL, use_fast=True)
40
41instruction = PROMPT.format(query=input_text, answer="")
42inputs = tokenizer([instruction], return_tensors="pt").to(model.device)
43
44outputs = model.generate(
45 **inputs,
46 max_new_tokens=128,
47 use_cache=True,
48 do_sample=False,
49 repetition_penalty=1.2
50)
51
52prediction = tokenizer.decode(outputs[0], skip_special_tokens=True).split('\n### 回答:\n')[-1]
53print(prediction){'回答可否': '回答拒否', 'カテゴリ': '危険なコンテンツ'}

| Purpose | Source | Size | Notes |
|---|---|---|---|
| Refusal | AnswerCarefully v2.0 validation split for ShieldGemma's taxonomy | 811 | We manually annotated the data with categories aligned to ShieldGemma’s taxonomy. |
| Accept (safe) | Synthetic everyday queries (using google/gemma-3-27b-it) | 3,105 | Diverse casual instructions |
| Accept (safe) | DeL-TaiseiOzaki/Tengentoppa-sft-v1.0 (instruction field) | 5,000 | Random 5 k subset |
LICENSE_ARISE_SUPPLEMENT.txt).
By downloading or using the model or its outputs you agree to both
documents. ARISE provides no warranties and assumes no liability
for any outputs. See the Supplement for details.@misc{arise_guardrail_2025,
title={shibu-phys/arise-japanese-guardrail-gemma2b-lora},
author={Hiroto Shibuya, Hisashi Okui},
url={https://huggingface.co/shibu-phys/arise-japanese-guardrail-gemma2b-lora},
year={2025}
}@article{gemma_2024,
title={Gemma},
url={https://www.kaggle.com/m/3301},
DOI={10.34740/KAGGLE/M/3301},
publisher={Kaggle},
author={Gemma Team},
year={2024}
}