pgx
PGX — Lightweight Postgres for AI agents. Written in Rust. Thousands of isolated databases in one runtime. 🐘
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證OWL (Online WattLab) — measures the real device-side energy cost of video transcoding and AI inference on physical hardware with a calibrated smart plug, not models or estimates. Every result carries a traffic-light confidence rating.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗WattLab measures the real device-side energy cost of video transcoding and AI inference on physical hardware — using a calibrated smart plug, not estimates or models.
Built by Greening of Streaming, a French NGO working on the environmental impact of streaming infrastructure.
Live instance: wattlab.greeningofstreaming.org
Current release: v1.0.0 · the running build stamps its exact commit (e.g. OWL v1.0.0 · <sha> · <date>, auto-derived from git describe) · Report an issue or feature request
Sister projects (GoS energy-measurement toolkit): LEM — Local Energy Measurement: measures one or more smart plugs over the LAN (no TP-Link cloud) and can stream into REM · REM — Remote Energy Measurement: fleet-wide collection + exploration in TimescaleDB.
| Test | What you get |
|---|---|
| Video transcode | Energy (Wh) and time for CPU vs GPU — H.264, H.265, AV1 at matched ABR bitrates. "Compare all codecs" runs all six presets in one go. |
| LLM inference | mWh per output token, tokens/sec — a dynamic model ladder ~1B–20B (CR-050): ollama pull <name> + tick in /settings; live panel on /llm. |
| Image generation | Wh per image — distilled diffusion panel ~0.6B–3.5B (live panel on /image). "Compare Models" fixes prompt + seed so the model is the only variable. |
| RAG energy test | Energy cost of retrieval-augmented generation vs plain LLM — baseline / rag / rag_large compared side-by-side |
All figures are delta above idle baseline, sampled at 1-second intervals via a Tapo P110 smart plug on the mains supply.
Scope: device layer only. Network, CDN, and CPE are explicitly excluded. No amortised training cost in LLM measurements. (One extension: since 2026-07 the findings catalog also carries client-device decode panels measured on a separate rig under the same protocol — each states its own device scope.)
These exclusions are deliberate. Scope statements appear on every result.
GoS1 — lab server in France
| Component | Spec |
|---|---|
| CPU | AMD Ryzen 9 7900, 24 cores |
| GPU | NVIDIA RTX 5080, 16 GB VRAM (NVENC / CUDA) |
| RAM | 61 GB |
| OS | Ubuntu 24, kernel 6.17 |
| Power meter | Tapo P110 smart plug (mains, 1s polling) |
| Idle draw | ~79 W (display-blanked) |
GPU swapped from an AMD Radeon RX 7800 XT in May 2026; AMD-era baselines and measurements are preserved in docs/gpu_swap_amd_baseline.md.
Published findings live at /findings — a catalog of citable energy measurements, each one backed by a stored result file. Examples currently published:
Ship-of-Theseus honesty: when methodology changes (full GPU pipeline, ABR rate control, VMAF measurement), older findings are versioned via supersedes: in the finding file — citable URLs stay stable; the new reading lives alongside, marked as the current one.
Three tiers, one URL — https://wattlab.greeningofstreaming.org. The same page renders different controls depending on who's looking:
| Tier | Who | How | What's unlocked |
|---|---|---|---|
| Anonymous | Public visitors | Just open the URL — Anonymous tier resolves automatically | Curated workloads, full guided tour at /demo, prev-result panels populated from curated demo runs |
| Member | GoS members on the allowlist | Sign in via the magic-link form on /auth/sign-in (email-based) | Custom prompts / ffmpeg commands, all-codecs sweeps, RAG corpus uploads, video uploads ≤ 1 GB, CSV/JSON bulk export |
| Lab | Operators on GoS1 | LAN address (192.168.x.x) or SSH tunnel | Full settings, variance calibration, thermal-recovery probe, all jobs unscoped |
Anonymous quick-look: https://wattlab.greeningofstreaming.org/demo — the nine-step Guided Tour with predetermined demo jobs (H.265 CPU vs GPU, a representative LLM run, SD-Turbo, RAG comparison).
Lab via SSH tunnel:
ssh -p 2222 -L 8000:localhost:8000 [email protected]
# then open http://localhost:8000
The capability matrix is product copy on /demo step 6, and lives in code at wattlab_service/capabilities.py (one row per capability). All routes gate on capabilities, not raw tier compares.
Requires GoS1 or equivalent hardware (P110 plug, GPU optional — NVENC/CUDA or VAAPI/ROCm auto-detected).
pip install -r requirements.txt # at repo root; see CLAUDE.md for full package list
cp .env.example .env # add TAPO_EMAIL, TAPO_PASSWORD, TAPO_P110_IP
cd wattlab_service
uvicorn main:app --host 0.0.0.0 --port 8000
The service runs as a systemd unit on GoS1 (systemctl status wattlab).
Run the tests: cd wattlab_service && pytest tests/ — the current count is in TESTING.md (it drifts upward and is deliberately not quoted here; the suite must be run from wattlab_service/ — its conftest.py sets up the import path).
ARCHITECTURE.md — module map and request/job flows (best orientation doc; start here)WATTLAB_SPEC.md — original v0.2 product spec (April 2026, mostly delivered; current architecture in CLAUDE.md)JOURNAL.md — session-by-session build log with findingsTESTING.md — three-tier testing strategy (pytest suite + manual checklist)STAGING.md — staging mode (swap onto a feature branch with a maintenance page)bin/README.md — operator-facing shell scripts (stage-on, stage-off, probe-thermal-recovery, owl-maintenance-watchdog)systemd/README.md — systemd unit files for OWL servicesCHANGE_REQUESTS.md — active design / change requestsCHANGE_REQUESTS_CLOSED.md — shipped CRs archivedocs/wattlab_traffic_light_confidence.md — Tania's statistical framework for the confidence flag (CR-028 Phase 2 spec)docs/wattlab_parameters_audit.md — every settings parameter classified and the path to principled valuesdocs/result_envelope.md — the mode → renderer contract for every persisted result typedecode_bench/README.md — the client decode rig (devices, plugs, protocol, origin)docs/vp9_oneoff_2026-08.md · docs/pi_decode_energy_2026-07.md · docs/encode_parity_calibration_2026-06.md — campaign reportsdocs/methodology_vs_code_2026-08-19.md — where /methodology and the implementation disagree (owner review list)GOS1_INFRA.md — the server: disks, network, backups, incident logCLAUDE.md — project context for Claude Code (AI assistant config)