Skip to main content
DecimalAI is designed to coexist with your existing observability tool, not replace it overnight. Most teams adopt DecimalAI for the manifest-aware regression check while keeping their existing tool for general trace search. This page maps the concepts so you can wire up DecimalAI quickly.

Quick decision: replace or coexist?

Coexist (recommended for most)

Send the same traces to both tools. DecimalAI adds the manifest layer; your existing tool keeps doing what it does. Switching cost: ~10 minutes.

Migrate fully

Replace your existing tool entirely. Larger change — see the per-tool sections below for what features map cleanly and what doesn’t.

LangSmith → DecimalAI

LangSmith conceptDecimalAI equivalentNotes
RunTraceSame atomic unit — input + LLM calls + output.
ProjectAgentLangSmith projects are bag-of-runs; DecimalAI agents are named entities with manifest history. Set agent_name in decimalai.init().
DatasetDatasetBoth formats supported. Pull a LangSmith dataset and pipe rows into POST /api/v1/datasets/{id}/build.
AnnotationEval ScoreLangSmith feedback maps to a DecimalAI eval score via source="langsmith". Use decimalai.push_langsmith_scores(...).
EvaluatorEvaluatorBoth pre-built and custom evaluators supported. The signature is similar — see Evaluations.
Regression testExperimentLangSmith uses run-on-eval-set for regression; DecimalAI uses manifest impact for pre-deploy + experiments for post-deploy verification.
Coexistence pattern. Use LangChain’s standard callback handler list:
import decimalai
from langsmith.run_helpers import traceable

decimalai.init(api_key="dai_sk_...", langchain=True)
# Your existing LangSmith @traceable decorators continue to work.
# Both tools receive the same trace data via separate callback paths.

Braintrust → DecimalAI

Braintrust conceptDecimalAI equivalentNotes
Span / Experiment RunTraceIdentical model.
ProjectAgentSame as LangSmith.
Eval functionCustom evaluatorWrap your Braintrust scorer in @decimalai.eval().
DatasetDatasetUse decimalai.pull_dataset() to round-trip.
Regression checkManifest impact + ExperimentBraintrust runs evals on a new model version; DecimalAI’s regression check is structural (no eval suite needed) — add experiments on top for behavioral verification.

Langfuse → DecimalAI

Langfuse conceptDecimalAI equivalentNotes
TraceTraceSame model.
ObservationSpan or LLM CallLangfuse “observations” map to DecimalAI spans (span_type=tool/retriever/other) or LLM calls (span_type=llm).
GenerationLLM CallDirect mapping with full fidelity.
ScoreEval ScorePush via decimalai.push_custom_scores(...).
SessionSessionSame model; share session_id across traces.
Prompt management(Not built-in)DecimalAI tracks prompts as manifest components but doesn’t have prompt-management UI. Continue using Langfuse for prompt registries.

Phoenix / Arize → DecimalAI

Both Phoenix and Arize emit OpenTelemetry GenAI spans. DecimalAI consumes OTel directly:
import decimalai
decimalai.init(api_key="dai_sk_...", otel=True)
# Phoenix instrumentation continues to emit spans; DecimalAI receives them.
Phoenix conceptDecimalAI equivalent
SpanSpan (1:1)
DatasetDataset
AnnotationEval Score

Bulk import of historical traces

If you have a JSONL backup from any of the above tools, use either the CLI or the REST API:
decimalai traces import historical.jsonl
Each trace payload follows the same shape as POST /api/v1/traces. Imported traces:
  • Count at half rate against your traces_ingested quota
  • Get tagged with source_type="imported"
  • Are deduplicated by trace_id — re-running is safe
See the Import endpoints for the full schema.

What doesn’t migrate cleanly

Be honest about gaps:
  • Prompt registries. DecimalAI tracks prompts inside manifests but isn’t a dedicated prompt-management tool. If you use LangSmith Prompts or Langfuse Prompt Management for non-engineers, keep using it.
  • Tracing UI feature parity. Our trace viewer covers the common case (timeline tree + LLM call inspection) but doesn’t yet have feature parity with mature observability tools for things like service-level dependency graphs or distributed tracing across non-LLM services.
  • Pre-existing eval datasets. Datasets transfer (we accept JSONL of any shape), but the eval definitions don’t — you’ll re-implement custom evaluators.

Get migration help

For enterprise migrations (>500k historical traces, custom eval definitions, SSO setup), email support@decimal.ai — we’ll do the schema mapping and one-time backfill for you.