Инициализация python окружения
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtМодели скачиваем в папку models
Модели second-state https://huggingface.co/second-state/collections
Некоторые LLM модели в формате GGUF
Llama 3.2-1B-Instruct-Q4.0 (771Mb)
wget https://huggingface.co/second-state/Llama-3.2-1B-Instruct-GGUF/resolve/main/Llama-3.2-1B-Instruct-Q4_0.ggufLlama-3.2-1B-Instruct-Q8_0 (1.32Gb)
wget https://huggingface.co/second-state/Llama-3.2-1B-Instruct-GGUF/resolve/main/Llama-3.2-1B-Instruct-Q8_0.ggufQwen3-4B-Q8_0 (4.28Gb)
wget https://huggingface.co/second-state/Qwen3-4B-GGUF/resolve/main/Qwen3-4B-Q8_0.ggufdeepseek-llm-7b-chat-Q6_K (5.67Gb)
wget https://huggingface.co/second-state/Deepseek-LLM-7B-Chat-GGUF/resolve/main/deepseek-llm-7b-chat-Q6_K.ggufDeepSeek-V2-Lite-Chat-Q2_K.gguf (6.43Gb)
wget https://huggingface.co/second-state/DeepSeek-V2-Lite-Chat-GGUF/resolve/main/DeepSeek-V2-Lite-Chat-Q2_K.ggufЛокальный LLM сервер для запуска скаченных ранее моделей.
Если сабмодуль не был скачен, то необходимо добавить его с помощью git submodule update --recursive.
Сборка.
Сборка достаточно долгая, поэтому придется подождать.
Если не установлен cuda toolkit, то читай llama.cpp/docs/build.md.
Если нет GPU c cuda ядрами, то не выполняй cmake -B build -DGGML_CUDA=ON.
При сборке с CUDA потребуется перемeнная окружения CUDACXX. Установи в нее путь к nvcc, например export CUDACXX=/usr/local/cuda-13.0/bin/nvcc.
Если при сборке будет ошибка что нет папки build, то просто создай ее mkdir build.
cd llama.cpp
cmake -B build -DGGML_CUDA=ON
cmake --build build --config Release
# Вернись в корень проекта
cd ..Запуск
Для запуска потребуется llama-cpp-python.
--model- какую именно модель запускаем--port- на каком порту будет доступен сервер--ctx-size- размер контекста--gpu-layers- сколько слоем отправляем на GPU (указываем много)
./llama.cpp/build/bin/llama-server \
--model models/Llama-3.2-1B-Instruct-Q8_0.gguf \
--port 8080 \
--ctx-size 4096 \
--gpu-layers 999При запуске обращай внимание на логи, чтобы понять используется ли GPU и не возникло ли какие-то еще проблем.
Проверка запущенной модели
curl http://localhost:8080/v1/modelshttps://huggingface.co/qualifire/prompt-injection-jailbreak-sentinel-v2-GGUF
prompt-injection-jailbreak-sentinel-v2.f32.gguf (2.39Gb)
# Требуется авторизация, поэтому нужно получить токен на HuggingFace
wget --header "Authorization: Bearer ${HF_TOKEN}" https://huggingface.co/qualifire/prompt-injection-jailbreak-sentinel-v2-GGUF/resolve/main/prompt-injection-jailbreak-sentinel-v2.f32.ggufQwen3-1.7B-jailbreak-finetuned.Q8_0 (1.83Gb)
wget https://huggingface.co/mradermacher/Qwen3-1.7B-jailbreak-finetuned-GGUF/resolve/main/Qwen3-1.7B-jailbreak-finetuned.Q8_0.ggufQwen3-1.7B-jailbreak-finetuned.f16 (3.45Gb)
wget https://huggingface.co/mradermacher/Qwen3-1.7B-jailbreak-finetuned-GGUF/resolve/main/Qwen3-1.7B-jailbreak-finetuned.f16.ggufPrompt Injection | Jairbraiking. OWASP | Prompt Injection.
- Input фильтры.
- отдельная модель проверяет входные данные на предмет инъекций, может быть использовано несколько небольших моделей, заточенных на нахождение инъекцией определенного типа.
- Output фильтры.
- система проверяет ответ модели. Если input фильтры не смогли найти угрозу, то можно поискать еще в ответе модели признаки того, что она подверглась атака.
-
Разделение ролей,
-
Red teaming.
- специальная
- Sanitizing prompt.
- Чистка входных данных от потенциально опасных инструкций.