Spaces:
Build error
Build error
Merge branch 'RMI-22_Dataset-for-POC' into RMI-39_weird-slides-gpt4v
Browse files- README.md +20 -86
- data/.dvcignore +14 -6
- data/data_description.md +87 -0
- data/description.md +87 -0
- data/raw.dvc +3 -3
- docs/README.md +5 -0
- docs/system_design_doc.md +244 -0
- docs/workflow/data_version_control.md +70 -2
README.md
CHANGED
|
@@ -1,93 +1,27 @@
|
|
| 1 |
-
# Presentation
|
| 2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4 |
|
| 5 |
-
##
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6 |
|
| 7 |
-
|
| 8 |
|
| 9 |
-
|
| 10 |
|
| 11 |
-
|
| 12 |
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
```
|
| 17 |
-
cd existing_repo
|
| 18 |
-
git remote add origin https://gitlab.raftds.com/ilia.tambovtsev/presentation-rag.git
|
| 19 |
-
git branch -M main
|
| 20 |
-
git push -uf origin main
|
| 21 |
-
```
|
| 22 |
-
|
| 23 |
-
## Integrate with your tools
|
| 24 |
-
|
| 25 |
-
- [ ] [Set up project integrations](https://gitlab.raftds.com/ilia.tambovtsev/presentation-rag/-/settings/integrations)
|
| 26 |
-
|
| 27 |
-
## Collaborate with your team
|
| 28 |
-
|
| 29 |
-
- [ ] [Invite team members and collaborators](https://docs.gitlab.com/ee/user/project/members/)
|
| 30 |
-
- [ ] [Create a new merge request](https://docs.gitlab.com/ee/user/project/merge_requests/creating_merge_requests.html)
|
| 31 |
-
- [ ] [Automatically close issues from merge requests](https://docs.gitlab.com/ee/user/project/issues/managing_issues.html#closing-issues-automatically)
|
| 32 |
-
- [ ] [Enable merge request approvals](https://docs.gitlab.com/ee/user/project/merge_requests/approvals/)
|
| 33 |
-
- [ ] [Set auto-merge](https://docs.gitlab.com/ee/user/project/merge_requests/merge_when_pipeline_succeeds.html)
|
| 34 |
-
|
| 35 |
-
## Test and Deploy
|
| 36 |
-
|
| 37 |
-
Use the built-in continuous integration in GitLab.
|
| 38 |
-
|
| 39 |
-
- [ ] [Get started with GitLab CI/CD](https://docs.gitlab.com/ee/ci/quick_start/index.html)
|
| 40 |
-
- [ ] [Analyze your code for known vulnerabilities with Static Application Security Testing (SAST)](https://docs.gitlab.com/ee/user/application_security/sast/)
|
| 41 |
-
- [ ] [Deploy to Kubernetes, Amazon EC2, or Amazon ECS using Auto Deploy](https://docs.gitlab.com/ee/topics/autodevops/requirements.html)
|
| 42 |
-
- [ ] [Use pull-based deployments for improved Kubernetes management](https://docs.gitlab.com/ee/user/clusters/agent/)
|
| 43 |
-
- [ ] [Set up protected environments](https://docs.gitlab.com/ee/ci/environments/protected_environments.html)
|
| 44 |
-
|
| 45 |
-
***
|
| 46 |
-
|
| 47 |
-
# Editing this README
|
| 48 |
-
|
| 49 |
-
When you're ready to make this README your own, just edit this file and use the handy template below (or feel free to structure it however you want - this is just a starting point!). Thanks to [makeareadme.com](https://www.makeareadme.com/) for this template.
|
| 50 |
-
|
| 51 |
-
## Suggestions for a good README
|
| 52 |
-
|
| 53 |
-
Every project is different, so consider which of these sections apply to yours. The sections used in the template are suggestions for most open source projects. Also keep in mind that while a README can be too long and detailed, too long is better than too short. If you think your README is too long, consider utilizing another form of documentation rather than cutting out information.
|
| 54 |
-
|
| 55 |
-
## Name
|
| 56 |
-
Choose a self-explaining name for your project.
|
| 57 |
-
|
| 58 |
-
## Description
|
| 59 |
-
Let people know what your project can do specifically. Provide context and add a link to any reference visitors might be unfamiliar with. A list of Features or a Background subsection can also be added here. If there are alternatives to your project, this is a good place to list differentiating factors.
|
| 60 |
-
|
| 61 |
-
## Badges
|
| 62 |
-
On some READMEs, you may see small images that convey metadata, such as whether or not all the tests are passing for the project. You can use Shields to add some to your README. Many services also have instructions for adding a badge.
|
| 63 |
-
|
| 64 |
-
## Visuals
|
| 65 |
-
Depending on what you are making, it can be a good idea to include screenshots or even a video (you'll frequently see GIFs rather than actual videos). Tools like ttygif can help, but check out Asciinema for a more sophisticated method.
|
| 66 |
-
|
| 67 |
-
## Installation
|
| 68 |
-
Within a particular ecosystem, there may be a common way of installing things, such as using Yarn, NuGet, or Homebrew. However, consider the possibility that whoever is reading your README is a novice and would like more guidance. Listing specific steps helps remove ambiguity and gets people to using your project as quickly as possible. If it only runs in a specific context like a particular programming language version or operating system or has dependencies that have to be installed manually, also add a Requirements subsection.
|
| 69 |
-
|
| 70 |
-
## Usage
|
| 71 |
-
Use examples liberally, and show the expected output if you can. It's helpful to have inline the smallest example of usage that you can demonstrate, while providing links to more sophisticated examples if they are too long to reasonably include in the README.
|
| 72 |
-
|
| 73 |
-
## Support
|
| 74 |
-
Tell people where they can go to for help. It can be any combination of an issue tracker, a chat room, an email address, etc.
|
| 75 |
-
|
| 76 |
-
## Roadmap
|
| 77 |
-
If you have ideas for releases in the future, it is a good idea to list them in the README.
|
| 78 |
-
|
| 79 |
-
## Contributing
|
| 80 |
-
State if you are open to contributions and what your requirements are for accepting them.
|
| 81 |
-
|
| 82 |
-
For people who want to make changes to your project, it's helpful to have some documentation on how to get started. Perhaps there is a script that they should run or some environment variables that they need to set. Make these steps explicit. These instructions could also be useful to your future self.
|
| 83 |
-
|
| 84 |
-
You can also document commands to lint the code or run tests. These steps help to ensure high code quality and reduce the likelihood that the changes inadvertently break something. Having instructions for running tests is especially helpful if it requires external setup, such as starting a Selenium server for testing in a browser.
|
| 85 |
-
|
| 86 |
-
## Authors and acknowledgment
|
| 87 |
-
Show your appreciation to those who have contributed to the project.
|
| 88 |
-
|
| 89 |
-
## License
|
| 90 |
-
For open source projects, say how it is licensed.
|
| 91 |
-
|
| 92 |
-
## Project status
|
| 93 |
-
If you have run out of energy or time for your project, put a note at the top of the README saying that development has slowed down or stopped completely. Someone may choose to fork your project or volunteer to step in as a maintainer or owner, allowing your project to keep going. You can also make an explicit request for maintainers.
|
|
|
|
| 1 |
+
# Presentation-RAG
|
| 2 |
|
| 3 |
+
## Ссылки
|
| 4 |
+
### Навигация по проекту
|
| 5 |
+
- [System Design Document](/docs/system_design_doc.md)
|
| 6 |
+
- [Документация](/docs)
|
| 7 |
+
- [Ноутбуки](/notebooks/)
|
| 8 |
|
| 9 |
+
### Raftds
|
| 10 |
+
- [Jira](https://jira.raftds.com/secure/RapidBoard.jspa?rapidView=98&projectKey=RMI&selectedIssue=RMI-40)
|
| 11 |
+
- [Confluence](https://confluence.raftds.com/display/RMI1/Raft+ML+internship+1)
|
| 12 |
+
- [GitLab · Presentation RAG](https://gitlab.raftds.com/ilia.tambovtsev/presentation-rag)
|
| 13 |
|
| 14 |
+
## Технические моменты
|
| 15 |
+
### Работа с ветками
|
| 16 |
+
Ветки:
|
| 17 |
+
- [main](https://gitlab.raftds.com/ilia.tambovtsev/presentation-rag/-/tree/main?ref_type=heads)
|
| 18 |
+
- [POC](https://gitlab.raftds.com/ilia.tambovtsev/presentation-rag/-/tree/POC?ref_type=heads) - Proof of Concept
|
| 19 |
|
| 20 |
+
В проекте два типа веток.
|
| 21 |
|
| 22 |
+
`RMI-XX-<task>` отражают задачи из доски Jira.
|
| 23 |
|
| 24 |
+
Ветка `POC` - рабочая ветка на текущий момент. В `POC` маленький датасет + есть задачи по ресерчу. Возможно не все из `POC` пойдет в `main`.
|
| 25 |
|
| 26 |
+
### Работа с данными
|
| 27 |
+
В проекте используется dvc. Для каждой задачи подгружается свой датасет. Идея: не надо загружать 200 презентаций, если хочется перепроверить тестовую задачу с 10 слайдами. [Подробнее про dvc](./docs/workflow/dvc)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
data/.dvcignore
CHANGED
|
@@ -1,8 +1,16 @@
|
|
| 1 |
-
#
|
| 2 |
|
| 3 |
-
# ignore
|
| 4 |
-
#
|
| 5 |
-
|
| 6 |
-
#
|
| 7 |
-
|
| 8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Презентации для POC
|
| 2 |
|
| 3 |
+
# ignore папку с data-science презентациями
|
| 4 |
+
# датасет по data-science уже собран.
|
| 5 |
+
# датасет по business я собираю сейчас.
|
| 6 |
+
# пока все бизнес презы актуальны для POC
|
| 7 |
+
raw/data-science/**/*.pdf
|
| 8 |
|
| 9 |
+
# выбираю нужные презентации.
|
| 10 |
+
# `!<pattern>` - отрицание на паттерн - игнорируй все, что не <pattern>
|
| 11 |
+
# `*` мэтчит любую последовательность символов
|
| 12 |
+
# `!*<part of filename>*` игнорируй все, что не <part of filename>
|
| 13 |
+
!*1.За рамками сценария_Эмели Драль_вер.3*
|
| 14 |
+
!*2.Kolmogorov Arnold Networks_Павел Плюснин_вер.2*
|
| 15 |
+
!*4.Обзор уязвимостей и техник защиты для LLM_Евгений Кокуйкин_вер.3*
|
| 16 |
+
!*6.Увеличиваем число обнаружений в задачах_Дмитрий Колесников_вер.4*
|
data/data_description.md
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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 |
+
- QR коды
|
| 26 |
+
- Псевдоанимации
|
| 27 |
+
- Переключение слайда отображает следующий элемент списка
|
| 28 |
+
- Переключение слайда добавляет визуальный элемент
|
| 29 |
+
|
| 30 |
+
## Датасеты
|
| 31 |
+
Дерево папок
|
| 32 |
+
```
|
| 33 |
+
./data/raw
|
| 34 |
+
├── business
|
| 35 |
+
│ ├── business_incognita
|
| 36 |
+
│ │ └── raw
|
| 37 |
+
│ └── insider_infor
|
| 38 |
+
│ ├── note
|
| 39 |
+
│ └── raw
|
| 40 |
+
└── data-science
|
| 41 |
+
├── aiconf
|
| 42 |
+
│ ├── День1
|
| 43 |
+
│ │ ├── 1.Сфера
|
| 44 |
+
│ │ ├── 2.Полусфера
|
| 45 |
+
│ │ ├── 3.Аудитория 1
|
| 46 |
+
│ │ └── 4.Пресс-центр
|
| 47 |
+
│ └── День2
|
| 48 |
+
│ ├── 1.Сфера
|
| 49 |
+
│ ├── 2.Полусфера
|
| 50 |
+
│ ├── 3.Аудитория 1
|
| 51 |
+
│ └── 4.Пресс-центр
|
| 52 |
+
└── yappi-days
|
| 53 |
+
```
|
| 54 |
+
|
| 55 |
+
#### AIConf
|
| 56 |
+
54 презентации по Data-Science.
|
| 57 |
+
Текста в основном мало.
|
| 58 |
+
|
| 59 |
+
#### Business
|
| 60 |
+
Презентации на бизнес-тематику из тг каналов `<ссылка> <ссылка>`.
|
| 61 |
+
- Обзоры отраслей
|
| 62 |
+
- Отчеты
|
| 63 |
+
|
| 64 |
+
> В паблике Insider_infor мне не понравились данные:
|
| 65 |
+
> - Книги
|
| 66 |
+
> - 2-слайовые пдф
|
| 67 |
+
> - дубликаты
|
| 68 |
+
|
| 69 |
+
|
| 70 |
+
### Описание презентаций
|
| 71 |
+
| Nav | Название | Общая информация | Текстовое содержание | Визуальное содержание | Комментарий |
|
| 72 |
+
| -------------------------- | ------------------------------------------------------------------ | ------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | --------------------------------------------------------------- |
|
| 73 |
+
| b/business_incognita | Accenture x UN_GenAI For Global Goals_2024 | 39сл, англ, Gen AI for Agriculture and Sustainable Development | Параграфы+, списки1, ссылки | Таблицы, Схемы, Изображения (Сельхоз) | |
|
| 74 |
+
| b/business_incognita | Kept_Подвижной состав РФ_2024 | 20сл, ру, Баланс спроса и предложения поездов, Сергей Казачков | Параграфы+, списки, цветные выводы, Сокращения (РФ, РЖД, ОВЗ, НПК, | Схемы, Графики, Столбчатые диаграммы, Карта маршрутов | |
|
| 75 |
+
| b/business_incognita | SP_Навигатор_по_мерам_гос_поддержки_2024_74_стр | 74сл, ру, | Списки2, параграфы, ссылки | Таблицы, графики, Изображения к заголовкам, Схемы | Красиво добавили картинки на слайды 62-67. |
|
| 76 |
+
| b/insider_infor | dodo-brands-monthly-trading-update-sep-2024 | 13сл, англ, Monthly Trading Update, Минимализм | Списки, текста мало | Графики, столбчатые диаграмы, Таблицы, Фото к слайдам | Без доклада непонятно, о чем |
|
| 77 |
+
| b/insider_infor / note | ABN AMRO - Global Economic Forecasts 28 august | 2сл, таблицы с разноцветными рядами | - | Таблицы | |
|
| 78 |
+
| b/insider_infor | AXES_х_Понимаю_Исследование_практик_благополучия_2024 | 23сл, Исследование практик благополучия, AXES x Понимаю | Списки (6стр стилизованный список) | Bar-chart, Круговые диаграмы, Таблицы (стр 18 стилизованная), Схема типа SWOT, Картинка котика | На последнем слайде картинка с картинка с "игрушечным" графиком |
|
| 79 |
+
| b/insider_infor | ЯиП_Энергетический_переход_Вызовы_и_возможности_для_России | TODO | Горизонтальные списки стр 22, Горизонтально-вертикальный список стр 17 | Графики, схемы, bar-chart, таблицы (стр 16 таблица из графиков), карта (стр 24 типа heatmap) | Слайд 31 полотно текста про копирайт |
|
| 80 |
+
| --- | --- | --- | --- | --- | |
|
| 81 |
+
| ds/aiconf/День1/Сфера | 1.За рамками сценария_Эмели Драль_вер.3 | - 44сл <br> - Тестирование LLM <br> - Эмели Драль | - Списки 2 <br> - Ссылки | - Столбчатые диаграмы <br> - Схемы <br> - Картинки <br> - Один график | Красным текстом выделяется важное |
|
| 82 |
+
| ds/aiconf/День1/Сфера | 2.Kolmogorov Arnold Networks_Павел Плюснин_вер.2 | 55сл, Kolmogorov-Arnold Networks Architecture, Павел плюсин | Списки1, Формулы | Фиолетовое оформление, Схемы нейросетей, Графики, Схемы сверток | |
|
| 83 |
+
| ds/aiconf/День1/Сфера | 4.Обзор уязвимостей и техник защиты для LLM_Евгений Кокуйкин_вер.3 | 72сл, Обзор уязвимостей и техник защиты LLM, Евгений Кокуйкин | Списки1 с эмоджи, Параграфы, Промпты, Код, Ссылки | Таблицы, Фото, Скриншоты, Схемы | |
|
| 84 |
+
| ds/aiconf/День1/Аудитория1 | 6.Увеличиваем число обнаружений в задачах_Дмитрий Колесников_вер.4 | 32сл, Метод Увеличения Числа Обнаружений в задачах Object Detection и Instance Segmentation | Списки1, Код | Много Изображений, сравнение изображений, таблицы | |
|
| 85 |
+
|
| 86 |
+
|
| 87 |
+
|
data/description.md
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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 |
+
- QR коды
|
| 26 |
+
- Псевдоанимации
|
| 27 |
+
- Переключение слайда отображает следующий элемент списка
|
| 28 |
+
- Переключение слайда добавляет визуальный элемент
|
| 29 |
+
|
| 30 |
+
## Датасеты
|
| 31 |
+
Дерево папок
|
| 32 |
+
```
|
| 33 |
+
./data/raw
|
| 34 |
+
├── business
|
| 35 |
+
│ ├── business_incognita
|
| 36 |
+
│ │ └── raw
|
| 37 |
+
│ └── insider_infor
|
| 38 |
+
│ ├── note
|
| 39 |
+
│ └── raw
|
| 40 |
+
└── data-science
|
| 41 |
+
├── aiconf
|
| 42 |
+
│ ├── День1
|
| 43 |
+
│ │ ├── 1.Сфера
|
| 44 |
+
│ │ ├── 2.Полусфера
|
| 45 |
+
│ │ ├── 3.Аудитория 1
|
| 46 |
+
│ │ └── 4.Пресс-центр
|
| 47 |
+
│ └── День2
|
| 48 |
+
│ ├── 1.Сфера
|
| 49 |
+
│ ├── 2.Полусфера
|
| 50 |
+
│ ├── 3.Аудитория 1
|
| 51 |
+
│ └── 4.Пресс-центр
|
| 52 |
+
└── yappi-days
|
| 53 |
+
```
|
| 54 |
+
|
| 55 |
+
#### AIConf
|
| 56 |
+
54 презентации по Data-Science.
|
| 57 |
+
Текста в основном мало.
|
| 58 |
+
|
| 59 |
+
#### Business
|
| 60 |
+
Презентации на бизнес-тематику из тг каналов `<ссылка> <ссылка>`.
|
| 61 |
+
- Обзоры отраслей
|
| 62 |
+
- Отчеты
|
| 63 |
+
|
| 64 |
+
> В паблике Insider_infor мне не понравились данные:
|
| 65 |
+
> - Книги
|
| 66 |
+
> - 2-слайовые пдф
|
| 67 |
+
> - дубликаты
|
| 68 |
+
|
| 69 |
+
|
| 70 |
+
### Описание презентаций
|
| 71 |
+
| Nav | Название | Общая информация | Текстовое содержание | Визуальное содержание | Комментарий |
|
| 72 |
+
| -------------------------- | ------------------------------------------------------------------ | ------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | --------------------------------------------------------------- |
|
| 73 |
+
| b/business_incognita | Accenture x UN_GenAI For Global Goals_2024 | 39сл, англ, Gen AI for Agriculture and Sustainable Development | Параграфы+, списки1, ссылки | Таблицы, Схемы, Изображения (Сельхоз) | |
|
| 74 |
+
| b/business_incognita | Kept_Подвижной состав РФ_2024 | 20сл, ру, Баланс спроса и предложения поездов, Сергей Казачков | Параграфы+, списки, цветные выводы, Сокращения (РФ, РЖД, ОВЗ, НПК, | Схемы, Графики, Столбчатые диаграммы, Карта маршрутов | |
|
| 75 |
+
| b/business_incognita | SP_Навигатор_по_мерам_гос_поддержки_2024_74_стр | 74сл, ру, | Списки2, параграфы, ссылки | Таблицы, графики, Изображения к заголовкам, Схемы | Красиво добавили картинки на слайды 62-67. |
|
| 76 |
+
| b/insider_infor | dodo-brands-monthly-trading-update-sep-2024 | 13сл, англ, Monthly Trading Update, Минимализм | Списки, текста мало | Графики, столбчатые диаграмы, Таблицы, Фото к слайдам | Без доклада непонятно, о чем |
|
| 77 |
+
| b/insider_infor / note | ABN AMRO - Global Economic Forecasts 28 august | 2сл, таблицы с разноцветными рядами | - | Таблицы | |
|
| 78 |
+
| b/insider_infor | AXES_х_Понимаю_Исследование_практик_благополучия_2024 | 23сл, Исследование практик благополучия, AXES x Понимаю | Списки (6стр стилизованный список) | Bar-chart, Круговые диаграмы, Таблицы (стр 18 стилизованная), Схема типа SWOT, Картинка котика | На последнем слайде картинка с картинка с "игрушечным" графиком |
|
| 79 |
+
| b/insider_infor | ЯиП_Энергетический_переход_Вызовы_и_возможности_для_России | TODO | Горизонтальные списки стр 22, Горизонтально-вертикальный список стр 17 | Графики, схемы, bar-chart, таблицы (стр 16 таблица из графиков), карта (стр 24 типа heatmap) | Слайд 31 полотно текста про копирайт |
|
| 80 |
+
| --- | --- | --- | --- | --- | |
|
| 81 |
+
| ds/aiconf/День1/Сфера | 1.За рамками сценария_Эмели Драль_вер.3 | - 44сл <br> - Тестирование LLM <br> - Эмели Драль | - Списки 2 <br> - Ссылки | - Столбчатые диаграмы <br> - Схемы <br> - Картинки <br> - Один график | Красным текстом выделяется важное |
|
| 82 |
+
| ds/aiconf/День1/Сфера | 2.Kolmogorov Arnold Networks_Павел Плюснин_вер.2 | 55сл, Kolmogorov-Arnold Networks Architecture, Павел плюсин | Списки1, Формулы | Фиолетовое оформление, Схемы нейросетей, Графики, Схемы сверток | |
|
| 83 |
+
| ds/aiconf/День1/Сфера | 4.Обзор уязвимостей и техник защиты для LLM_Евгений Кокуйкин_вер.3 | 72сл, Обзор уязвимостей и техник защиты LLM, Евгений Кокуйкин | Списки1 с эмоджи, Параграфы, Промпты, Код, Ссылки | Таблицы, Фото, Скриншоты, Схемы | |
|
| 84 |
+
| ds/aiconf/День1/Аудитория1 | 6.Увеличиваем число обнаружений в задачах_Дмитрий Колесников_вер.4 | 32сл, Метод Увеличения Числа Обнаружений в задачах Object Detection и Instance Segmentation | Списки1, Код | Много Изображений, сравнение изображений, таблицы | |
|
| 85 |
+
|
| 86 |
+
|
| 87 |
+
|
data/raw.dvc
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
outs:
|
| 2 |
-
- md5:
|
| 3 |
-
size:
|
| 4 |
-
nfiles:
|
| 5 |
hash: md5
|
| 6 |
path: raw
|
|
|
|
| 1 |
outs:
|
| 2 |
+
- md5: 1299fba5c252ef3da6127d2651ae1b10.dir
|
| 3 |
+
size: 61336814
|
| 4 |
+
nfiles: 20
|
| 5 |
hash: md5
|
| 6 |
path: raw
|
docs/README.md
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Документация Presentation RAG
|
| 2 |
+
|
| 3 |
+
- [Workflow](/docs/workflow) - Документация по тому, как работать с проектом
|
| 4 |
+
- [Data Description](/docs/workflow/data_description.md) - Описание данных
|
| 5 |
+
- [DVC](/docs/workflow/data_version_control.md) - как версионируются данные в проекте
|
docs/system_design_doc.md
ADDED
|
@@ -0,0 +1,244 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Presentation-RAG System Design
|
| 2 |
+
|
| 3 |
+
## Цели и предпосылки
|
| 4 |
+
|
| 5 |
+
### Зачем идем в разработку продукта?
|
| 6 |
+
|
| 7 |
+
**Цель проекта:** Разработать эффективный инструмент для автоматизированного поиска информации по базе из презентаций.
|
| 8 |
+
|
| 9 |
+
**Проблематика:**
|
| 10 |
+
- Большой объем бизнес-информации хранится в форме презентаций.
|
| 11 |
+
- Поиск по ним усложняется визуальным содержимым - графиками, диаграммами, картинками.
|
| 12 |
+
- Нет универсального подхода - решение задачи зависит от домена информации и визуального содержимого
|
| 13 |
+
- `Сложность навигации по докладам на многосекционных конференциях`
|
| 14 |
+
|
| 15 |
+
**Почему станет лучше от использования ML:**
|
| 16 |
+
1. LLM способны интерпретировать естественно-языковые запросы и связывать их с релевантным контентом.
|
| 17 |
+
2. Visual Transformers (ViT) эффективно анализируют содержимое изображений и распознают текст.
|
| 18 |
+
3. Интеграция ViT и LLM улучшает понимание контекста документов.
|
| 19 |
+
4. RAG позволяет эффективно работать с неструктурированными данными, такими как презентации.
|
| 20 |
+
|
| 21 |
+
### Ожидаемые результаты
|
| 22 |
+
#### Пользовательский опыт
|
| 23 |
+
- Пользователь вводит естественно-языковой запрос в поисковую строку.
|
| 24 |
+
- Ожидание в течение *адекватного* времени.
|
| 25 |
+
- Результат:
|
| 26 |
+
- Ранжированный список из релевантных презентаций/слайдов.
|
| 27 |
+
- Ссылки на оригиналы.
|
| 28 |
+
- Можно просматривать презентации.
|
| 29 |
+
- Если результат не устроил, можно задать переформулированный запрос в том же чате.
|
| 30 |
+
- История поиска сохраняется.
|
| 31 |
+
|
| 32 |
+
|
| 33 |
+
Сценарий бизнес:
|
| 34 |
+
1. Подготовка к встрече:
|
| 35 |
+
- Пользователь ищет "последние презентации о финансовых показателях компании"
|
| 36 |
+
- Система выдает релевантные слайды из различных презентаций
|
| 37 |
+
- Пользователь быстро составляет краткий отчет на основе найденной информации
|
| 38 |
+
|
| 39 |
+
2. Анализ конкурентов:
|
| 40 |
+
- Запрос: "Сравнение наших продуктов с конкурентами за последний квартал"
|
| 41 |
+
- Система находит слайды с таблицами сравнения и диаграммами
|
| 42 |
+
- Пользователь легко идентифицирует ключевые различия и преимущества
|
| 43 |
+
|
| 44 |
+
3. Подготовка презентации:
|
| 45 |
+
- Поиск "креативные слайды о запуске нового продукта"
|
| 46 |
+
- Система предлагает разнообразные визуальные решения из прошлых презентаций
|
| 47 |
+
- Пользователь быстро адаптирует найденные идеи для новой презентации
|
| 48 |
+
|
| 49 |
+
Сценарий исследователь:
|
| 50 |
+
1. Анализ трендов:
|
| 51 |
+
- Запрос: "Графики роста рынка AI за последние 5 лет"
|
| 52 |
+
- Система выдает релевантные графики из различных презентаций
|
| 53 |
+
- Исследователь анализирует тренды и формирует гипотезы
|
| 54 |
+
|
| 55 |
+
2. Поиск методологии:
|
| 56 |
+
- Пользователь ищет "методология оценки эффективности ML моделей"
|
| 57 |
+
- Система находит слайды с описанием методов и формулами
|
| 58 |
+
- Исследователь изучает различные подходы и выбирает наиболее подходящий
|
| 59 |
+
|
| 60 |
+
3. Сравнение результатов:
|
| 61 |
+
- Запрос: "Сравнительные таблицы производительности GPU и TPU"
|
| 62 |
+
- Система предоставляет релевантные таблицы и графики
|
| 63 |
+
- Исследователь сопоставляет данные для своего эксперимента
|
| 64 |
+
|
| 65 |
+
|
| 66 |
+
#### Функционал поиска
|
| 67 |
+
##### Обработка запросов
|
| 68 |
+
- Поддержка запросов на естественном языке, включающих текстовое и визуальное содержание.
|
| 69 |
+
- Интерпретация запроса и понимание намерения пользователя.
|
| 70 |
+
- Обработка запросов со сложной струтурой:
|
| 71 |
+
- Несколько условий
|
| 72 |
+
- ~~Произвольное форматирование: списки, **bold**, CAPS~~
|
| 73 |
+
- Произвольная формулировка:
|
| 74 |
+
- Вопросы, требования, их комбинации
|
| 75 |
+
- Термины?
|
| 76 |
+
- Поиск по визуальными элементами презентаций.
|
| 77 |
+
- Стиль (минималистичный, "много текста", ...)
|
| 78 |
+
- Диаграммы разных типов (круговые, столбчатые, графики)
|
| 79 |
+
- Табличные данные
|
| 80 |
+
- Метаданные (автор, дата, ...)
|
| 81 |
+
- Специфические визуальные элементы (воронки продаж, таймлайны, схемы, ...)
|
| 82 |
+
- Примеры поддерживаемых запросов:
|
| 83 |
+
- "Найди презентации в минималистичном стиле о стратегии компании"
|
| 84 |
+
- "Покажи слайды с воронкой продаж в презентациях о digital-маркетинге"
|
| 85 |
+
- "Выдай презентацию по data-аналитике, в которой были картинки с лягушками"
|
| 86 |
+
- "В каких презентациях были графики зависимости X от размера модели?"
|
| 87 |
+
|
| 88 |
+
##### Генерация ответов
|
| 89 |
+
- Запрос пользователя проходит предобработку для поиска. Формулируется запрос для RAG
|
| 90 |
+
- RAG выдает ссылки на релевантные результаты
|
| 91 |
+
- К результам генерируется пояснение в контексте запроса. Ответ на вопрос "Почему этот слайд попал в ответ?"
|
| 92 |
+
|
| 93 |
+
#### Веб интерфейс
|
| 94 |
+
- Чат-интерфейс
|
| 95 |
+
- Поле для поиска
|
| 96 |
+
- Панель с результатами. Можно экспортировать ссылки.
|
| 97 |
+
- Можно задавать сколько угодно вопросов. История сохраняется.
|
| 98 |
+
- Чат сохраняется
|
| 99 |
+
|
| 100 |
+
|
| 101 |
+
## Методология
|
| 102 |
+
### Постановка задачи
|
| 103 |
+
Разработка *ассистента* на основе LLM и RAG для автоматического поиска информации из *набора* презентаций.
|
| 104 |
+
|
| 105 |
+
%%
|
| 106 |
+
- На какую тему презентации? Какой домен? Важно ли это?
|
| 107 |
+
- Что делать с терминами? Если они нетипичные?
|
| 108 |
+
- Как загружаются презы? Это сервис с двумя типами акков: хост и юзер?
|
| 109 |
+
- Как измерять качество поиска?
|
| 110 |
+
- Как размечаем датасет?
|
| 111 |
+
- Объем?
|
| 112 |
+
- Позитивные/негативные примеры
|
| 113 |
+
- Что делаем с шумом? В презентации часто добавляют картинки для отвлечения внимания. Хотя они же могут и запомниться
|
| 114 |
+
- Мб обучать темам по одним данным а обучать поиску по другим?
|
| 115 |
+
%%
|
| 116 |
+
|
| 117 |
+
- Данные - [Подробное описание](data/description.md)
|
| 118 |
+
- Презентации про ML на русском языке (100)
|
| 119 |
+
- AIConf
|
| 120 |
+
- YappiDays
|
| 121 |
+
- Презентации на бизнес тематику (100): отчеты, обзоры, ...
|
| 122 |
+
- [tg: businessincognita](https://t.me/businessincognita)
|
| 123 |
+
- [tg: insider_infor](https://t.me/insider_infor)
|
| 124 |
+
|
| 125 |
+
|
| 126 |
+
### Этапы
|
| 127 |
+
#### Proof of Concept (PoC)
|
| 128 |
+
##### Данные
|
| 129 |
+
- 10 простых презентаций
|
| 130 |
+
- до 30 слайдов ?
|
| 131 |
+
- много текста
|
| 132 |
+
- простой дизайн: текст, картинки четко отделены от текста (границы у графиков, контраст с фоном)
|
| 133 |
+
|
| 134 |
+
##### Вопросы
|
| 135 |
+
|
| 136 |
+
| Доля | О чем? | Что в презентации? | Примеры |
|
| 137 |
+
| ---- | ------------------------------------- | ---------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
|
| 138 |
+
| 60% | Строго по тексту (заголовки, контент) | Подробный текст про X | Найди презентацию на тему `Чтото с титульного слайда` <> В какой презентации рассказывали про `чтото из текста`? |
|
| 139 |
+
| 20% | По обобщенному содержимомоу | Подробный текст <> Перечисления | В какой презентации о маркетинге говорили о продажах? <> ... |
|
| 140 |
+
| 10% | Простые визуальные элементы | графики <> картинки (четко отделены от текста) | В какой презентации был график зависимости X от Y? <> В какой презентации были изображения машин? |
|
| 141 |
+
| 5% | Сложные визуальные элементы | Воронки продаж <> Флоу-чарты | Где показывали воронку продаж для X <> ... |
|
| 142 |
+
| 5% | Отсылки на визуальные элементы | Графики продаж <> Диаграмы | В какой презентации говорили о продажах за последние 5 лет? |
|
| 143 |
+
|
| 144 |
+
Общие моменты
|
| 145 |
+
- Вопросы понятные. Понятно намерение. Легко интерпретировать ответ.
|
| 146 |
+
- Ответ на вопрос **точно есть** в презентациях. ==Но можно добавить несколько out of domain==
|
| 147 |
+
- Ручная проверка.
|
| 148 |
+
|
| 149 |
+
##### Оформление
|
| 150 |
+
Интерфейс - оформление в виде кода / ноутбука. Таблица с отчетом о результатах.
|
| 151 |
+
|
| 152 |
+
##### Результаты
|
| 153 |
+
Что мы узнаем?
|
| 154 |
+
- возможности модели
|
| 155 |
+
- темп разработки
|
| 156 |
+
|
| 157 |
+
Сценарий 1: все работает через 2 недели. Тогда идем в усложнение.
|
| 158 |
+
|
| 159 |
+
Сценарий 2: ничего не работает через месяц. Тогда паника.
|
| 160 |
+
|
| 161 |
+
По итогам этапа станет понятно, как скорректировать требования для MVP.
|
| 162 |
+
|
| 163 |
+
#### Minimal Viable Product (MVP)
|
| 164 |
+
- 100 презентаций на МЛ тематику. Сложность определим после POC
|
| 165 |
+
- Реализованы основные функции поиска
|
| 166 |
+
- Веб интерфейс
|
| 167 |
+
|
| 168 |
+
#### План работы
|
| 169 |
+
|
| 170 |
+
- Ресерч и тестирование существующих решений `1нед`
|
| 171 |
+
- Что уже есть?
|
| 172 |
+
- Как оценивать качество?
|
| 173 |
+
- Выбор моделей
|
| 174 |
+
- Как разрабатывать?
|
| 175 |
+
- Разработка POC
|
| 176 |
+
- Код `1w+`
|
| 177 |
+
- setup `1 день`
|
| 178 |
+
- Удобная архитектура проекта
|
| 179 |
+
- Зависимости: Библиотеки / Окружения / docker / ...
|
| 180 |
+
- Разработка `1нед`
|
| 181 |
+
- Предобработка презентаций
|
| 182 |
+
- Разработка промптов для LLM
|
| 183 |
+
- RAG
|
| 184 |
+
- узнать как пользоваться
|
| 185 |
+
- ...
|
| 186 |
+
- Подготовка небольшого датасета `2 дня`
|
| 187 |
+
- Выбор презентаций `2-3ч`
|
| 188 |
+
- Просмотр
|
| 189 |
+
- Заметки по презентации. Научиться в них ориентироваться. Знать все про эти 10 презентаций
|
| 190 |
+
- Составление вопросов
|
| 191 |
+
- Ресерч как сейчас составляют вопросы `2ч`
|
| 192 |
+
- Составление по шаблону + свои `2ч`
|
| 193 |
+
- Интеграция с RAG - разметка, `1 день`
|
| 194 |
+
- Тестирование
|
| 195 |
+
- Выбор метрик - "как автоматически понимать что выдача ок?"
|
| 196 |
+
- Проведение тестов `1 день на тест`
|
| 197 |
+
- Обсуждения со взрослыми
|
| 198 |
+
- Корректировки, итерации
|
| 199 |
+
- Дальнейшее планирование
|
| 200 |
+
- что можно сделать? что нет?
|
| 201 |
+
- будет понятно, как масштабировать
|
| 202 |
+
- Разработка MVP
|
| 203 |
+
- Подготовка большого датасета
|
| 204 |
+
- Тестирование
|
| 205 |
+
- Оценка метрик
|
| 206 |
+
- Выводы
|
| 207 |
+
- Разработка веб-интерфейса
|
| 208 |
+
- Ресерч фреймворков `2д`
|
| 209 |
+
- Реализация `3д`
|
| 210 |
+
- Тестирование функционала `1д` -- будет +/- параллельно с другими задачами
|
| 211 |
+
- Фичи
|
| 212 |
+
- Форматы сохранение результатов
|
| 213 |
+
- Юзабилити
|
| 214 |
+
|
| 215 |
+
##### Времязатраты
|
| 216 |
+
|
| 217 |
+
**POC**
|
| 218 |
+
| Задача | Ожидаемое время | Затраченное время |
|
| 219 |
+
| ------------------------------------------ | --------------- | ----------------- |
|
| 220 |
+
| Ресерч и тестирование существующих решений | 1н+ | |
|
| 221 |
+
| Подготовка данных для POC | 2д | |
|
| 222 |
+
| Разработка POC | 1н+ | |
|
| 223 |
+
| Тестирование и итерации | 3д | |
|
| 224 |
+
|
| 225 |
+
|
| 226 |
+
**MVP**
|
| 227 |
+
| Задача | Ожидаемое время | Затраченное время | Комментарий |
|
| 228 |
+
| ------------------------------------------ | --------------- | ----------------- | ------------------------------------- |
|
| 229 |
+
| Осмысление результатов POC <> Планирование | 2д | | |
|
| 230 |
+
| Подготовка данных для MVP | 5д | | как составить много хороших вопросов? |
|
| 231 |
+
| Разработка MVP | ? | | База есть с POC, что дальше? |
|
| 232 |
+
| Тестирование и итерации | 3д | | |
|
| 233 |
+
| Веб-интерфейс и деплой | 5д | | |
|
| 234 |
+
|
| 235 |
+
|
| 236 |
+
## Студенческие моменты
|
| 237 |
+
- Цели
|
| 238 |
+
- Научиться адаптировать RAG для нестандартных задач
|
| 239 |
+
- Презентовать свои результаты перед публикой
|
| 240 |
+
- Закрыть курс проектной практики
|
| 241 |
+
- Ожидаемый результат
|
| 242 |
+
- *RAG для поиска по презентациям*
|
| 243 |
+
- Выступление на DataFest
|
| 244 |
+
- Закрытая сессия
|
docs/workflow/data_version_control.md
CHANGED
|
@@ -2,10 +2,78 @@
|
|
| 2 |
|
| 3 |
```shell
|
| 4 |
# Выбираем ветку
|
| 5 |
-
git branch -
|
| 6 |
-
|
|
|
|
|
|
|
|
|
|
| 7 |
|
| 8 |
# Загружаем данные. Ключи не нужны, хранилище открытое.
|
| 9 |
dvc pull
|
| 10 |
```
|
| 11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
|
| 3 |
```shell
|
| 4 |
# Выбираем ветку
|
| 5 |
+
git branch -a # выдаст все ветки
|
| 6 |
+
|
| 7 |
+
# если нужная ветка только в remote
|
| 8 |
+
git branch --track branch-name origin/branch-name # скачали ветку
|
| 9 |
+
git checkout branch-name
|
| 10 |
|
| 11 |
# Загружаем данные. Ключи не нужны, хранилище открытое.
|
| 12 |
dvc pull
|
| 13 |
```
|
| 14 |
|
| 15 |
+
## Выбираем только нужные презентации из датасета
|
| 16 |
+
Допустим я собираю датасет для POC. Он должен состоять примерно из 20ти отобранных презентаций. Но сейчас у меня уже ~80. С помощью dvc можно создать версию датасета, в которой будут только нужные презентации. При этом на диске не будет дубликатов.
|
| 17 |
+
|
| 18 |
+
Вот структура директории. `./data/raw` уже отслеживается dvc:
|
| 19 |
+
```
|
| 20 |
+
./data
|
| 21 |
+
├── raw
|
| 22 |
+
│ ├── business # 7 items
|
| 23 |
+
│ │ ├── business_incognita
|
| 24 |
+
│ │ └── insider_infor
|
| 25 |
+
│ ├── data-science # 73 items
|
| 26 |
+
│ │ ├── aiconf
|
| 27 |
+
│ │ └── yappi-days
|
| 28 |
+
│ └── weird-slides
|
| 29 |
+
└── raw.dvc
|
| 30 |
+
```
|
| 31 |
+
|
| 32 |
+
Презентации по бизнесу я собираю сейчас - все они подходят для POC. А по data-science надо выбрать подходящие. Используем для этого `.dvcignore` - как `.gitignore`, только для dvc. Вот полезные паттерны для `.ignore` файлов:
|
| 33 |
+
|
| 34 |
+
[Паттерны .gitignore:](https://git-scm.com/docs/gitignore)
|
| 35 |
+
- `*` - мэтчит любую последовательность символов
|
| 36 |
+
- `/**/` - мэтчит любую последовательность вложенных папок
|
| 37 |
+
- `!<pattern>` - отрицание на паттерн - игнорируй все, что не `<pattern>`
|
| 38 |
+
- `!*<part of filename>*` игнорируй все, что не содержит `<part of filename>`
|
| 39 |
+
|
| 40 |
+
Теперь к задаче:
|
| 41 |
+
|
| 42 |
+
- Выберем нужные презентации из `data-science`. Хватит названия файла, можно не записывать полный путь.
|
| 43 |
+
|
| 44 |
+
- Попросим dvc игнорировать все файлы из `data-science`, кроме избранных.
|
| 45 |
+
Воспользуемся отрицательными паттернами.
|
| 46 |
+
|
| 47 |
+
В итоге получим вот такой `.dvcignore`
|
| 48 |
+
|
| 49 |
+
```shell
|
| 50 |
+
# ignore папку с data-science презентациями
|
| 51 |
+
raw/data-science/**/*.pdf
|
| 52 |
+
|
| 53 |
+
# выбираю нужные презентации.
|
| 54 |
+
!*1.За рамками сценария_Эмели Драль_вер.3*
|
| 55 |
+
!*2.Kolmogorov Arnold Networks_Павел Плюснин_вер.2*
|
| 56 |
+
!*4.Обзор уязвимостей и техник защиты для LLM_Евгений Кокуйкин_вер.3*
|
| 57 |
+
!*6.Увеличиваем число обнаружений в задачах_Дмитрий Колесников_вер.4*
|
| 58 |
+
```
|
| 59 |
+
|
| 60 |
+
Проверим, что все прошло по плану:
|
| 61 |
+
```shell
|
| 62 |
+
dvc diff # Выдаст список Deleted:
|
| 63 |
+
dvc list -R data --dvc-only # список файлов, отслеживаемых dvc
|
| 64 |
+
```
|
| 65 |
+
|
| 66 |
+
Убедились, что мы удалили все файлы, кроме выбранных. Коммитим.
|
| 67 |
+
```shell
|
| 68 |
+
dvc commit
|
| 69 |
+
|
| 70 |
+
# сохраним в гит
|
| 71 |
+
git add .dvcignore data/raw.dvc
|
| 72 |
+
git commit -m "Select presentations for POC
|
| 73 |
+
```
|
| 74 |
+
|
| 75 |
+
Чтобы скачать презентации только для POC:
|
| 76 |
+
```shell
|
| 77 |
+
git checkout POC
|
| 78 |
+
dvc pull
|
| 79 |
+
```
|