File size: 1,882 Bytes
4be67ae
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
aef7e4d
 
 
 
 
600d743
 
 
aef7e4d
 
 
 
6b36eea
 
aef7e4d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
---
base_model: AquilaX-AI/ai_scanner
tags:
- text-generation-inference
- transformers
- unsloth
- qwen2
- gguf
license: apache-2.0
language:
- en
---

# Uploaded  model

- **Developed by:** AquilaX-AI
- **License:** apache-2.0
- **Finetuned from model :** AquilaX-AI/ai_scanner

This qwen2 model was trained 2x faster with [Unsloth](https://github.com/unslothai/unsloth) and Huggingface's TRL library.

[<img src="https://raw.githubusercontent.com/unslothai/unsloth/main/images/unsloth%20made%20with%20love.png" width="200"/>](https://github.com/unslothai/unsloth)




```python
pip install gguf
pip install transformers

from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer
import torch
import json

model_id = "AquilaX-AI/AI-Scanner-Quantized"
filename = "unsloth.Q8_0.gguf"

tokenizer = AutoTokenizer.from_pretrained(model_id, gguf_file=filename)
model = AutoModelForCausalLM.from_pretrained(model_id, gguf_file=filename)

device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
model.to(device)

sys_prompt = """<|im_start|>system\nYou are Securitron, an AI assistant specialized in detecting vulnerabilities in source code. Analyze the provided code and provide a structured report on any security issues found.<|im_end|>"""

user_prompt = """
CODE FOR SCANNING
"""

prompt = f"""{sys_prompt}
<|im_start|>user
{user_prompt}<|im_end|>
<|im_start|>assistant
"""

encodeds = tokenizer(prompt, return_tensors="pt", truncation=True).input_ids.to(device)

text_streamer = TextStreamer(tokenizer, skip_prompt=True)

response = model.generate(
    input_ids=encodeds,
    streamer=text_streamer,
    max_new_tokens=4096,
    use_cache=True,
    pad_token_id=151645,
    eos_token_id=151645,
    num_return_sequences=1
)
    
output = json.loads(tokenizer.decode(response[0]).split('<|im_start|>assistant')[-1].split('<|im_end|>')[0].strip())
```