DIY — Створення економічно ефективної автоматизації опитувальників за допомогою Bedrock

pic

Опитувальники безпеки сьогодні є дуже поширеними. Коли клієнти розглядають ваш продукт, особливо якщо ви стартап, вони часто запитують доказ того, що використання вашої послуги є безпечним. Це може стати величезною втратою часу: ви можете витратити години на відповіді на питання, які не завжди до вас застосовуються.

Я не буду розглядати інші стратегії, такі як наявність спеціальної сторінки безпеки, отримання звіту SOC 2 або використання стандартного опитувальника безпеки. Для цього рекомендую прочитати пост Рамі Маккарті.

Замість цього, цей пост зосереджується на швидкому відповіданні на опитувальники безпеки, використовуючи Amazon Bedrock, Aurora PostgreSQL з pgvector, AWS Lambda та Amazon S3. Завдяки цим сервісам, ви можете створити безсерверну базу знань, яка зберігає вашу документацію з безпеки та старі відповіді на опитувальники. Ви можете запитувати її для генерування відповідних відповідей з мінімальними витратами (плата стягується лише тоді, коли ви фактично використовуєте її).

Пошук рішення

Коли я почав шукати способи створити базу знань з безпеки в AWS, місце, де я міг би зберігати всю свою документацію з безпеки в одному місці та дозволити іншим легко її запитувати, я помітив, що більшість блогів рекомендують використовувати Bedrock з векторною базою даних Amazon OpenSearch Service. Однак багато з них закінчувалося попередженням: "Після тестування, ви повинні видалити свій OpenSearch домен, інакше ви отримаєте великий рахунок." Дійсно, OpenSearch може стати дуже дорогим.

Я знайшов Aurora PostgreSQL як ще один варіант для зберігання документів. Після тестування вартість Aurora була нижча за OpenSearch, але вона все ще становила близько 1 долара на день, що більше 30 доларів на місяць. Для чогось, що використовується лише час від часу (як опитувальники безпеки), я хотів рішення з майже нульовими витратами, коли не використовувалося.

Тоді я дізнався, що якщо я оновлю Aurora PostgreSQL до версії 8.5, я можу налаштувати мінімальну потужність на 0. Це дозволяє зробити вартість 0 доларів коли не використовується. Якщо ви спробуєте використовувати рекомендований спосіб швидкого створення, ви отримаєте PostgreSQL, який не масштабується до 0, тому я написав код Terraform, щоб створити інфраструктуру для себе.

Крім того, оскільки моя головна мета полягала в обробці опитувальників безпеки, я написав дві функції Lambda:

  1. Sync Function: Кожного разу, коли я завантажую нові документи безпеки в S3 бакет, вони додаються в мою базу знань на основі Aurora.
  2. Q&A Function: Я можу завантажити текстовий файл з питаннями в інший S3 бакет; Lambda запитує базу знань через Bedrock і потім зберігає відповіді як CSV в тому ж бакеті.

У моїй конфігурації я використовував Anthropic Claude для генерації відповідей. Однак змінні Terraform у моєму репозиторії дозволяють налаштувати, який модель ARN ви хочете використовувати. Звичайно, ці відповіді потребують перегляду, але наявність першого проходу пришвидшує процес.
Чим більше опитувальників ви заповнюєте та завантажуєте в свою базу знань, тим кращою стає ваша система з часом.

Як працює інфраструктура

Aurora PostgreSQL v8.5

  • Зберігає вашу документацію та політики безпеки в таблиці, яка підтримує пошук за схожістю векторів (pgvector).
  • Використовує мінімальну потужність 0, тому ви нічого не платите, коли вона не використовується.

Amazon Bedrock

  • Відповідає за отримання потрібних документів і генерацію тексту (підхід Retrieval-Augmented Generation).
  • Підключається до вашої бази знань Aurora через конфігурацію “knowledge base”.
  • У коді Terraform ви можете вказати, яку модель LLM ARN використовувати (Anthropic Claude, Amazon Titan тощо).

AWS Lambda та S3

  • Інгестація даних: Одна функція Lambda спостерігає за новими файлами в бакеті S3 і завантажує їх в Aurora.
  • Q&A: Інша функція Lambda читає файл з питаннями з іншого бакету S3, викликає Bedrock для отримання відповідей і зберігає результати як CSV.

Спробуйте це

Повний код Terraform доступний тут: adanalvarez/bedrock-secure-questionnaire-automation

У цьому репозиторії ви знайдете всі модулі terraform для налаштування Aurora Serverless, бакетів S3, функцій Lambda та бази знань Bedrock.

Підсумок

Коли опитувальники з безпеки неможливо уникнути, автоматизація за допомогою LLM може заощадити час. Зберігаючи ключові документи та попередні відповіді в безпечній, запитуваній базі знань, ви можете швидко генерувати відповіді та скоротити повторювану роботу. Цей підхід допомагає зберігати витрати на мінімальному рівні, коли ви не використовуєте його активно, що ідеально підходить для завдання, яке, сподіваємося, не трапляється кожного дня!

Перекладено з: DIY — Building a Cost-Effective Questionnaire Automation with Bedrock

Leave a Reply

Your email address will not be published. Required fields are marked *