LEX — AI Legal Platform for Law Firms

AI-powered legal analysis platform for law firms and corporate counsel.

Features

Resources

Blog Articles

Technology

Built on AWS (EC2, Bedrock Claude AI, ALB, WAF, S3, ACM, KMS). PostgreSQL, Redis, Qdrant vector database. TypeScript, React, Node.js.

Start free — 50 credits on registration. Sign up

TECH 7 хв

AWS Bedrock як LLM-провайдер: від OpenAI fallback до Claude + Nova Pro

Один SDK замість двох бібліотек. IAM замість API-ключів. Дані в ЄС замість США. Єдиний білінг замість двох інвойсів. Ось як ми перевели весь fallback-шар на AWS Bedrock — і чому це змінило більше, ніж ми очікували.

AWS Bedrock як LLM-провайдер: від OpenAI fallback до Claude + Nova Pro

Як один PR змінив архітектуру fallback-шару і чому API-ключі — це вчорашній день


Проблема: два API-ключі, два білінги, нуль гарантій

LEX AI обробляє тисячі юридичних запитів щодня. Кожен запит — це виклик LLM: класифікація наміру, пошук по базі, аналіз рішення суду, генерація відповіді. Коли OpenAI лягає (а це трапляється частіше, ніж хотілося б), платформа має продовжувати працювати.

Раніше ми використовували Anthropic API як fallback-провайдер. Це працювало, але створювало низку проблем:

Проблема Наслідок
Два окремі API-ключі Ротація секретів x 2, ризик витоку x 2
Два білінги Щомісячна звірка двох інвойсів, неможливість Reserved Capacity
Дані летять у США Anthropic API не гарантує EU-резидентність
Rate limits на рівні ключа При сплеску навантаження fallback теж обмежений
Round-robin провалився Ми вже писали про це — різні формати відповідей ламали парсинг

Нам потрібен був єдиний fallback-провайдер, який дає доступ до кількох моделей через один SDK, з IAM-авторизацією і даними в межах ЄС.

Рішення: AWS Bedrock

AWS Bedrock — це managed-сервіс, який надає доступ до моделей різних вендорів через єдиний API. Один SDK, одна авторизація (IAM), один білінг, вибір регіону.

Через Bedrock ми отримали доступ одразу до двох сімейств моделей:

Budget-aware модельні тіри

Наш ModelSelector вже підтримував три тіри продуктивності. Ми просто замінили fallback-моделі:

Тір Призначення Primary (OpenAI) Fallback (Bedrock)
quick Класифікація, роутинг gpt-5-nano Amazon Nova Micro
standard Виконання тулів, сумаризація gpt-5-mini Amazon Nova Lite
deep Юридичний аналіз, патерни gpt-5.1 Amazon Nova Pro

Nova Micro і Nova Lite закривають дешеві задачі, а Nova Pro — повноцінна альтернатива для складного аналізу. Claude через Bedrock залишається доступним для випадків, де потрібна саме його якість reasoning.

Міграція: що змінилось у коді

До: два клієнти, два формати

// Було: пряме підключення до Anthropic API
import Anthropic from '@anthropic-ai/sdk';

const anthropic = new Anthropic({
  apiKey: process.env.ANTHROPIC_API_KEY, // ще один секрет
});

Після: єдиний AWS SDK

// Стало: Bedrock через AWS SDK
import {
  BedrockRuntimeClient,
  ConverseCommand,
} from '@aws-sdk/client-bedrock-runtime';

const bedrock = new BedrockRuntimeClient({
  region: 'eu-central-1', // дані залишаються в ЄС
  // IAM авторизація — ніяких API-ключів
});

Ключова зміна — Converse API. Це уніфікований інтерфейс Bedrock, який приймає однаковий формат повідомлень незалежно від моделі. Той самий код працює і для Nova Pro, і для Claude через Bedrock. Ніякого парсингу різних форматів — проблема, яка вбила наш round-robin.

Авторизація: IAM замість API-ключів

Це, мабуть, найбільший виграш. Замість зберігання ANTHROPIC_API_KEY у .env-файлах на кожному сервері, ми використовуємо IAM-роль EC2-інстансу:

{
  "Effect": "Allow",
  "Action": [
    "bedrock:InvokeModel",
    "bedrock:InvokeModelWithResponseStream"
  ],
  "Resource": "arn:aws:bedrock:eu-central-1::foundation-model/*"
}

Ніяких секретів у змінних оточення. Ніякої ротації ключів. Credentials беруться автоматично з Instance Metadata Service. Одним вектором атаки менше.

Результати

Метрика До (Anthropic API) Після (Bedrock) Зміна
Fallback latency (p50) 1.8s 1.2s -33%
Fallback latency (p99) 8.4s 4.1s -51%
Вартість fallback-запитів $0.018/запит $0.011/запит -39%
Секретів у .env 4 (2 OpenAI + 2 Anthropic) 2 (тільки OpenAI) -50%
Дані в EU Не гарантовано eu-central-1 Гарантовано

Зниження latency пояснюється двома факторами: EC2 -> Bedrock — це трафік всередині AWS-регіону (без виходу в інтернет), а Nova Pro просто швидша за Claude для типових юридичних задач.

Provisioned Throughput: наступний крок

Bedrock дозволяє купити Provisioned Throughput — гарантовану пропускну здатність для конкретної моделі. Для нас це означає:

Ми плануємо активувати Provisioned Throughput для Nova Pro на deep-тірі, де передбачуваність найважливіша — юридичний аналіз не може чекати в черзі.

Висновки

Один PR, але архітектурна зміна відчутна:

  1. IAM замість API-ключів — менше секретів, менше ризику
  2. EU data residency — дані не покидають eu-central-1
  3. Єдиний білінг — AWS Cost Explorer замість двох інвойсів
  4. Converse API — один формат для всіх моделей
  5. Nova Pro — дешевший і швидший fallback для юридичного аналізу

Якщо ваша платформа використовує кілька LLM-провайдерів і ви втомились від зоопарку API-ключів — подивіться на Bedrock. Це не срібна куля, але для fallback-сценарію це найелегантніше рішення, яке ми знайшли.