How googlecloudplatform/dgem works
dgem is a zero-shot decision engine: users supply typed decision templates and input, and the model returns constrained choices with probabilities and uncertainty. Its main workflow runs through the CLI or HTTP gateway into template-based decision execution against an inference backend; hesitant decisions can be escalated to Gemini. The repository also exposes MCP and an embedded Decision Studio, plus evaluation, permutation, and batch tooling. Several links below are dashed because the relevant implementation was not sampled; documented capabilities are retained without implying unobserved call chains.
Main entry points: client.go Inference client · serve.go HTTP gateway · dgem-studio.ts Studio application · decide.go CLI commands
Components 22
User interfaces
- CLI commands
cmd/decide.go - HTTP gateway
cmd/serve.go - MCP server
cmd/mcp.go
Decision runtime
- SystemOne API
pkg/decisionindex/engine.go - Template engine
pkg/template/engine.go - Inference client
pkg/client/client.go - Calibration
cmd/temperature_fit.go - Taxonomy expansion
cmd/expand_taxonomy.go
Model integrations
- Gemini cascade
cmd/cascade_gemini.go - Vertex AI
- Cloud Run inference
deploy/cloudrun/server/structured_server.py
Evaluation and batch
- Batch worker
deploy/batch/batch_worker.py - Benchmark commands
cmd/bench_calibration.go - Regression matrix
scripts/bench_matrix.py - Order-bias analysis
pkg/permutation/permutation.go - Decision index
pkg/decisionindex/engine.go
Decision Studio
- Studio application
studio/src/dgem-studio.ts - Studio batch runner
studio/src/components/dgem-batch-runner.ts - Concept visualizer
studio/src/components/dgem-concept-visualizer.ts - Hesitation display
studio/src/hesitation.ts - Embedded assets
studio/embed.go
Other components
- Decision user
Connections 29
- Decision user → CLI commands: submits decision
- Decision user → HTTP gateway: sends request
- Decision user → MCP server: uses tools
- Decision user → Studio application: uses Studio
- CLI commands → Template engine: uses policy
- CLI commands → Inference client: requests inference
- HTTP gateway → Template engine: runs decisions
- HTTP gateway → SystemOne API: routes requests
cmd/serve.go - HTTP gateway → Inference client: selects backend
cmd/serve.go - SystemOne API → Inference client: scores questions
pkg/decisionindex/engine.go - MCP server → Template engine: lists policies
- MCP server → Inference client: requests inference
- Inference client → Vertex AI: calls endpoint
- Inference client → Cloud Run inference: calls endpoint
- HTTP gateway → Gemini cascade: escalates answers
- Gemini cascade → Vertex AI: calls Gemini
- CLI commands → Calibration: fits temperature
- Benchmark commands → Inference client: evaluates deployment
cmd/bench_calibration.go - Benchmark commands → Order-bias analysis: measures order bias
cmd/bench_calibration.go - Regression matrix → Inference client: tests targets
scripts/bench_matrix.py - Decision index → Inference client: scores decisions
pkg/decisionindex/engine.go - Batch worker → Cloud Run inference: starts server
deploy/batch/batch_worker.py - Studio application → Embedded assets: loads embedded app
studio/embed.go - Studio application → Studio batch runner: renders batch tool
studio/src/dgem-studio.ts - Studio application → Concept visualizer: renders concepts
studio/src/dgem-studio.ts - Studio application → HTTP gateway: calls API
- Studio application → Hesitation display: displays uncertainty
studio/src/dgem-studio.ts - Concept visualizer → Hesitation display: computes bands
studio/src/components/dgem-concept-visualizer.ts - Studio batch runner → HTTP gateway: submits decisions