Актуализация rag/README
This commit is contained in:
@@ -71,19 +71,23 @@ pip install torch torchvision --index-url https://download.pytorch.org/whl/cpu
|
|||||||
|
|
||||||
## Подготовка данных
|
## Подготовка данных
|
||||||
|
|
||||||
### Выгрузка из Confluence
|
### 1. Выгрузка из Confluence
|
||||||
|
|
||||||
Открыть страницу (раздел) Confluence, который необходимо получить.
|
Открыть одну или несколько страниц (разделов) Confluence, которые необходимо получить.
|
||||||
Например, `https://conf.company.ltd/pages/viewpage.action?pageId=123456789`.
|
Например:
|
||||||
|
```
|
||||||
|
https://conf.company.ltd/pages/viewpage.action?pageId=123456789
|
||||||
|
https://conf.company.ltd/pages/viewpage.action?pageId=987654321
|
||||||
|
`
|
||||||
|
|
||||||
Скопировать значение `pageId` и подставить в команду `./download.sh <pageId>`.
|
Скопировать значение `pageId` и подставить в команду `./download.sh <pageId1> [<pageId2>...]`.
|
||||||
Например,
|
Например,
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./download.sh 123456789
|
./download.sh 123456789 987654321
|
||||||
```
|
```
|
||||||
|
|
||||||
В результате сама страница и все её дочерние будут сохранены в директорию `./input_html/`.
|
В результате указанные страницы и все их дочерние будут сохранены в директорию `./input_html/`.
|
||||||
Файлы будут названы по заголовкам страниц.
|
Файлы будут названы по заголовкам страниц.
|
||||||
|
|
||||||
> [!IMPORTANT]
|
> [!IMPORTANT]
|
||||||
@@ -92,13 +96,15 @@ pip install torch torchvision --index-url https://download.pytorch.org/whl/cpu
|
|||||||
|
|
||||||
> [!IMPORTANT]
|
> [!IMPORTANT]
|
||||||
> Confluence не позволяет получить готовые макросы в HTML-виде.
|
> Confluence не позволяет получить готовые макросы в HTML-виде.
|
||||||
> В файлах будет находиться HTML-текст с готовыми к загрузками макросами, но не загруженными.
|
> Хотя в макросах часто есть очень полезная информация, но её приходится выбрасывать просто потому, что загрузка макросов происходит при загрузке страницы браузером.
|
||||||
> Хотя в них часто есть очень полезная информация, но её приходится выбрасывать просто потому, что загрузка макросов происходит при загрузке страницы браузером.
|
> В файлах будет находиться HTML-текст с готовыми к загрузке макросами, но не загруженными.
|
||||||
> Поэтому, например, содержания, списки дочерних страниц, встраиваемые диаграммы и пр. плюшечки будут вырезаны.
|
> Поэтому, например, содержания, списки дочерних страниц, встраиваемые диаграммы и пр. плюшечки будут вырезаны.
|
||||||
>
|
>
|
||||||
> Да, можно запросить страницы простым curl/wget, но (1) см. предыдущее замечание и (2) даже после очистки HTML-тегов в тексте останется очень много мусора (меню, футер, навигация...)
|
> Да, можно запросить страницы простым curl/wget, но (1) будет сложнее получить мета-инфу о странице и (2) даже после очистки HTML-тегов в тексте останется очень много мусора (меню, футер, навигация...)
|
||||||
|
>
|
||||||
|
> Да, можно комбинировать разные подходы и всё сильно усложнить, но я не хочу.
|
||||||
|
|
||||||
### Конвертация страниц в Markdown
|
### 2. Конвертация страниц в Markdown
|
||||||
|
|
||||||
Этот формат наиболее хорошо подходит для цитирования, потому что не содержит лишних символов, которые будут мешать хорошей токенизации и векторизации.
|
Этот формат наиболее хорошо подходит для цитирования, потому что не содержит лишних символов, которые будут мешать хорошей токенизации и векторизации.
|
||||||
|
|
||||||
@@ -117,7 +123,7 @@ python3 convert.py
|
|||||||
python3 convert.py --help
|
python3 convert.py --help
|
||||||
```
|
```
|
||||||
|
|
||||||
### Векторизация (индексирование)
|
### 3. Векторизация (индексирование)
|
||||||
|
|
||||||
Файлы `./input_md/*.md` должны быть проиндексированы.
|
Файлы `./input_md/*.md` должны быть проиндексированы.
|
||||||
|
|
||||||
@@ -148,7 +154,7 @@ python3 vectorize.py
|
|||||||
python3 vectorize.py --help
|
python3 vectorize.py --help
|
||||||
```
|
```
|
||||||
|
|
||||||
## Запуск
|
## 4. Запуск
|
||||||
|
|
||||||
Для работы с RAG в интерактивном режиме (симуляция диалога) следует выполнить команду:
|
Для работы с RAG в интерактивном режиме (симуляция диалога) следует выполнить команду:
|
||||||
|
|
||||||
@@ -215,6 +221,6 @@ python3 rag.py --help
|
|||||||
1. облегчить поиск информации о проекте среди почти 2000 тысяч документов в корпоративной Confluence, относящихся к нему;
|
1. облегчить поиск информации о проекте среди почти 2000 тысяч документов в корпоративной Confluence, относящихся к нему;
|
||||||
2. обеспечить минимум телодвижений для развёртывания RAG с нуля внутри команды.
|
2. обеспечить минимум телодвижений для развёртывания RAG с нуля внутри команды.
|
||||||
|
|
||||||
Здесь не было задачи сделать всё по красоте.
|
Здесь не было задачи сделать всё сложно и по красоте.
|
||||||
|
|
||||||
Частично (в качестве агентов) в проекте участвовали семейства qwen3, clause-sonnet-4 и семейство chatgpt-4.
|
Частично (в качестве агентов) в проекте участвовали модели семейств qwen, clause и chatgpt.
|
||||||
|
|||||||
Reference in New Issue
Block a user