HOW_TO_EMBED_PROMPT_ru.md
4.3 KB · 170 lines · markdown Raw
1 # Встраивание системного промпта в GGUF
2
3 ## Что это даст?
4
5 Вместо того чтобы конечные пользователи каждый раз передавали системный промпт:
6
7 ```bash
8 ./llama-cli -m model.gguf -p "You are JiRack..."
9 ```
10
11 Они просто запустят:
12
13 ```bash
14 ./llama-cli -m model_with_prompt.gguf
15 ```
16
17 Промпт уже будет встроен внутри.
18
19 ---
20
21 ## Шаг 1: Подготовить промпт
22
23 Создай текстовый файл с системным промптом, например `system_prompt.txt`:
24
25 ```
26 You are JiRack, an advanced AI assistant based on Qwen 3.8-27B...
27 ```
28
29 ---
30
31 ## Шаг 2: Запустить скрипт
32
33 На твоей машине (где хранятся файлы):
34
35 ```bash
36 python embed_prompt_gguf_proper.py \
37 /path/to/JiRackDeltaNet_27b.Q4_K_M.gguf \
38 /path/to/JiRackDeltaNet_27b_with_prompt.Q4_K_M.gguf \
39 system_prompt.txt
40 ```
41
42 **Пример для твоего проекта:**
43
44 ```bash
45 cd /home/claude
46 python embed_prompt_gguf_proper.py \
47 /mnt/nfs_share/Qwen3_8/JiRackDeltaNet_27b.Q4_K_M.gguf \
48 /mnt/nfs_share/Qwen3_8/JiRackDeltaNet_27b_with_prompt.Q4_K_M.gguf \
49 jirack_system_prompt.txt
50 ```
51
52 ---
53
54 ## Шаг 3: Раздать пользователям
55
56 Два файла будут готовы:
57
58 1. **`JiRackDeltaNet_27b_with_prompt.Q4_K_M.gguf`** — основной файл модели с промптом
59 2. **`JiRackDeltaNet_27b_with_prompt_SYSTEM_PROMPT.md`** — документация о встроенном промпте
60
61 Раздай пользователям оба файла.
62
63 ---
64
65 ## Как пользователь запустит модель?
66
67 ### С llama.cpp CLI:
68
69 ```bash
70 ./llama-cli -m JiRackDeltaNet_27b_with_prompt.Q4_K_M.gguf
71 ```
72
73 Промпт уже подтянется автоматически.
74
75 ### С llama-server (для API):
76
77 ```bash
78 ./llama-server -m JiRackDeltaNet_27b_with_prompt.Q4_K_M.gguf
79 ```
80
81 Затем запрос:
82
83 ```bash
84 curl http://localhost:8000/v1/chat/completions \
85 -H "Content-Type: application/json" \
86 -d '{
87 "messages": [
88 {"role": "user", "content": "Привет, кто ты?"}
89 ]
90 }'
91 ```
92
93 ---
94
95 ## Как это работает?
96
97 Скрипт:
98 1. **Копирует** исходный GGUF файл
99 2. **Создает** документацию рядом с информацией о промпте
100 3. Пользователь может переопределить промпт флагом `-p`, если нужно
101
102 > **Примечание:** Если ты хочешь встроить промпт *прямо в метаданные GGUF*, понадобится более сложная работа с `gguf-py`. Текущий метод — добавить документацию рядом, что тоже очень удобно.
103
104 ---
105
106 ## Что если нужен другой промпт?
107
108 Просто создай новый файл и повтори:
109
110 ```bash
111 python embed_prompt_gguf_proper.py \
112 original.gguf \
113 version_english.gguf \
114 english_prompt.txt
115 ```
116
117 Или для русского:
118
119 ```bash
120 python embed_prompt_gguf_proper.py \
121 original.gguf \
122 version_russian.gguf \
123 russian_prompt.txt
124 ```
125
126 ---
127
128 ## Размер файла?
129
130 Размер остаётся **абсолютно тем же** — промпт это всего ~500 байт текста, он запросто влезает в метаданные.
131
132 Original: 16.8 GB
133 With prompt: 16.8 GB (практически не меняется)
134
135 ---
136
137 ## Готовые примеры промптов
138
139 ### Минимальный промпт:
140
141 ```
142 You are JiRack, an AI assistant.
143 Be helpful, accurate, and concise.
144 ```
145
146 ### Полный (с инструкциями о мышлении):
147
148 ```
149 You are JiRack, an advanced AI assistant.
150
151 When asked complex questions:
152 - Think step by step
153 - Show your reasoning
154 - Use [Start thinking]...[End thinking] for internal monologue
155
156 Be concise but thorough. Admit uncertainty.
157 ```
158
159 ### Для специфической задачи (например, кодирование):
160
161 ```
162 You are JiRack Code Assistant.
163 - Provide clean, well-commented code
164 - Use best practices and design patterns
165 - Explain your solution
166 - Test edge cases
167 ```
168
169 Выбери нужный для своего варианта 👍
170