|
LLM-Detector: Improving AI-generated Chinese Text Detection with Large Language Models |
|
|
|
```python |
|
from transformers import AutoModelForCausalLM, AutoTokenizer |
|
from transformers.generation import GenerationConfig |
|
|
|
# Note: The default behavior now has injection attack prevention off. |
|
tokenizer = AutoTokenizer.from_pretrained("QiYuan-tech/LLM-Detector-Small-en", trust_remote_code=True) |
|
|
|
# use bf16 |
|
# model = AutoModelForCausalLM.from_pretrained("QiYuan-tech/LLM-Detector-Small-en", device_map="auto", trust_remote_code=True, bf16=True).eval() |
|
|
|
# use fp16 |
|
# model = AutoModelForCausalLM.from_pretrained("QiYuan-tech/LLM-Detector-Small-en", device_map="auto", trust_remote_code=True, fp16=True).eval() |
|
|
|
# use cpu only |
|
# model = AutoModelForCausalLM.from_pretrained("QiYuan-tech/LLM-Detector-Small-en", device_map="cpu", trust_remote_code=True).eval() |
|
|
|
# use auto mode, automatically select precision based on the device. |
|
model = AutoModelForCausalLM.from_pretrained("QiYuan-tech/LLM-Detector-Small-en", device_map="auto", trust_remote_code=True).eval() |
|
#model = AutoModelForCausalLM.from_pretrained("QiYuan-tech/LLM-Detector-Small-en", device_map="auto", trust_remote_code=True).cuda() |
|
|
|
# Specify hyperparameters for generation. But if you use transformers>=4.32.0, there is no need to do this. |
|
# model.generation_config = GenerationConfig.from_pretrained("./Qwen-1_8B-Chat", trust_remote_code=True) # 可指定不同的生成长度、top_p等相关超参 |
|
|
|
response, history = model.chat(tokenizer, "你好", history=None) |
|
print(response) |
|
``` |