neuron-explorer
Steering-first neuron explorer for Qwen3.5-4B: push every MLP neuron, keep every rollout, browse the results
翻译准备中
将 Portkey 和 LangSmith LLM 流量转换为 OpenTelemetry 指标和日志。供应商中立的 OTLP,可发送至 Grafana Cloud 或任何收集器——选举领袖且内容无关。
AI 翻译
Turn Portkey and LangSmith LLM traffic into OpenTelemetry metrics and logs. Vendor-neutral OTLP to Grafana Cloud or any collector — leader-elected and content-free.
开发工具Go · ShellGitHub @rknightion在线运营者未确认
试用过了吗? 点一下就好,无需登录。
正在加载完整 README。 以下为已保存的摘录。
Turn Portkey and LangSmith LLM traffic into OpenTelemetry metrics and logs. A generic,
vendor-neutral integrator that pulls operational telemetry from AI-platform APIs and emits
it to Grafana Cloud (or any OTLP endpoint) as metrics and logs.
• LLM gateways (e.g. Portkey) — request/cost/token/latency/error analytics and request logs.
• LLM evaluation / observability platforms (e.g. LangSmith) — project stats, eval-score
facets, and a content-free run index.查看完整 README ↗Turn Portkey and LangSmith LLM traffic into OpenTelemetry metrics and logs. A generic, vendor-neutral integrator that pulls operational telemetry from AI-platform APIs and emits it to Grafana Cloud (or any OTLP endpoint) as metrics and logs.
It targets two categories of source:
genai-otel-bridge polls each source's API on a cadence, derives a vendor-neutral set of metrics and
log records, and pushes them via OTLP/HTTP. It is designed to sit on the critical
observability path for production workloads: it is highly-available (leader-elected,
single-emit), self-observing, and resilient to downstream slowness.
Content-free by design: genai-otel-bridge never requests prompt/response bodies. An outbound field
allow/deny-list governs every emitted field, enforced as a release gate — operational telemetry
(latency/tokens/cost/errors) only, never inference content.
Write a config file (config.yaml). Secrets are resolved from ${ENV} / file:/path refs at load
time, so no credentials live in the file:
emit:
telemetry:
otlp:
endpoint: ${GC_OTLP_ENDPOINT} # an OTLP/HTTP endpoint (Grafana Cloud or a local collector)
instance_id: ${GC_INSTANCE_ID}
token: ${GC_OTLP_TOKEN}
identity:
service_namespace: genai-otel-bridge
deployment_environment: ${ENV}
sources:
- type: portkey
enabled: true
base_url: https://api.portkey.ai/v1
source_instance: portkey-${ENV}
auth: { header: x-portkey-api-key, value: ${PORTKEY_API_KEY} }
loops:
analytics:
enabled: true
cadence: 60s
window: 50m
bucket_settle: 10m
max_backfill: 90m
metric_prefix: portkey_api
graphs: [requests, cost, tokens, latency, errors]
Build and run:
just build
GC_OTLP_ENDPOINT=... GC_INSTANCE_ID=... GC_OTLP_TOKEN=... ENV=dev PORTKEY_API_KEY=... \
bin/genai-otel-bridge --config config.yaml
Or deploy to Kubernetes with the bundled chart (leader-elected HA, ConfigMap checkpoint store):
helm install genai-otel-bridge ./deploy/helm -f my-values.yaml
See deploy/helm/values.yaml — every source/loop knob is surfaced there
at its default with a comment.
Feature-complete across both source vendors (Portkey, LangSmith) and both telemetry planes (metrics + logs), and green. Includes: the composition root + binary, leader-elected single-emit HA, monotonic/epoch-fenced checkpointing, the deterministic OTLP exporter, self-observability, acceptance tests (failover / outage / soak gates), a hardened Helm chart, configurable content governance, and durability tuning for the Grafana Cloud accept windows. The design was settled through independent adversarial reviews before code.
See followup.md for deferred/future work.
just check # fmt + build + vet + lint + gen + tests + hygiene — the green bar before any commit
just build # -> bin/genai-otel-bridge (version stamped via git describe)
just test # go test ./...
just lint # golangci-lint run
Requires Go 1.27+. Acceptance gates: just test-acceptance.
genai-otel-bridge is licensed under the Apache License 2.0 (Apache-2.0).
See LICENSE and LICENSING.md. Every Go source file carries an
SPDX-License-Identifier: Apache-2.0 header.