Технічне завдання
1. Введення:
Проект полягає у створенні нового коду на основі існуючого коду на TypeScript (scripts/ingest-web.ts) на базі langchain. Новий код повинен бути здатний створювати базу embeddings за розділами тексту, а також забезпечувати актуальність цієї бази при повторному запуску.
2. Огляд вимог:
Програмне забезпечення має мати наступні функції та можливості:
- Циклічний прохід по всіх розділах тексту, доступних за посиланням https://www.uscis.gov/policy-manual/table-of-contents.
- створення embeddings з тексту кожного розділу і запис їх у векторну базу даних.
- Перевірка кількості токенів у тексті. Якщо кількість токенів перевищує 15 000, то embeddings повинні бути розділені на частини, кожна з яких міститиме не більше 15 000 токенів.
- Створення хешу з тексту або використання іншого відповідного методу порівняння тексту при повторному запуску. Якщо текст змінився, підписи повинні бути перегенеровані.
3. Архітектура та компоненти:
Програмне забезпечення повинно мати таку структуру та основні компоненти:
- Основний компонент: файл ingest-web.ts, модифікований для реалізації нових вимог.
- Компонент бази даних: Векторна база даних, в яку будуть записуватися embeddings.
4. Інтерфейси:
Програмне забезпечення має взаємодіяти із зовнішніми системами та сторонніми програмами наступним чином:
- Взаємодія з веб-сторінкою на https://www.uscis.gov/policy-manual/table-of-contents для отримання тексту розділів.
- Інтеграція з базою даних для запису embeddings.
5. Безпека:
Програмне забезпечення має відповідати наступним вимогам безпеки та механізмам захисту даних:
- Захист даних, що зберігаються у векторній базі даних від несанкціонованого доступу.
- Захист від можливих уразливостей та атак, таких як ін'єкції або переповнення буфера.
6. Тестування:
Програмне забезпечення має бути протестоване з використанням наступного плану тестування:
- Автоматизоване тестування для перевірки створення embeddings та їх запису до бази даних.
- Тестування продуктивності для оцінки часу, необхідного для створення embeddings та запису їх у базу даних.
7. Ризики та управління проектом:
Виявлено такі можливі ризики та способи їх управління:
- Ризик: Зміна структури веб-сторінки за посиланням https://www.uscis.gov/policy-manual/table-of-contents.
Управління: Регулярне моніторинг змін структури сторінки та оновлення коду за потреби.
- Ризик: Порушення безпеки даних векторної бази даних.
Керування: Застосування механізмів захисту даних, таких як шифрування та авторизація доступу.
8. Ресурси та графік:
Для реалізації проекту знадобляться такі ресурси:
- Команда розробників, що включає програмістів, тестувальників
Будь ласка, уточніть, якщо у вас є питання або потрібна додаткова інформація.