Skip to main content
If you’re running a self-hosted Laminar instance, point the SDK at it by passing baseUrl, httpPort, and grpcPort to evaluate(). Evaluations talk to Laminar over two channels: HTTP for evaluation metadata, datapoints, and scores; gRPC for the OpenTelemetry traces.

Configuration

baseUrl / base_url is the scheme + host only. Do not include a port in it; the ports go in httpPort / grpcPort.

evaluate parameters

See the SDK reference for the full TypeScript and Python signatures.

Why both HTTP and gRPC

  • HTTP (httpPort) carries the bookkeeping: evaluation name, group, datapoints, scores, executor outputs.
  • gRPC (grpcPort) carries the OpenTelemetry spans: every LLM call, tool call, evaluator, and the wrapping EVALUATION / EXECUTOR / EVALUATOR spans.
Both have to be reachable from the machine running the evaluation. If only HTTP is open, the evaluation run appears with datapoints and scores but no traces.

Hosting options

For how to actually run a self-hosted Laminar (Docker Compose for single-node, Helm for Kubernetes) see Self-hosting.

Next steps

Quickstart

Write your first evaluation against your self-hosted instance.

Self-hosting

Docker Compose and Helm deployment options.

Manual API

Use LaminarClient.evals for finer control; the same base-URL + port config applies.

SDK reference

Full parameters for evaluate and related SDK types.