INTEGRATIONS · Eval frameworks we capture from

Every eval framework your team runs.One wire. One ledger.

Seven tiles, three emit pills on each, one wire (/api/eval-records) — so a technical evaluator can confirm coverage in one glance instead of reading docs. Read the deep per-framework bodies on /docs/sdk.

Python §1

Wire your existing Python eval suite.

pip install, mirror a finalizer on your scorer, and every passing/failing test posts a signed record to /api/eval-records.

DeepEval

DeepEval is the pytest-shaped eval suite for LLM apps — metrics like answer relevancy, faithfulness, and hallucination run as unit tests. Plumbline captures DeepEval runs as signed records so a passing or failing test in CI lands on the ledger alongside the metric output your team already trusts.

Install

Python · pip
paste-run
pip install deepeval

What gets emitted

  • Run scores
  • Reviewer notes
  • Signed receipts

Full reference

View DeepEval docs
RAGAS

RAGAS scores retrieval-augmented generation on faithfulness, context precision, and answer relevance. Capture each RAGAS run as a signed Plumbline record so the same context-window + retriever-config your RAGAS report cites becomes a replayable artifact on the ledger.

Install

Python · pip
paste-run
pip install ragas

What gets emitted

  • Run scores
  • Reviewer notes
  • Signed receipts

Full reference

View RAGAS docs
OpenAI Evals

OpenAI Evals runs JSON-defined tasks against an OpenAI-compatible completion endpoint. Register a Plumbline final_summarize step in your eval template and every Eval invocation in CI pushes a signed (input, output, score) record to the ledger alongside the oaieval summary output.

Install

Python · pip
paste-run
pip install openai-evals

What gets emitted

  • Run scores
  • Reviewer notes
  • Signed receipts
Braintrust (Python)

Braintrust's Eval() / braintrust SDK runs end-to-end eval loops with built-in scoring. Wrap your scorer so each braintrust run forwards (input, output, score) to Plumbline's /api/eval-records — same wire you can already see on /docs/sdk#Braintrust — so the run shows up on /dashboard/runs and your Braintrust project simultaneously.

Install

Python · pip
paste-run
pip install braintrust

What gets emitted

  • Run scores
  • Reviewer notes
  • Signed receipts

TypeScript §2

Cover the Node side of the eval pipeline.

npm install and forward each scorer output to /api/eval-records from a Node init — same wire as the Python tiles.

Braintrust (TypeScript)

Same Braintrust eval loop on the Node side — braintrust.eval() with custom scorers. Forward each scorer's (input, output, score) tuple to Plumbline's /api/eval-records so the same TS run shows up on /dashboard/runs and your Braintrust project simultaneously.

Install

TypeScript · npm
paste-run
npm install braintrust

What gets emitted

  • Run scores
  • Reviewer notes
  • Signed receipts
Vercel AI SDK evals

The Vercel AI SDK's experimental eval harness scores streams from generateText / streamText against test data. Capture each scored run as a signed Plumbline record from a Node init file so the stream token counts, model ids, and scorer outputs are all chained into the ledger.

Install

TypeScript · npm
paste-run
npm install ai @ai-sdk/eval

What gets emitted

  • Run scores
  • Reviewer notes
  • Signed receipts

Generic HTTP §3

In-house scorer? No SDK required.

POST the same EvalRecordCreate envelope with whatever tooling your team already uses — the wire is what every other tile already posts.

Any framework · HTTP POST

No SDK needed for a custom in-house scorer — POST the same EvalRecordCreate envelope to /api/eval-records with your team's tooling of choice. The wire is what every other tile in this directory already posts; the framework integration is whatever wraps it.

Install

curl · POST /api/eval-records
paste-run
curl -X POST \
  https://plumbline-ai-9.polsia.app/api/eval-records \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer pl_<polsia-api-key>" \
  -d '{
    "model_id":  "<polsia-model-id>",
    "run_id":    "custom-framework-001",
    "version":   "<polsia-model-version>",
    "input":     {"prompt":"<your-input>"},
    "output":    {"text":"<your-output>"}
  }'

What gets emitted

  • Run scores
  • Reviewer notes
  • Signed receipts