Skip to content

Latest commit

 

History

History
52 lines (34 loc) · 2.19 KB

File metadata and controls

52 lines (34 loc) · 2.19 KB

Технічний дизайн API та системна архітектура (v1.1)

Цей документ визначає технічні стандарти та архітектурні стилі, що застосовуються в проекті.


1. Архітектурні стилі API (Architectural Styles)

Проект базується на гібридній моделі для забезпечення максимальної інклюзивності:

1.1. REST (HTTPS/JSON)

  • Застосування: Основний канал зв'язку для методів generateContent, analyzeData та generateImages.
  • Протокол: Безстатусний (Stateless), обмін даними у форматі JSON.
  • Моделі: gemini-3-flash-preview, gemini-3-pro-preview.

1.2. AsyncAPI (WebSockets)

  • Застосування: Реалізовано в модулі LiveSession для Gemini Live API.
  • Протокол: Двосторонній (Full-duplex) потік даних для передачі аудіо-чанків у реальному часі.
  • Модель: gemini-2.5-flash-native-audio-preview-12-2025.

2. Формати даних (Data Formats)

2.1. Текстові дані

  • Кодування: UTF-8.
  • Формат: JSON для запитів/відповідей.

2.2. Аудіо дані (Streaming)

  • Вхід: Raw PCM, 16-bit, 16kHz.
  • Вихід: Raw PCM, 16-bit, 24kHz.

3. Безпека та Аутентифікація

  • Метод: API Key (process.env.API_KEY).
  • Шифрування: TLS 1.3 для всіх типів з'єднань.

4. Обробка помилок

Стиль API Обробка помилок
REST Стандартні HTTP коди (429, 401, 500) + Retry logic.
AsyncAPI Обробка подій onerror та onclose з автоматичним перепідключенням або fallback до тексту.

5. Стилістика (Persona Style)

Атрибут: "Емпатично-інклюзивна персона" (Pani Dumka Style).