Skip to content
Back to Portfolio
AI / Machine LearningBeta

Kagami — Multi-provider LLM Gateway

Kagami — Multi-provider LLM Gateway

An internal LLM gateway that fronts multiple providers behind one unified API, with PII redaction, cost-aware routing, rate limiting, and audit logging. Built on a Go control plane, a Rust data plane, Envoy ext_authz, and Microsoft Presidio with Japanese-language recognizers.

2026 Ongoing (internal beta) 2026-04
#LLMゲートウェイ#PII#コスト最適化#Envoy#マルチプロバイダ

Live Demo

Preview the actual application interface

DEMO
app.llm.jp/dashboard
OpenAI
gpt-4o-mini
healthy318ms
Anthropic
claude-haiku-4.5
healthy412ms
Bedrock
titan-express
degraded1.2s
local vLLM
qwen2.5-32b-it
healthy184ms

Cost-routing decisions

live
req_8f4aSummarize quarterly earnings…claude-haiku-4.5$0.04
req_8f49Generate SQL for revenue reportlocal/qwen2.5-32b$0.12
req_8f48Translate JP → EN legal clausegpt-4o
req_8f47Classify support ticket intentlocal/qwen2.5-32b$0.08
req_8f46Extract entities from contractclaude-haiku-4.5$0.03
saved today: $18.42 34% cost reduction vs single-model

Throughput

-1h-30mnow
current rps130
peak (5m)148
avg tokens/req428

Latency p50 / p95 per provider

OpenAIp50 280ms · p95 520ms
Anthropicp50 360ms · p95 680ms
Bedrockp50 1100ms · p95 2400ms
vLLMp50 150ms · p95 290ms
Circuit breakers
openai.chat0/20
anthropic.messages1/20
bedrock.titan12/20
vllm.local0/20

PII redaction log

last 1h · internal benchmark
emailuser@●●●●●.com×42
phone_jp090-●●●●-●●●●×18
credit_card4●●● ●●●● ●●●● ●●42×3
my_number●●●●-●●●●-●●●●×1
ip_address192.168.●●●.●●●×11
75 PII tokens redacted · 0 leaks to provider APIs · presidio + regex rules

Challenge

When apps call OpenAI, Anthropic, Bedrock, and local vLLM directly, API-key management, cost rollups, PII-leak risk, and rate limits scatter across teams — making audit and governance painful.

Solution

Envoy ext_authz aggregates traffic; the Go control plane evaluates per-tenant rules and budget caps; the Rust data plane redacts PII inline on streaming responses. Presidio gained Japanese recognizers (names, addresses, My Number), and weighted routing balances per-token cost against latency.

Results

  • Consolidated API-key management surface from 12 apps to 1
  • 96.5% PII-detection rate on test documents (internal evaluation)
  • Estimated -22% monthly token spend via cost-aware routing (internal simulation)
  • Every request stamped with trace_id and audit log, wired into SIEM
Key Metrics

Measured Impact

PII検出率(社内テスト)

96.5%

内部評価

APIキー集約

1拠点

12→1

トークン消費

-22%

社内シミュレーション

p95レイテンシ追加

+8ms

Envoy経由

Features

What it does

ガバナンス

PII赤字

日本語氏名・住所・マイナンバーをストリーム中に検出。

監査ログ

全リクエストにtrace_idと入出力ハッシュを記録。

ルーティング

コスト加重

トークン単価とSLOで最適プロバイダを選択。

フォールバック

障害時に代替プロバイダへ自動切替。

Architecture

System Layers

Layered architecture showing components, responsibilities, and data flow.

L1

Layer

エッジ層

全LLMトラフィックをEnvoyで集約。

Envoyext_authzTLS終端
L2

Layer

コントロールプレーン

Tenant/予算/ルートを管理。

GogRPCPostgreSQLVault
L3

Layer

データプレーン

ストリーミング中にPIIを逐次赤字。

RustTokioPresidio JA
L4

Layer

観測層

コスト・レイテンシ・検出数をダッシュボード化。

OpenTelemetryPrometheusLoki
Development Process

How we built it

Step 1

API設計

OpenAI互換+拡張ヘッダを定義。

Deliverables

  • OpenAPI
  • Protobuf
Step 2

PII検出

Presidio JA認識器の精度評価。

Deliverables

  • 評価レポート
  • パターン辞書
Step 3

ルーティング戦略

加重/フォールバック/サーキットブレーカ。

Deliverables

  • ルールDSL
  • シミュレータ
Step 4

運用基盤

Helmチャートとランブック整備。

Deliverables

  • Helm
  • Runbook
Roadmap

Delivery Timeline

  • Phase 1Done2026-04

    ルーティング基盤

    Envoy+Go control planeでプロバイダ振り分け。

  • Phase 2In Progress2026-05

    PII赤字

    PresidioのJA拡張とストリーミング対応。

  • Phase 3Planned2026-06

    コスト最適化

    トークン予算とSLOベースの加重ルーティング。

  • Phase 4Planned2026-07

    監査ログ統合

    SIEM連携と長期保管ポリシー。

Team

Who built it

3engineers

Roles

  • プラットフォームエンジニア (リード)
  • Rustエンジニア
  • セキュリティエンジニア
Tech Stack

Tools & Platforms

Backend

Go 1.22Rust

Data

RedisPostgreSQL

Infrastructure

OpenTelemetryKubernetes

Other

Envoyext_authzMicrosoft PresidiogRPCProtobufHelmVault
Build with KGA

Considering a similar project?

We will propose the best solution for your business needs.

Discuss Your Project