Skip to content
制作実績一覧
AI / 機械学習Beta

Kagami — マルチプロバイダLLMゲートウェイ

Kagami — Multi-provider LLM Gateway

複数LLMプロバイダを統一APIで束ね、PII赤字、コスト最適ルーティング、レート制御、監査ログを備える社内LLMゲートウェイ。GoのコントロールプレーンとRustのデータプレーン、Envoy外部認可、Microsoft Presidioによる日本語対応PII検出を組み合わせる。

2026 進行中 (内部ベータ) 2026-04
#LLMゲートウェイ#PII#コスト最適化#Envoy#マルチプロバイダ

ライブデモ

実際のアプリケーション画面のプレビュー

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

課題

複数アプリからOpenAI/Anthropic/Bedrock/ローカルvLLMを直接叩くと、APIキー管理、コスト集計、PII漏洩リスク、レート制御が各チームに分散し、監査とガバナンスが困難だった。

ソリューション

Envoy ext_authzでリクエストを集約し、GoのコントロールプレーンでTenantルールとコスト上限を評価、Rustデータプレーンでストリーミング応答を逐次PII赤字。Presidioに日本語認識器(氏名・住所・マイナンバー)を追加し、トークンコストとレイテンシに基づく加重ルーティングを実装。

成果

  • 社内アプリのAPIキー管理拠点を12→1に集約
  • PII赤字でテスト文書の個人情報検出率96.5%(内部評価)
  • コストルーティングで月額トークン消費を推定-22%に抑制(社内シミュレーション)
  • 全リクエストにtrace_idと監査ログを付与し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エンジニア
  • セキュリティエンジニア
技術スタック

Tools & Platforms

Backend

Go 1.22Rust

Data

RedisPostgreSQL

Infrastructure

OpenTelemetryKubernetes

Other

Envoyext_authzMicrosoft PresidiogRPCProtobufHelmVault
Build with KGA

同様のプロジェクトをお考えですか?

お客様のビジネスに最適なソリューションをご提案いたします。

プロジェクトを相談する