Update README.md
Browse files
README.md
CHANGED
@@ -21,7 +21,7 @@ base_model:
|
|
21 |
Весь использованный код для обучения выложен в нашем репозитории [effective_llm_alignment](https://github.com/VikhrModels/effective_llm_alignment/) на GitHub, а основаные датасеты дсотупны в нашем [профиле на HF](https://huggingface.co/Vikhrmodels).
|
22 |
|
23 |
### Особенности
|
24 |
-
1. Высокое качество генераций на русском и английском языках, а также некоторых других языках, благодаря датасету [Grandmaster-PRO-MAX](https://huggingface.co/datasets/Vikhrmodels/GrandMaster-PRO-MAX) и исходной
|
25 |
2. Поддержка системных промптов для регулриования стиля ответов
|
26 |
3. Поддержка до 128k токенов контекста благодаря исходной модели
|
27 |
4. Grounded RAG режим - модель имеет специальную роль documents и специальный режим работы для поиска идентификаторов релевантных вопросу пользователя документов и использования их для ответа на вопрос, вдохновлено аналогичной способность модели Command-R
|
@@ -189,8 +189,8 @@ base_model:
|
|
189 |
|
190 |
### Как работать с RAG
|
191 |
|
192 |
-
Роль documents представляет из себя список словарей с описанием контента документов, с примнением json.dumps(array). \
|
193 |
-
Контент документов представлен в **3**
|
194 |
|
195 |
```json
|
196 |
[
|
@@ -202,9 +202,67 @@ base_model:
|
|
202 |
]
|
203 |
```
|
204 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
205 |
### Нюансы и ограничения
|
206 |
-
- Модель имеет
|
207 |
-
- Системные промпты не предназначены для описание персонажей, используйте их только для спецификации стиля ответа (вроде "answer only in json format"). Кроме того они должны быть
|
208 |
-
- RAG режим
|
209 |
|
210 |
### Авторы
|
|
|
|
|
|
|
|
21 |
Весь использованный код для обучения выложен в нашем репозитории [effective_llm_alignment](https://github.com/VikhrModels/effective_llm_alignment/) на GitHub, а основаные датасеты дсотупны в нашем [профиле на HF](https://huggingface.co/Vikhrmodels).
|
22 |
|
23 |
### Особенности
|
24 |
+
1. Высокое качество генераций на русском и английском языках, а также некоторых других языках, благодаря датасету [Grandmaster-PRO-MAX](https://huggingface.co/datasets/Vikhrmodels/GrandMaster-PRO-MAX) и исходной модели
|
25 |
2. Поддержка системных промптов для регулриования стиля ответов
|
26 |
3. Поддержка до 128k токенов контекста благодаря исходной модели
|
27 |
4. Grounded RAG режим - модель имеет специальную роль documents и специальный режим работы для поиска идентификаторов релевантных вопросу пользователя документов и использования их для ответа на вопрос, вдохновлено аналогичной способность модели Command-R
|
|
|
189 |
|
190 |
### Как работать с RAG
|
191 |
|
192 |
+
Роль documents представляет из себя список словарей с описанием контента документов, с примнением `json.dumps(array, ensure_ascii=False)` (см. пример ниже). \
|
193 |
+
Контент документов может быть представлен в **3** различных форматах: **Markdown**, **HTML**, **Plain Text**. Контент каждого документа - может быть чанком текста длиной до 4к символов.
|
194 |
|
195 |
```json
|
196 |
[
|
|
|
202 |
]
|
203 |
```
|
204 |
|
205 |
+
#### Пример правильного использования с OpenAI-like API
|
206 |
+
|
207 |
+
```python
|
208 |
+
GROUNDED_SYSTEM_PROMPT = "Your task is to answer the user's questions using only the information from the provided documents. Give two answers to each question: one with a list of relevant document identifiers and the second with the answer to the question itself, using documents with these identifiers."
|
209 |
+
|
210 |
+
documents = [
|
211 |
+
{
|
212 |
+
"doc_id": 0,
|
213 |
+
"title": "Глобальное потепление: ледники",
|
214 |
+
"content": "За последние 50 лет объем ледников в мире уменьшился на 30%"
|
215 |
+
},
|
216 |
+
{
|
217 |
+
"doc_id": 1,
|
218 |
+
"title": "Глобальное потепление: Уровень моря",
|
219 |
+
"content": "Уровень мирового океана повысился на 20 см с 1880 года и продолжает расти на 3,3 мм в год"
|
220 |
+
}
|
221 |
+
]
|
222 |
+
sample_history = [
|
223 |
+
{'role': 'system', 'content': GROUNDED_SYSTEM_PROMPT},
|
224 |
+
{'role': 'documents', 'content': json.dumps(documents, ensure_ascii=False)},
|
225 |
+
{'role': 'user', 'content': 'Глоабльное потепление'}
|
226 |
+
]
|
227 |
+
relevant_indexes = llm_client.chat.completions.create(
|
228 |
+
model=llm_model,
|
229 |
+
messages=sample_history,
|
230 |
+
temperature=0.0,
|
231 |
+
max_tokens=2048
|
232 |
+
).choices[0].message.content
|
233 |
+
|
234 |
+
print('Using documents: ' + relevant_indexes + '\n----')
|
235 |
+
final_answer = llm_client.chat.completions.create(
|
236 |
+
model=llm_model,
|
237 |
+
messages=sample_history + [{'role': 'assistant', 'content': relevant_indexes}],
|
238 |
+
temperature=0.3,
|
239 |
+
max_tokens=2048
|
240 |
+
).choices[0].message.content
|
241 |
+
|
242 |
+
print(final_answer)
|
243 |
+
```
|
244 |
+
|
245 |
+
Ответ после выоплнения кода будет выглядеть примерно так:
|
246 |
+
|
247 |
+
'Using documents: {"relevant_doc_ids": [0, 1]}'
|
248 |
+
----
|
249 |
+
|
250 |
+
Глобальное потепление – это долгосрочное повышение средней температуры атмосферы и океанов Земли. Это явление имеет множество последствий для нашей планеты, и среди них можно выделить два ключевых аспекта, основанных на доступных мне данных:
|
251 |
+
|
252 |
+
1. **Уменьшение объема ледников**: За последние 50 лет наблюдается значительное сокращение объема ледников по всему миру. Согласно данным, объем ледников уменьшился на 30%. Это может быть связано с таянием ледников из-за повышения температур, что является одним из признаков глобального потепления.
|
253 |
+
|
254 |
+
2. **Повышение уровня моря**: Уровень мирового океана также увеличивается, что связано с таянием ледников и ледяных покровов, а также с расширением воды при повышении температуры. С 1880 года уровень моря повысился на 20 сантиметров, и этот процесс продолжается, с ежегодным увеличением на 3,3 миллиметра.
|
255 |
+
|
256 |
+
Эти изменения имеют серьезные последствия для экосистем, климата и человеческого общества. Таяние ледников приводит к повышению уровня моря, что может привести к затоплению прибрежных территорий и островов, а также к изменению водных ресурсов и климатических паттернов.
|
257 |
+
|
258 |
+
Используя первый ответ модели `relevant_indexes`, можно понять нашла ли модель информацию в документах или нет, она обучена возврашать пустой массив если ее нет и в таком случае она будет отвечать, что не смогла найти информацию в базе знаний.
|
259 |
+
|
260 |
### Нюансы и ограничения
|
261 |
+
- Модель имеет **низкий уровень безопасности ответов** и нацелена на правильное и полное выполенние инстуркций, имейте это ввиду при использовании. Частично это исправляется системными промптами и дополнительными указаниями о важности безопасности в промпте пользователя.
|
262 |
+
- Системные промпты не предназначены для описание персонажей, используйте их только для спецификации стиля ответа (вроде "answer only in json format"). Кроме того они должны быть **на английском**, так как так было в датасете, здесь от английского не зависит язык ответа.
|
263 |
+
- RAG режим **требует обязательного** наличия системного промпта `GROUNDED_SYSTEM_PROMPT` описаного в секции *Как работать с RAG*. Так же иногда модель может добавлять также общую информацию в ответ к той, что есть в документах.
|
264 |
|
265 |
### Авторы
|
266 |
+
- Sergei Bratchikov, [NLP Wanderer](https://t.me/nlpwanderer), Vikhr Team
|
267 |
+
- Aleksandr Nikolich, Vikhr Team
|
268 |
+
- Konstantin Korolev, Vikhr Team
|