---
# System prepended metadata

title: Задачи

---

# Задачи

1. - [ ] Перейти c Pandas на Dask 
    
    - [ ] добиться работы cosine_similarity ( target, колонка в даск с явным типом ~array)    
2. - [ ] Изменить архитектуру работы с данными
   с работу с 1им Dataframe-ом на работу с 2мя Dataframами   в два запроса
   
   df1 имеет структуру (id_компании:int => vec1:np.array)
   пример: 1823008 => [1,0,1,1,0,...]
   
   df2 имеет структуру примерно такую какая сейчас в
   CompanyJuridicalInformation
   
3. - [ ] развязать setup и загрузку самого приложения
   сейчас векторизация происходит на этапе поднятия приложения, необходимо разделить запуск на 2 этапа
   1. **setup_preprocess.py** - векторизирует данные и создаёт на диске df1.csv, df2.csv
   2. **live.py** - запуск самого приложения, который подтягивает df1, df2 (это происходит быстро)

   Построение цепочки:
   1. - [ ] изменить алгоритм на следующий (2 этапа):
       1. ищутся наиболее близкие компании в df1, отбираются топ-n (например 5) *алгоритм без изменений* 
       2. - [ ] по каждому из узлу цепочки и результат наполняет данным (название компании, роль, ИНН) из df2 и возвращает JSON 


4. - [ ] изменить именования колонок на понятные названия 
 
   1. cmp_description
   2. patent_title
   3. nir_Title,

5. - [ ] добавить конфигурационные файл config.py в котором хранить 

    1. пути к данным csv/pickle
    2. пути к моделям
    3. имена используемых колонок при **setup_preprocess.py**
    4. необходимые порого и константы по умолчанию

6. - [ ] да
    
   
# Что это даст?

1. Dataframe по которому происходит поиск имеет простую структуру *id_company > vector*, => легко перейти на milvus

2. df1 с 1М компаний поместиться в RAM

3. второй запрос в алгоритмы можно вынести отдельный быстрый запрос БД и не хранить на том-же сервере

4. ускорится время загрузки билда

5. первый шаг к инкрементальности данных

