diff --git a/hugo/config/_default/menus/main.en.yaml b/hugo/config/_default/menus/main.en.yaml index 91d1c806ca0..6125f3471d6 100644 --- a/hugo/config/_default/menus/main.en.yaml +++ b/hugo/config/_default/menus/main.en.yaml @@ -5519,245 +5519,246 @@ menu: parent: llm_obs identifier: llm_obs_quickstart weight: 1 - - name: Instrumentation - url: llm_observability/instrumentation/ + - name: Terms and Concepts + url: llm_observability/quickstart/terms/ + parent: llm_obs_quickstart + identifier: llm_obs_terms + weight: 101 + - name: Build with AI + url: llm_observability/build_with_ai/ parent: llm_obs - identifier: llm_obs_instrumentation + identifier: llm_obs_build_with_ai weight: 2 - - name: Automatic - url: llm_observability/instrumentation/auto_instrumentation + - name: Instrument + url: llm_observability/instrument/ + parent: llm_obs + identifier: llm_obs_instrumentation + weight: 3 + - name: Automatic Instrumentation + url: llm_observability/instrument/auto_instrumentation parent: llm_obs_instrumentation identifier: llm_obs_instrumentation_auto - weight: 201 + weight: 301 - name: SDK Reference - url: llm_observability/instrumentation/sdk + url: llm_observability/instrument/sdk parent: llm_obs_instrumentation identifier: llm_obs_instrumentation_sdk - weight: 202 - - name: HTTP API - url: llm_observability/instrumentation/api + weight: 302 + - name: API Reference + url: llm_observability/instrument/api parent: llm_obs_instrumentation identifier: llm_obs_instrumentation_api - weight: 203 - - name: OpenTelemetry - url: llm_observability/instrumentation/otel_instrumentation + weight: 303 + - name: OpenTelemetry Instrumentation + url: llm_observability/instrument/otel_instrumentation parent: llm_obs_instrumentation identifier: llm_obs_instrumentation_otel - weight: 204 - - name: Tracing Proxy Services - url: llm_observability/trace_proxy_services + weight: 304 + - name: Agentic Instrumentation + url: llm_observability/instrument/agentic/ parent: llm_obs_instrumentation - identifier: llm_obs_instrumentation_trace_proxy_services - weight: 205 - - name: Lapdog - url: llm_observability/lapdog - parent: llm_obs - identifier: llm_obs_lapdog - weight: 3 - - name: Monitoring - url: llm_observability/monitoring + identifier: llm_obs_instrumentation_agentic + weight: 305 + - name: Python + url: llm_observability/instrument/agentic/python + parent: llm_obs_instrumentation_agentic + identifier: llm_obs_instrumentation_agentic_python + weight: 30501 + - name: Node.js + url: llm_observability/instrument/agentic/nodejs + parent: llm_obs_instrumentation_agentic + identifier: llm_obs_instrumentation_agentic_nodejs + weight: 30502 + - name: Java + url: llm_observability/instrument/agentic/java + parent: llm_obs_instrumentation_agentic + identifier: llm_obs_instrumentation_agentic_java + weight: 30503 + - name: Agent Observability and APM + url: llm_observability/instrument/agent_observability_and_apm + parent: llm_obs_instrumentation + identifier: llm_obs_correlate_apm + weight: 310 + - name: Prompt Tracking + url: llm_observability/instrument/prompt_tracking + parent: llm_obs_instrumentation + identifier: llm_obs_prompt_tracking + weight: 311 + - name: Investigate + url: llm_observability/investigate/ parent: llm_obs identifier: llm_obs_monitoring weight: 4 - name: Querying spans and traces - url: llm_observability/monitoring/querying + url: llm_observability/investigate/querying parent: llm_obs_monitoring identifier: llm_obs_monitoring_querying - weight: 301 - - name: Correlate with APM - url: llm_observability/monitoring/llm_observability_and_apm - parent: llm_obs_monitoring - identifier: llm_obs_correlate_apm - weight: 302 - - name: Patterns - url: llm_observability/monitoring/patterns/ - parent: llm_obs_monitoring - identifier: llm_obs_patterns - weight: 303 - - name: Agent Monitoring - url: llm_observability/monitoring/agent_monitoring - parent: llm_obs_monitoring - identifier: llm_obs_agent_monitoring - weight: 304 + weight: 401 - name: Cost - url: llm_observability/monitoring/cost + url: llm_observability/investigate/cost parent: llm_obs_monitoring identifier: llm_obs_monitoring_cost - - name: MCP Clients - url: llm_observability/monitoring/mcp_client - parent: llm_obs_monitoring - identifier: llm_obs_mcp_client - weight: 305 - - name: Prompt Tracking - url: llm_observability/monitoring/prompt_tracking - parent: llm_obs_monitoring - identifier: llm_obs_prompt_tracking - weight: 306 - - name: Prompt Management - url: llm_observability/monitoring/prompt_management - parent: llm_obs_monitoring - identifier: llm_obs_prompt_management - weight: 307 + weight: 402 - name: Metrics - url: llm_observability/monitoring/metrics + url: llm_observability/investigate/metrics parent: llm_obs_monitoring identifier: llm_obs_monitoring_metrics - weight: 308 - - name: Automation Rules - url: llm_observability/monitoring/automation_rules - parent: llm_obs_monitoring - identifier: llm_obs_monitoring_automation_rules - weight: 309 - - name: Evaluations - url: llm_observability/evaluations/ - parent: llm_obs - identifier: llm_obs_evaluations - weight: 5 - - name: Custom LLM-as-a-Judge - url: llm_observability/evaluations/custom_llm_as_a_judge_evaluations - parent: llm_obs_evaluations - identifier: llm_obs_custom_llm_as_a_judge_evaluations - weight: 400 - - name: Language Mismatch - url: llm_observability/evaluations/managed_evaluations/language_mismatch - parent: llm_obs_evaluations - identifier: llm_obs_language_mismatch - weight: 401 - - name: Sensitive Data Scanner - url: llm_observability/evaluations/sensitive_data_scanner - parent: llm_obs_evaluations - identifier: llm_obs_sensitive_data_scanner - weight: 402 - - name: External Evaluations - url: llm_observability/evaluations/external_evaluations - parent: llm_obs_evaluations - identifier: llm_obs_external_evaluations weight: 403 - - name: End-User Feedback - url: llm_observability/evaluations/end_user_feedback - parent: llm_obs_evaluations - identifier: llm_obs_end_user_feedback - weight: 4030 - - name: Developer Guide - url: llm_observability/evaluations/evaluation_developer_guide - parent: llm_obs_evaluations - identifier: llm_obs_evaluation_developer_guide - weight: 4031 - - name: Connect Your LLM Provider - url: llm_observability/evaluations/custom_llm_as_a_judge_evaluations/connect_to_account - parent: llm_obs_custom_llm_as_a_judge_evaluations - identifier: llm_obs_custom_llm_as_a_judge_evaluations_connect_to_account - weight: 40100 - - name: Template Evaluations - url: llm_observability/evaluations/custom_llm_as_a_judge_evaluations/template_evaluations - parent: llm_obs_custom_llm_as_a_judge_evaluations - identifier: llm_obs_custom_llm_as_a_judge_evaluations_template - weight: 40101 - - name: Session-Level Evaluations - url: llm_observability/evaluations/custom_llm_as_a_judge_evaluations/session_level_evaluations - parent: llm_obs_custom_llm_as_a_judge_evaluations - identifier: llm_obs_custom_llm_as_a_judge_evaluations_session_level - weight: 40102 - - name: Trace-Level Evaluations - url: llm_observability/evaluations/custom_llm_as_a_judge_evaluations/trace_level_evaluations - parent: llm_obs_custom_llm_as_a_judge_evaluations - identifier: llm_obs_custom_llm_as_a_judge_evaluations_trace_level - weight: 40103 - - name: Prompt Templating - url: llm_observability/evaluations/custom_llm_as_a_judge_evaluations/prompt_templating - parent: llm_obs_custom_llm_as_a_judge_evaluations - identifier: llm_obs_custom_llm_as_a_judge_evaluations_prompt_templating - weight: 40104 - - name: NeMo - url: llm_observability/evaluations/submit_nemo_evaluations - parent: llm_obs_external_evaluations - identifier: llm_obs_submit_nemo_evaluations - weight: 40201 - - name: DeepEval Evaluations - url: llm_observability/evaluations/deepeval_evaluations - parent: llm_obs_external_evaluations - identifier: llm_obs_deepeval_evaluations - weight: 40301 - - name: Pydantic Evaluations - url: llm_observability/evaluations/pydantic_evaluations - parent: llm_obs_external_evaluations - identifier: llm_obs_pydantic_evaluations - weight: 40302 + - name: Patterns + url: llm_observability/investigate/patterns/ + parent: llm_obs_monitoring + identifier: llm_obs_patterns + weight: 404 - name: Annotation Queues - url: llm_observability/evaluations/annotation_queues - parent: llm_obs_evaluations + url: llm_observability/investigate/annotation_queues + parent: llm_obs_monitoring identifier: llm_obs_annotation_queues - weight: 403 - - name: Compatibility - url: llm_observability/evaluations/evaluation_compatibility - parent: llm_obs_evaluations - identifier: llm_obs_evaluation_compatibility - weight: 404 + weight: 405 - name: Export API - url: llm_observability/evaluations/export_api - parent: llm_obs_evaluations + url: llm_observability/investigate/export_api + parent: llm_obs_monitoring identifier: llm_obs_evaluations_export_api - weight: 405 - - name: Experiments - url: llm_observability/experiments + weight: 406 + - name: Improve + url: llm_observability/improve/ parent: llm_obs - identifier: llm_obs_experiments - weight: 6 - - name: Setup and Usage - url: llm_observability/experiments/setup - parent: llm_obs_experiments - identifier: llm_obs_experiments_setup + identifier: llm_obs_improve + weight: 5 + - name: Playground + url: llm_observability/improve/playground + parent: llm_obs_improve + identifier: llm_obs_playground weight: 501 - name: Datasets - url: llm_observability/experiments/datasets - parent: llm_obs_experiments + url: llm_observability/improve/datasets + parent: llm_obs_improve identifier: llm_obs_experiments_datasets weight: 502 + - name: Experiments + url: llm_observability/improve/experiments + parent: llm_obs_improve + identifier: llm_obs_experiments + weight: 503 + - name: Setup and Usage + url: llm_observability/improve/experiments/setup + parent: llm_obs_experiments + identifier: llm_obs_experiments_setup + weight: 50301 - name: Analyzing Results - url: llm_observability/experiments/analyzing_results + url: llm_observability/improve/experiments/analyzing_results parent: llm_obs_experiments identifier: llm_obs_experiments_analyzing_results - weight: 503 + weight: 50302 - name: Advanced Experiment Runs - url: llm_observability/experiments/advanced_runs + url: llm_observability/improve/experiments/advanced_runs parent: llm_obs_experiments identifier: llm_obs_experiments_advanced_runs - weight: 504 - - name: Experiments API - url: llm_observability/experiments/api - parent: llm_obs_experiments - identifier: llm_obs_experiments_api - weight: 505 + weight: 50303 - name: Prompt Optimization - url: llm_observability/experiments/prompt_optimization + url: llm_observability/improve/experiments/prompt_optimization parent: llm_obs_experiments identifier: llm_obs_experiments_prompt_optimization - weight: 506 - - name: Playground - url: llm_observability/playground + weight: 50304 + - name: Experiments API + url: llm_observability/improve/experiments/api parent: llm_obs_experiments - identifier: llm_obs_playground - weight: 507 - - name: MCP Server - url: llm_observability/mcp_server + identifier: llm_obs_experiments_api + weight: 50305 + - name: Configure + url: llm_observability/configure/ parent: llm_obs - identifier: llm_obs_mcp_server - weight: 7 - - name: Data Security and RBAC - url: llm_observability/data_security_and_rbac + identifier: llm_obs_configure + weight: 6 + - name: Evaluations + url: llm_observability/configure/evaluations/ + parent: llm_obs_configure + identifier: llm_obs_evaluations + weight: 601 + - name: Custom LLM-as-a-Judge + url: llm_observability/configure/evaluations/llm_as_a_judge_evaluations + parent: llm_obs_evaluations + identifier: llm_obs_custom_llm_as_a_judge_evaluations + weight: 60101 + - name: Language Mismatch + url: llm_observability/configure/evaluations/language_mismatch + parent: llm_obs_evaluations + identifier: llm_obs_language_mismatch + weight: 60102 + - name: End-User Feedback + url: llm_observability/configure/evaluations/end_user_feedback + parent: llm_obs_evaluations + identifier: llm_obs_end_user_feedback + weight: 60104 + - name: Compatibility + url: llm_observability/configure/evaluations/compatibility + parent: llm_obs_evaluations + identifier: llm_obs_evaluation_compatibility + weight: 60106 + - name: External Evaluations + url: llm_observability/configure/evaluations/external_evaluations + parent: llm_obs_evaluations + identifier: llm_obs_external_evaluations + weight: 60107 + - name: Prompt Management + url: llm_observability/configure/prompt_management + parent: llm_obs_configure + identifier: llm_obs_prompt_management + weight: 602 + - name: Automation Rules + url: llm_observability/configure/automation_rules + parent: llm_obs_configure + identifier: llm_obs_monitoring_automation_rules + weight: 603 + - name: Data Privacy, Security, and RBAC + url: llm_observability/data_privacy_security_and_rbac parent: llm_obs identifier: llm_obs_data_security_and_rbac - weight: 8 - - name: Terms and Concepts - url: llm_observability/terms/ + weight: 7 + - name: Lapdog + url: llm_observability/lapdog parent: llm_obs - identifier: llm_obs_terms - weight: 9 + identifier: llm_obs_lapdog + weight: 8 - name: Guides url: llm_observability/guide/ parent: llm_obs identifier: llm_obs_guide - weight: 10 + weight: 9 + - name: Using the Datadog-CrewAI Integration + url: llm_observability/guide/crewai_guide + parent: llm_obs_guide + identifier: llm_obs_guide_crewai + weight: 901 + - name: Trace an LLM Application in AWS Lambda + url: llm_observability/guide/trace-an-llm-application-in-aws-lambda + parent: llm_obs_guide + identifier: llm_obs_guide_aws_lambda + weight: 902 + - name: Evaluation Developer Guide + url: llm_observability/configure/evaluations/evaluation_developer_guide + parent: llm_obs_guide + identifier: llm_obs_guide_evaluation_developer_guide + weight: 903 + - name: Instrument a Next.js Application + url: llm_observability/guide/nextjs_guide + parent: llm_obs_guide + identifier: llm_obs_guide_nextjs + weight: 903 + - name: Monitor Proxy Services + url: llm_observability/guide/monitor_proxy_services + parent: llm_obs_guide + identifier: llm_obs_guide_monitor_proxy_services + weight: 904 + - name: Agent Monitoring + url: llm_observability/guide/agent_monitoring + parent: llm_obs_guide + identifier: llm_obs_guide_agent_monitoring + weight: 905 + - name: Monitor MCP Clients + url: llm_observability/guide/monitor_mcp_client + parent: llm_obs_guide + identifier: llm_obs_guide_monitor_mcp_client + weight: 906 - name: GPU Monitoring url: gpu_monitoring/ pre: gpu-monitoring-wui diff --git a/hugo/content/en/account_management/rbac/data_access.md b/hugo/content/en/account_management/rbac/data_access.md index bee9fc060e8..a60ec948f57 100644 --- a/hugo/content/en/account_management/rbac/data_access.md +++ b/hugo/content/en/account_management/rbac/data_access.md @@ -267,4 +267,4 @@ When querying data through Datadog APIs with restrictions enabled, users without [10]: /account_management/rbac/data_access/#supported-telemetry [11]: /logs/guide/logs-rbac/?tab=ui#restrict-access-to-logs [12]: /dashboards/sharing/shared_dashboards/ -[13]: /llm_observability/instrumentation/otel_instrumentation/ +[13]: /llm_observability/instrument/otel_instrumentation/ diff --git a/hugo/content/en/api/latest/using-the-api/_index.md b/hugo/content/en/api/latest/using-the-api/_index.md index d901c331789..3dfde62b4ea 100644 --- a/hugo/content/en/api/latest/using-the-api/_index.md +++ b/hugo/content/en/api/latest/using-the-api/_index.md @@ -104,7 +104,7 @@ You can also use the Datadog API to manage your account programmatically: [33]: /api/v1/key-management/ [34]: /api/v1/usage-metering/ [35]: /api/v1/ip-ranges/ -[36]: /llm_observability/evaluations/export_api +[36]: /llm_observability/investigate/export_api [37]: /api/latest/cloudflare-integration/ [38]: /api/latest/fastly-integration/ [39]: /api/latest/jira-integration/ diff --git a/hugo/content/en/llm_observability/_index.md b/hugo/content/en/llm_observability/_index.md index 1c08c93bb18..22d37a09909 100644 --- a/hugo/content/en/llm_observability/_index.md +++ b/hugo/content/en/llm_observability/_index.md @@ -132,12 +132,12 @@ See the [Setup documentation][5] for instructions on instrumenting your LLM appl {{< partial name="whats-next/whats-next.html" >}} [1]: https://app.datadoghq.com/llm/traces -[2]: /llm_observability/terms +[2]: /llm_observability/quickstart/terms [3]: /llm_observability/setup/sdk [4]: /llm_observability/setup/api [5]: /llm_observability/setup [6]: /llm_observability/quickstart [7]: https://app.datadoghq.com/dash/integration/llm_operational_insights [8]: /llm_observability/setup/auto_instrumentation -[9]: /llm_observability/evaluations/managed_evaluations -[10]: /llm_observability/monitoring/patterns +[9]: /llm_observability/configure/evaluations/managed_evaluations +[10]: /llm_observability/investigate/patterns diff --git a/hugo/content/en/llm_observability/build_with_ai/_index.md b/hugo/content/en/llm_observability/build_with_ai/_index.md new file mode 100644 index 00000000000..221b49223a2 --- /dev/null +++ b/hugo/content/en/llm_observability/build_with_ai/_index.md @@ -0,0 +1,65 @@ +--- +title: Build with AI +description: Use the Datadog MCP server, CLI, and Claude Code skills to build and analyze LLM applications from your development environment. +--- + +Datadog supports coding agent workflows through the Datadog MCP server, the Pup CLI, and Claude Code skills. Use them to investigate your Agent Observability data and iterate on your LLM application without leaving your development environment. + +## Get started + +### Install the skills + +{{< code-block lang="shell" >}} +npx skills add datadog-labs/agent-skills/agent-observability --full-depth -y +{{< /code-block >}} + +### Choose a data backend + +The skills read your Agent Observability data through either the Datadog MCP server or the Pup CLI. Set up one of them. Each skill detects the MCP server at startup and falls back to the Pup CLI when the MCP server is unavailable. + +{{% collapse-content title="Option A: Datadog MCP server" level="h4" expanded=true id="option-a-mcp-server" %}} + +{{< site-region region="us,us3,us5,eu,ap1,ap2,uk1" >}} +Connect the MCP server to your Claude Code session: + +
claude mcp add --scope user --transport http datadog-llmo-mcp \
+ '{{< region-param key="mcp_server_endpoint" >}}?toolsets=llmobs,core'
+
+To run the MCP server as a local binary instead, install the Datadog MCP CLI:
+
+{{< code-block lang="shell" >}}
+curl -sSL https://coterm.datadoghq.com/mcp-cli/install.sh | bash
+datadog_mcp_cli login
+claude mcp add datadog --scope user -- ~/.local/bin/datadog_mcp_cli
+{{< /code-block >}}
+{{< /site-region >}}
+
+{{< site-region region="gov,gov2" >}}
+ml_app
-source:otel tag in the evaluation. Additionally, span_id and trace_id values must be provided as **decimal** strings. If your OpenTelemetry instrumentation produces hexadecimal IDs, convert them to decimal before submitting. For example, in Python: str(int(hex_span_id, 16)).
+To submit evaluations for OpenTelemetry spans directly to the Evaluations API, you must include the source:otel tag in the evaluation. Additionally, span_id and trace_id values must be provided as **decimal** strings. If your OpenTelemetry instrumentation produces hexadecimal IDs, convert them to decimal before submitting. For example, in Python: str(int(hex_span_id, 16)).
### Example
@@ -117,6 +119,14 @@ To submit evaluations for }}
+ {{< nextlink href="/llm_observability/configure/evaluations/external_evaluations/deepeval" >}}DeepEval Evaluations{{< /nextlink >}}
+ {{< nextlink href="/llm_observability/configure/evaluations/external_evaluations/pydantic" >}}Pydantic Evaluations{{< /nextlink >}}
+ {{< nextlink href="/llm_observability/configure/evaluations/external_evaluations/nemo" >}}NeMo Evaluations{{< /nextlink >}}
+{{< /whatsnext >}}
+
## Further Reading
{{< partial name="whats-next/whats-next.html" >}}
diff --git a/hugo/content/en/llm_observability/evaluations/deepeval_evaluations.md b/hugo/content/en/llm_observability/configure/evaluations/external_evaluations/deepeval.md
similarity index 91%
rename from hugo/content/en/llm_observability/evaluations/deepeval_evaluations.md
rename to hugo/content/en/llm_observability/configure/evaluations/external_evaluations/deepeval.md
index 24a21a8be71..3b664dbc27d 100644
--- a/hugo/content/en/llm_observability/evaluations/deepeval_evaluations.md
+++ b/hugo/content/en/llm_observability/configure/evaluations/external_evaluations/deepeval.md
@@ -1,8 +1,10 @@
---
title: DeepEval Evaluations
+aliases:
+- /llm_observability/evaluations/deepeval_evaluations/
description: Use DeepEval evaluations with Agent Observability Experiments.
further_reading:
-- link: "/llm_observability/evaluations/external_evaluations"
+- link: "/llm_observability/configure/evaluations/external_evaluations"
tag: "Documentation"
text: "Submit Evaluations"
---
@@ -102,9 +104,9 @@ After you run an experiment with a DeepEval evaluation, you can view the DeepEva
{{< partial name="whats-next/whats-next.html" >}}
-[1]: /llm_observability/experiments
-[2]: /llm_observability/experiments/setup#create-an-experiment
+[1]: /llm_observability/improve/experiments
+[2]: /llm_observability/improve/experiments/setup#create-an-experiment
[3]: https://deepeval.com/docs/metrics-introduction
-[4]: /llm_observability/experiments/setup#create-a-dataset
-[5]: /llm_observability/experiments/datasets
+[4]: /llm_observability/improve/experiments/setup#create-a-dataset
+[5]: /llm_observability/improve/datasets
[6]: https://github.com/DataDog/llm-observability/blob/main/experiments/eval-integrations/1-deepeval-demo.py
\ No newline at end of file
diff --git a/hugo/content/en/llm_observability/evaluations/submit_nemo_evaluations.md b/hugo/content/en/llm_observability/configure/evaluations/external_evaluations/nemo.md
similarity index 98%
rename from hugo/content/en/llm_observability/evaluations/submit_nemo_evaluations.md
rename to hugo/content/en/llm_observability/configure/evaluations/external_evaluations/nemo.md
index 472289b044b..c76e0611d82 100644
--- a/hugo/content/en/llm_observability/evaluations/submit_nemo_evaluations.md
+++ b/hugo/content/en/llm_observability/configure/evaluations/external_evaluations/nemo.md
@@ -3,8 +3,9 @@ title: NeMo Evaluations
description: Learn how to submit NVIDIA NeMo Evaluator model evaluation scores to Agent Observability to monitor benchmarking results alongside LLM traces.
aliases:
- /llm_observability/submit_nemo_evaluations/
+ - /llm_observability/evaluations/submit_nemo_evaluations/
further_reading:
-- link: "/llm_observability/evaluations/external_evaluations"
+- link: "/llm_observability/configure/evaluations/external_evaluations"
tag: "Documentation"
text: "Submit Evaluations"
---
diff --git a/hugo/content/en/llm_observability/evaluations/pydantic_evaluations.md b/hugo/content/en/llm_observability/configure/evaluations/external_evaluations/pydantic.md
similarity index 93%
rename from hugo/content/en/llm_observability/evaluations/pydantic_evaluations.md
rename to hugo/content/en/llm_observability/configure/evaluations/external_evaluations/pydantic.md
index bbab3849f07..f07cb6bfe06 100644
--- a/hugo/content/en/llm_observability/evaluations/pydantic_evaluations.md
+++ b/hugo/content/en/llm_observability/configure/evaluations/external_evaluations/pydantic.md
@@ -1,8 +1,10 @@
---
title: Pydantic Evaluations
+aliases:
+- /llm_observability/evaluations/pydantic_evaluations/
description: Use Pydantic evaluations with Agent Observability Experiments.
further_reading:
-- link: "/llm_observability/evaluations/external_evaluations"
+- link: "/llm_observability/configure/evaluations/external_evaluations"
tag: "Documentation"
text: "Submit Evaluations"
---
@@ -137,9 +139,9 @@ After you run an experiment with a Pydantic evaluation, you can view the Pydanti
{{< partial name="whats-next/whats-next.html" >}}
-[1]: /llm_observability/experiments
-[2]: /llm_observability/experiments/setup#create-an-experiment
+[1]: /llm_observability/improve/experiments
+[2]: /llm_observability/improve/experiments/setup#create-an-experiment
[3]: https://ai.pydantic.dev/evals/
-[4]: /llm_observability/experiments/setup#create-a-dataset
-[5]: /llm_observability/experiments/datasets
+[4]: /llm_observability/improve/experiments/setup#create-a-dataset
+[5]: /llm_observability/improve/datasets
[6]: https://github.com/DataDog/llm-observability/blob/main/experiments/eval-integrations/2-pydantic-demo.py
diff --git a/hugo/content/en/llm_observability/evaluations/managed_evaluations/language_mismatch.md b/hugo/content/en/llm_observability/configure/evaluations/language_mismatch.md
similarity index 88%
rename from hugo/content/en/llm_observability/evaluations/managed_evaluations/language_mismatch.md
rename to hugo/content/en/llm_observability/configure/evaluations/language_mismatch.md
index c89d62546b1..d5704ffd4d4 100644
--- a/hugo/content/en/llm_observability/evaluations/managed_evaluations/language_mismatch.md
+++ b/hugo/content/en/llm_observability/configure/evaluations/language_mismatch.md
@@ -2,7 +2,7 @@
title: Language Mismatch
description: Learn about Datadog's Language Mismatch evaluation.
further_reading:
-- link: "/llm_observability/terms/"
+- link: "/llm_observability/quickstart/terms/"
tag: "Documentation"
text: "Learn about Agent Observability terms and concepts"
- link: "/llm_observability/setup"
@@ -10,7 +10,10 @@ further_reading:
text: "Learn how to set up Agent Observability"
aliases:
- /llm_observability/evaluations/quality_evaluations
+ - /llm_observability/configure/evaluations/quality_evaluations
- /llm_observability/evaluations/managed_evaluations/quality_evaluations
+ - /llm_observability/configure/evaluations/managed_evaluations/quality_evaluations
+ - /llm_observability/evaluations/managed_evaluations/language_mismatch/
---
This check identifies instances where the LLM generates responses in a different language or dialect than the one used by the user, which can lead to confusion or miscommunication. This check ensures that the LLM's responses are clear, relevant, and appropriate for the user's linguistic preferences and needs.
diff --git a/hugo/content/en/llm_observability/evaluations/custom_llm_as_a_judge_evaluations/_index.md b/hugo/content/en/llm_observability/configure/evaluations/llm_as_a_judge_evaluations/_index.md
similarity index 97%
rename from hugo/content/en/llm_observability/evaluations/custom_llm_as_a_judge_evaluations/_index.md
rename to hugo/content/en/llm_observability/configure/evaluations/llm_as_a_judge_evaluations/_index.md
index 5742c8d9ba8..9511543c50f 100644
--- a/hugo/content/en/llm_observability/evaluations/custom_llm_as_a_judge_evaluations/_index.md
+++ b/hugo/content/en/llm_observability/configure/evaluations/llm_as_a_judge_evaluations/_index.md
@@ -1,5 +1,7 @@
---
title: Custom LLM-as-a-Judge Evaluations
+aliases:
+- /llm_observability/evaluations/custom_llm_as_a_judge_evaluations/
description: How to create custom LLM-as-a-judge evaluations, and how to use these evaluation results across Agent Observability.
further_reading:
- link: "https://www.datadoghq.com/blog/manage-ai-cost-and-performance-with-datadog/"
@@ -11,13 +13,13 @@ further_reading:
- link: "https://www.datadoghq.com/blog/llm-evaluation-framework-best-practices/"
tag: "Blog"
text: "Building an LLM evaluation framework: best practices"
-- link: "/llm_observability/terms/"
+- link: "/llm_observability/quickstart/terms/"
tag: "Documentation"
text: "Learn about Agent Observability terms and concepts"
- link: "/llm_observability/setup"
tag: "Documentation"
text: "Learn how to set up Agent Observability"
-- link: "/llm_observability/evaluations/managed_evaluations"
+- link: "/llm_observability/configure/evaluations/managed_evaluations"
tag: "Documentation"
text: "Learn about managed evaluations"
- link: "https://huggingface.co/learn/cookbook/llm_judge"
@@ -593,21 +595,21 @@ You can use basic CRUD operations to manipulate managed evaluation configs, afte
{{< partial name="whats-next/whats-next.html" >}}
[1]: https://app.datadoghq.com/llm/evaluations
-[2]: /llm_observability/evaluations/custom_llm_as_a_judge_evaluations/connect_to_account
+[2]: /llm_observability/configure/evaluations/llm_as_a_judge_evaluations/connect_to_account
[3]: /events/explorer/facets/
[4]: /monitors/
[5]: https://arxiv.org/abs/2504.00050
-[6]: /llm_observability/evaluations/evaluation_compatibility
-[7]: /llm_observability/evaluations/custom_llm_as_a_judge_evaluations/template_evaluations/
-[8]: /llm_observability/experiments
+[6]: /llm_observability/configure/evaluations/compatibility
+[7]: /llm_observability/configure/evaluations/llm_as_a_judge_evaluations/template_evaluations/
+[8]: /llm_observability/improve/experiments
[9]: /llm_observability/guide/evaluation_developer_guide/#using-managed-evaluators
[10]: https://app.datadoghq.com/dash/integration/llm_evaluations_token_usage
[11]: /api/latest/llm-observability/#get-a-custom-evaluator-configuration
[12]: /api/latest/llm-observability/#create-or-update-a-custom-evaluator-configuration
[13]: /api/latest/llm-observability/#delete-a-custom-evaluator-configuration
[14]: /account_management/api-app-keys
-[15]: /llm_observability/evaluations/custom_llm_as_a_judge_evaluations/prompt_templating
-[16]: /llm_observability/evaluations/custom_llm_as_a_judge_evaluations/trace_level_evaluations
-[17]: /llm_observability/evaluations/custom_llm_as_a_judge_evaluations/session_level_evaluations
+[15]: /llm_observability/configure/evaluations/llm_as_a_judge_evaluations/prompt_templating
+[16]: /llm_observability/configure/evaluations/llm_as_a_judge_evaluations/trace_level_evaluations
+[17]: /llm_observability/configure/evaluations/llm_as_a_judge_evaluations/session_level_evaluations
[18]: https://docs.cloud.google.com/gemini-enterprise-agent-platform/resources/locations
diff --git a/hugo/content/en/llm_observability/evaluations/custom_llm_as_a_judge_evaluations/connect_to_account.md b/hugo/content/en/llm_observability/configure/evaluations/llm_as_a_judge_evaluations/connect_to_account.md
similarity index 98%
rename from hugo/content/en/llm_observability/evaluations/custom_llm_as_a_judge_evaluations/connect_to_account.md
rename to hugo/content/en/llm_observability/configure/evaluations/llm_as_a_judge_evaluations/connect_to_account.md
index cb188a30339..df98c42bec5 100644
--- a/hugo/content/en/llm_observability/evaluations/custom_llm_as_a_judge_evaluations/connect_to_account.md
+++ b/hugo/content/en/llm_observability/configure/evaluations/llm_as_a_judge_evaluations/connect_to_account.md
@@ -1,8 +1,10 @@
---
title: Connect your LLM provider account
+aliases:
+- /llm_observability/evaluations/custom_llm_as_a_judge_evaluations/connect_to_account/
description: How to connect to your LLM provider account to support judge LLM based evaluations
further_reading:
-- link: "/llm_observability/evaluations/custom_llm_as_a_judge_evaluations"
+- link: "/llm_observability/configure/evaluations/llm_as_a_judge_evaluations"
tag: "Documentation"
text: "Learn about custom LLM-as-a-judge evaluations"
---
diff --git a/hugo/content/en/llm_observability/evaluations/custom_llm_as_a_judge_evaluations/prompt_templating.md b/hugo/content/en/llm_observability/configure/evaluations/llm_as_a_judge_evaluations/prompt_templating.md
similarity index 92%
rename from hugo/content/en/llm_observability/evaluations/custom_llm_as_a_judge_evaluations/prompt_templating.md
rename to hugo/content/en/llm_observability/configure/evaluations/llm_as_a_judge_evaluations/prompt_templating.md
index 4a57ebf0a5c..e4c7680195b 100644
--- a/hugo/content/en/llm_observability/evaluations/custom_llm_as_a_judge_evaluations/prompt_templating.md
+++ b/hugo/content/en/llm_observability/configure/evaluations/llm_as_a_judge_evaluations/prompt_templating.md
@@ -1,14 +1,16 @@
---
title: Prompt Templating
+aliases:
+- /llm_observability/evaluations/custom_llm_as_a_judge_evaluations/prompt_templating/
description: Reference for the templating used in custom LLM-as-a-judge evaluation prompts—variables, array operators, span and trace filters, session paths, and resolution rules.
further_reading:
-- link: "/llm_observability/evaluations/custom_llm_as_a_judge_evaluations"
+- link: "/llm_observability/configure/evaluations/llm_as_a_judge_evaluations"
tag: "Documentation"
text: "Custom LLM-as-a-Judge Evaluations"
-- link: "/llm_observability/evaluations/custom_llm_as_a_judge_evaluations/session_level_evaluations"
+- link: "/llm_observability/configure/evaluations/llm_as_a_judge_evaluations/session_level_evaluations"
tag: "Documentation"
text: "Session-Level Evaluations"
-- link: "/llm_observability/evaluations/custom_llm_as_a_judge_evaluations/trace_level_evaluations"
+- link: "/llm_observability/configure/evaluations/llm_as_a_judge_evaluations/trace_level_evaluations"
tag: "Documentation"
text: "Trace-Level Evaluations"
---
@@ -179,6 +181,6 @@ For example, given a span where `meta.input.messages` is:
{{< partial name="whats-next/whats-next.html" >}}
-[1]: /llm_observability/instrumentation/sdk/#tracking-user-sessions
-[2]: /llm_observability/evaluations/custom_llm_as_a_judge_evaluations/session_level_evaluations
-[3]: /llm_observability/evaluations/custom_llm_as_a_judge_evaluations/trace_level_evaluations
+[1]: /llm_observability/instrument/sdk/#tracking-user-sessions
+[2]: /llm_observability/configure/evaluations/llm_as_a_judge_evaluations/session_level_evaluations
+[3]: /llm_observability/configure/evaluations/llm_as_a_judge_evaluations/trace_level_evaluations
diff --git a/hugo/content/en/llm_observability/evaluations/custom_llm_as_a_judge_evaluations/session_level_evaluations.md b/hugo/content/en/llm_observability/configure/evaluations/llm_as_a_judge_evaluations/session_level_evaluations.md
similarity index 90%
rename from hugo/content/en/llm_observability/evaluations/custom_llm_as_a_judge_evaluations/session_level_evaluations.md
rename to hugo/content/en/llm_observability/configure/evaluations/llm_as_a_judge_evaluations/session_level_evaluations.md
index d7e0c985469..6556f009e3a 100644
--- a/hugo/content/en/llm_observability/evaluations/custom_llm_as_a_judge_evaluations/session_level_evaluations.md
+++ b/hugo/content/en/llm_observability/configure/evaluations/llm_as_a_judge_evaluations/session_level_evaluations.md
@@ -1,17 +1,19 @@
---
title: Session-Level Evaluations
+aliases:
+- /llm_observability/evaluations/custom_llm_as_a_judge_evaluations/session_level_evaluations/
description: Run a custom LLM-as-a-judge across an entire user session, with examples of when to use session scope over trace or span scope.
further_reading:
-- link: "/llm_observability/evaluations/custom_llm_as_a_judge_evaluations"
+- link: "/llm_observability/configure/evaluations/llm_as_a_judge_evaluations"
tag: "Documentation"
text: "Custom LLM-as-a-Judge Evaluations"
-- link: "/llm_observability/evaluations/custom_llm_as_a_judge_evaluations/trace_level_evaluations"
+- link: "/llm_observability/configure/evaluations/llm_as_a_judge_evaluations/trace_level_evaluations"
tag: "Documentation"
text: "Trace-Level Evaluations"
-- link: "/llm_observability/evaluations/custom_llm_as_a_judge_evaluations/prompt_templating"
+- link: "/llm_observability/configure/evaluations/llm_as_a_judge_evaluations/prompt_templating"
tag: "Documentation"
text: "Prompt Templating"
-- link: "/llm_observability/instrumentation/sdk/#tracking-user-sessions"
+- link: "/llm_observability/instrument/sdk/#tracking-user-sessions"
tag: "Documentation"
text: "Tracking user sessions"
---
@@ -20,7 +22,7 @@ A session-level evaluation runs once per [user session][9], with every trace—a
Session scope answers questions about agent performance and user behavior across an entire interaction—questions that trace-level and span-level judges cannot answer from a single request or span.
-session_id. See Tracking user sessions to instrument your application.session_id. See Tracking user sessions to instrument your application.input_tokens, output_tokens, and total_tokens) yourself by annotating the span. See Enriching spans for more information.metrics parameter here refers to numeric values attached as attributes on individual spans — not Datadog platform metrics. For certain recognized keys such as input_tokens, output_tokens, and total_tokens, Datadog uses these span attributes to generate corresponding platform metrics (such as ml_obs.span.llm.input.tokens) for use in dashboards and monitors.
+The metrics parameter here refers to numeric values attached as attributes on individual spans — not Datadog platform metrics. For certain recognized keys such as input_tokens, output_tokens, and total_tokens, Datadog uses these span attributes to generate corresponding platform metrics (such as ml_obs.span.llm.input.tokens) for use in dashboards and monitors.
metrics parameter of the LLMObs.annotate() method. These are distinct from Datadog platform Agent Observability metrics. For recognized keys such as input_tokens, output_tokens, input_cost, and output_cost, Datadog uses these span attributes to generate corresponding platform metrics (such as ml_obs.span.llm.input.cost) for use in dashboards and monitors.metrics parameter of the LLMObs.annotate() method. These are distinct from Datadog platform Agent Observability metrics. For recognized keys such as input_tokens, output_tokens, input_cost, and output_cost, Datadog uses these span attributes to generate corresponding platform metrics (such as ml_obs.span.llm.input.cost) for use in dashboards and monitors.ml_obs.* entries on this page are Datadog M
They are distinct from two other things in Agent Observability: