Architectural Manifesto & Quick Start
Добро пожаловать в документацию Страж СУА — единой точки входа (AI Gateway) для ваших B2B-инфраструктур. В этом документе приведен манифест архитектуры и быстрый старт для разработчиков.
Архитектура: Инфографика
Здесь мы можем встроить кастомный React-компонент, который наследует стили из вашего CSS-фреймворка:
Маршрутизация
Динамический выбор LLM и fallback-сценарии
Безопасность
Фильтрация PII и контроль доступа (RBAC)
Rate Limit
Управление квотами и защита от DDoS
Аналитика
Детальный аудит промптов и использования токенов
Быстрый старт (Настройка Lua)
Страж СУА использует Lua-плагины для быстрой и эффективной обработки запросов. Ниже пример плагина для rate-limiting.
local kong = kong
local cjson = require "cjson"
local _M = {}
function _M.access(conf)
local ratelimit = conf.limit
local current_usage = get_current_usage()
if current_usage > ratelimit then
return kong.response.exit(429, {
message = "Too Many Requests",
error_code = "RATE_LIMIT_EXCEEDED"
}, {
["Content-Type"] = "application/json"
})
end
end
return _MВидео: Принцип работы
Посмотрите краткое демо, чтобы понять, как система решает задачи маршрутизации LLM:
Интеграция с JSON & Go
Конфигурации маршрутов могут быть определены в легком JSON:
{
"name": "openai-proxy",
"paths": ["/v1/chat/completions"],
"upstream": {
"url": "https://api.openai.com/v1/chat/completions"
},
"plugins": [
{ "name": "ai-proxy" }
]
}А микросервисы расширения часто пишутся на Go:
package main
import (
"fmt"
"net/http"
)
func statusHandler(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "application/json")
fmt.Fprintf(w, `{"status": "ok", "service": "strazh-sua"}`)
}
func main() {
http.HandleFunc("/status", statusHandler)
http.ListenAndServe(":8080", nil)
}Готовы начать? Переходите к следующим разделам в боковом меню!