특정 Agent Observability 프롬프트 버전을 가져오기

Note: This endpoint is in preview and is subject to change. If you have any feedback, contact Datadog support.

GET https://api.ap1.datadoghq.com/api/v2/llm-obs/v1/prompts/{prompt_id}/versions/{version}https://api.ap2.datadoghq.com/api/v2/llm-obs/v1/prompts/{prompt_id}/versions/{version}https://api.datadoghq.eu/api/v2/llm-obs/v1/prompts/{prompt_id}/versions/{version}https://api.ddog-gov.com/api/v2/llm-obs/v1/prompts/{prompt_id}/versions/{version}https://api.us2.ddog-gov.com/api/v2/llm-obs/v1/prompts/{prompt_id}/versions/{version}https://api.uk1.datadoghq.com/api/v2/llm-obs/v1/prompts/{prompt_id}/versions/{version}https://api.datadoghq.com/api/v2/llm-obs/v1/prompts/{prompt_id}/versions/{version}https://api.us3.datadoghq.com/api/v2/llm-obs/v1/prompts/{prompt_id}/versions/{version}https://api.us5.datadoghq.com/api/v2/llm-obs/v1/prompts/{prompt_id}/versions/{version}

개요

특정한 단일 Agent Observability 프롬프트 버전의 전체 템플릿을 가져옵니다. This endpoint requires the llm_observability_read permission.

인수

경로 파라미터

이름

유형

설명

prompt_id [required]

string

The customer-provided identifier of the Agent Observability prompt.

version [required]

integer

The version number of the Agent Observability prompt.

응답

OK

Response containing a specific version of an Agent Observability prompt.

Expand All

항목

유형

설명

data [required]

object

Data object for a specific version of an Agent Observability prompt.

attributes [required]

object

Attributes of a specific version of an Agent Observability prompt. For a composed version, authoring_template contains its pinned include-bearing source; ordinary versions omit that attribute. Empty config is omitted when configuration authoring is disabled for the organization. Non-empty saved configuration is always returned.

author

string

UUID of the user who authored this version.

authoring_template

 <oneOf>

A text template, a list of chat messages and named message placeholders, or an authored chat object. Text can include an exact prompt version with {{>prompt-id version=N}}; other text, including {{>...}} sequences without a version, remains literal. Use an authored chat object when including prompts as chat messages. Preview: Prompt composition is available in Preview. To request access, contact Datadog Support or your Customer Success Manager. Without access, inline references remain literal text and structured includes are unsupported. Previously compiled prompt versions remain available for execution. Preview: Message placeholders are available in Preview. To request access, contact Datadog Support or your Customer Success Manager.

Object 1

string

A text prompt template.

Object 2

[ <oneOf>]

A chat prompt template containing messages and optional named message placeholders. Preview: Message placeholders are available in Preview. To request access, contact Datadog Support or your Customer Success Manager.

Object 1

object

A single chat message in a prompt template.

content [required]

string

Content of the message.

role [required]

string

Role of the message (for example system, user, or assistant).

<type=placeholder>

object

A named placeholder that inserts a list of messages when a compatible SDK formats the prompt. Preview: Message placeholders are available in Preview. To request access, contact Datadog Support or your Customer Success Manager.

name [required]

string

Name used to supply the message list when formatting the prompt.

type [required]

enum

Type of chat-template item. Allowed enum values: placeholder

Object 3

object

A chat prompt whose authored items are stored under messages.

messages [required]

[ <oneOf>]

A chat prompt containing messages, references to specific versions of other prompts, or both.

Object 1

object

A single chat message in a prompt template.

content [required]

string

Content of the message.

role [required]

string

Role of the message (for example system, user, or assistant).

Object 2

object

Includes all or selected messages from a specific version of another prompt.

include [required]

object

Includes messages from a specific version of another prompt. Omitting items includes every message from that version in its original order. When items is present, messages are included in the specified order, including repetitions.

items

[integer]

Zero-based indexes of messages from the included prompt. For example, [2, 0, 0] includes the third message, followed by the first message twice. Omit this field to include all messages in their original order.

prompt_id [required]

string

Customer-provided identifier of the included prompt.

version [required]

int64

Positive sequential version number of the included prompt.

config

object

Versioned prompt configuration is in Preview. To request access, contact Datadog Support or your Customer Success Manager. Customer-owned configuration delivered with a prompt version. Datadog stores and returns the object without interpolating it, validating provider-specific keys, or applying it to model calls. Do not include secrets.

created_at

date-time

Timestamp stored on this prompt version.

datasets

[object]

Datasets observed in runs associated with this prompt version.

id [required]

string

Unique identifier of the dataset.

name

string

Name of the dataset.

description

string

Description of this version.

labels

[string]

DEPRECATED: Labels attached to this version (for example development, staging, production).

last_seen_at

date-time

Timestamp of the most recent observed run of this prompt version.

ml_app

string

The ML application this prompt is associated with.

ml_apps

[string]

ML applications observed running this prompt version.

prompt_id [required]

string

Customer-provided identifier of the parent prompt.

prompt_uuid [required]

string

Unique identifier of the parent prompt.

tags

[string]

Tags observed on runs of this prompt version.

template [required]

 <oneOf>

A text template, a list of chat messages and named message placeholders, or an authored chat object. Text can include an exact prompt version with {{>prompt-id version=N}}; other text, including {{>...}} sequences without a version, remains literal. Use an authored chat object when including prompts as chat messages. Preview: Prompt composition is available in Preview. To request access, contact Datadog Support or your Customer Success Manager. Without access, inline references remain literal text and structured includes are unsupported. Previously compiled prompt versions remain available for execution. Preview: Message placeholders are available in Preview. To request access, contact Datadog Support or your Customer Success Manager.

Object 1

string

A text prompt template.

Object 2

[ <oneOf>]

A chat prompt template containing messages and optional named message placeholders. Preview: Message placeholders are available in Preview. To request access, contact Datadog Support or your Customer Success Manager.

Object 1

object

A single chat message in a prompt template.

content [required]

string

Content of the message.

role [required]

string

Role of the message (for example system, user, or assistant).

<type=placeholder>

object

A named placeholder that inserts a list of messages when a compatible SDK formats the prompt. Preview: Message placeholders are available in Preview. To request access, contact Datadog Support or your Customer Success Manager.

name [required]

string

Name used to supply the message list when formatting the prompt.

type [required]

enum

Type of chat-template item. Allowed enum values: placeholder

Object 3

object

A chat prompt whose authored items are stored under messages.

messages [required]

[ <oneOf>]

A chat prompt containing messages, references to specific versions of other prompts, or both.

Object 1

object

A single chat message in a prompt template.

content [required]

string

Content of the message.

role [required]

string

Role of the message (for example system, user, or assistant).

Object 2

object

Includes all or selected messages from a specific version of another prompt.

include [required]

object

Includes messages from a specific version of another prompt. Omitting items includes every message from that version in its original order. When items is present, messages are included in the specified order, including repetitions.

items

[integer]

Zero-based indexes of messages from the included prompt. For example, [2, 0, 0] includes the third message, followed by the first message twice. Omit this field to include all messages in their original order.

prompt_id [required]

string

Customer-provided identifier of the included prompt.

version [required]

int64

Positive sequential version number of the included prompt.

user_version

string

User-supplied identifier for this version.

version [required]

int64

Sequential version number.

version_created_at

date-time

Timestamp when this version was created.

id [required]

string

Unique identifier of the prompt version.

type [required]

enum

Resource type of an Agent Observability prompt version. Allowed enum values: prompt-template-versions

{
  "data": {
    "attributes": {
      "author": "3b12f1df-14fd-4e12-bd6f-4a2f5c8b3d1e",
      "config": {},
      "created_at": "2025-02-01T14:30:00Z",
      "description": "Give concise answers and cite relevant help-center articles.",
      "prompt_id": "customer-support-assistant",
      "prompt_uuid": "4a1a28ff-8a25-5f0f-946f-f48264d772eb",
      "template": [
        {
          "content": "You are a helpful customer support assistant for {{company_name}}.",
          "role": "system"
        },
        {
          "content": "Help {{customer_name}} with this question: {{question}}",
          "role": "user"
        }
      ],
      "version": 2,
      "version_created_at": "2025-02-01T14:30:00Z"
    },
    "id": "d83ab666-61cc-5545-a83b-2424bb85467b",
    "type": "prompt-template-versions"
  }
}

Bad Request

API error response.

Expand All

항목

유형

설명

errors [required]

[object]

A list of errors.

detail

string

A human-readable explanation specific to this occurrence of the error.

meta

object

Non-standard meta-information about the error

source

object

References to the source of the error.

header

string

A string indicating the name of a single request header which caused the error.

parameter

string

A string indicating which URI query parameter caused the error.

pointer

string

A JSON pointer to the value in the request document that caused the error.

status

string

Status code of the response.

title

string

Short human-readable summary of the error.

{
  "errors": [
    {
      "detail": "Missing required attribute in body",
      "meta": {},
      "source": {
        "header": "Authorization",
        "parameter": "limit",
        "pointer": "/data/attributes/title"
      },
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Unauthorized

API error response.

Expand All

항목

유형

설명

errors [required]

[object]

A list of errors.

detail

string

A human-readable explanation specific to this occurrence of the error.

meta

object

Non-standard meta-information about the error

source

object

References to the source of the error.

header

string

A string indicating the name of a single request header which caused the error.

parameter

string

A string indicating which URI query parameter caused the error.

pointer

string

A JSON pointer to the value in the request document that caused the error.

status

string

Status code of the response.

title

string

Short human-readable summary of the error.

{
  "errors": [
    {
      "detail": "Missing required attribute in body",
      "meta": {},
      "source": {
        "header": "Authorization",
        "parameter": "limit",
        "pointer": "/data/attributes/title"
      },
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Forbidden

API error response.

Expand All

항목

유형

설명

errors [required]

[object]

A list of errors.

detail

string

A human-readable explanation specific to this occurrence of the error.

meta

object

Non-standard meta-information about the error

source

object

References to the source of the error.

header

string

A string indicating the name of a single request header which caused the error.

parameter

string

A string indicating which URI query parameter caused the error.

pointer

string

A JSON pointer to the value in the request document that caused the error.

status

string

Status code of the response.

title

string

Short human-readable summary of the error.

{
  "errors": [
    {
      "detail": "Missing required attribute in body",
      "meta": {},
      "source": {
        "header": "Authorization",
        "parameter": "limit",
        "pointer": "/data/attributes/title"
      },
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Not Found

API error response.

Expand All

항목

유형

설명

errors [required]

[object]

A list of errors.

detail

string

A human-readable explanation specific to this occurrence of the error.

meta

object

Non-standard meta-information about the error

source

object

References to the source of the error.

header

string

A string indicating the name of a single request header which caused the error.

parameter

string

A string indicating which URI query parameter caused the error.

pointer

string

A JSON pointer to the value in the request document that caused the error.

status

string

Status code of the response.

title

string

Short human-readable summary of the error.

{
  "errors": [
    {
      "detail": "Missing required attribute in body",
      "meta": {},
      "source": {
        "header": "Authorization",
        "parameter": "limit",
        "pointer": "/data/attributes/title"
      },
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Too many requests

API error response.

Expand All

항목

유형

설명

errors [required]

[string]

A list of errors.

{
  "errors": [
    "Bad Request"
  ]
}

코드 예시

                  # Path parameters
export prompt_id="customer-support-assistant"
export version="1"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"

# Curl command
curl -X GET "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.us2.ddog-gov.com"https://api.uk1.datadoghq.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/llm-obs/v1/prompts/${prompt_id}/versions/${version}" \ -H "Accept: application/json" \ -H "Authorization: Bearer ${DD_BEARER_TOKEN}"
"""
Get a specific Agent Observability prompt version returns "OK" response
"""

from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.agent_observability_api import AgentObservabilityApi

configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
configuration.unstable_operations["get_llm_obs_prompt_version"] = True
with ApiClient(configuration) as api_client:
    api_instance = AgentObservabilityApi(api_client)
    response = api_instance.get_llm_obs_prompt_version(
        prompt_id="prompt_id",
        version=9223372036854775807,
    )

    print(response)

Instructions

First install the library and its dependencies and then save the example to example.py and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"
# Get a specific Agent Observability prompt version returns "OK" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
  config.access_token = ENV["DD_BEARER_TOKEN"]
  config.unstable_operations["v2.get_llm_obs_prompt_version".to_sym] = true
end
api_instance = DatadogAPIClient::V2::AgentObservabilityAPI.new
p api_instance.get_llm_obs_prompt_version("prompt_id", 9223372036854775807)

Instructions

First install the library and its dependencies and then save the example to example.rb and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"
// Get a specific Agent Observability prompt version returns "OK" response

package main

import (
	"context"
	"encoding/json"
	"fmt"
	"os"

	"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
	"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
)

func main() {
	ctx := datadog.NewDefaultContext(context.Background())
	ctx = context.WithValue(ctx, datadog.ContextAccessToken, os.Getenv("DD_BEARER_TOKEN"))
	configuration := datadog.NewConfiguration()
	configuration.SetUnstableOperationEnabled("v2.GetLLMObsPromptVersion", true)
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewAgentObservabilityApi(apiClient)
	resp, r, err := api.GetLLMObsPromptVersion(ctx, "prompt_id", 9223372036854775807)

	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `AgentObservabilityApi.GetLLMObsPromptVersion`: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}

	responseContent, _ := json.MarshalIndent(resp, "", "  ")
	fmt.Fprintf(os.Stdout, "Response from `AgentObservabilityApi.GetLLMObsPromptVersion`:\n%s\n", responseContent)
}

Instructions

First install the library and its dependencies and then save the example to main.go and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"
// Get a specific Agent Observability prompt version returns "OK" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.AgentObservabilityApi;
import com.datadog.api.client.v2.model.LLMObsPromptVersionResponse;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    defaultClient.setAccessToken(System.getenv("DD_BEARER_TOKEN"));
    defaultClient.setUnstableOperationEnabled("v2.getLLMObsPromptVersion", true);
    AgentObservabilityApi apiInstance = new AgentObservabilityApi(defaultClient);

    try {
      LLMObsPromptVersionResponse result =
          apiInstance.getLLMObsPromptVersion("customer-support-assistant", 1L);
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling AgentObservabilityApi#getLLMObsPromptVersion");
      System.err.println("Status code: " + e.getCode());
      System.err.println("Reason: " + e.getResponseBody());
      System.err.println("Response headers: " + e.getResponseHeaders());
      e.printStackTrace();
    }
  }
}

Instructions

First install the library and its dependencies and then save the example to Example.java and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"
// Get a specific Agent Observability prompt version returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_agent_observability::AgentObservabilityAPI;

#[tokio::main]
async fn main() {
    let mut configuration = datadog::Configuration::new();
    configuration.set_unstable_operation_enabled("v2.get_llm_obs_prompt_version", true);
    let api = AgentObservabilityAPI::with_config(configuration);
    let resp = api
        .get_llm_obs_prompt_version("prompt_id".to_string(), 9223372036854775807)
        .await;
    if let Ok(value) = resp {
        println!("{:#?}", value);
    } else {
        println!("{:#?}", resp.unwrap_err());
    }
}

Instructions

First install the library and its dependencies and then save the example to src/main.rs and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run
/**
 * Get a specific Agent Observability prompt version returns "OK" response
 */

import { client, v2 } from "@datadog/datadog-api-client";

const configuration = client.createConfiguration({
  authMethods: {
    AuthZ: {
      accessToken: process.env.DD_BEARER_TOKEN as string,
    },
  },
});
configuration.unstableOperations["v2.getLLMObsPromptVersion"] = true;
const apiInstance = new v2.AgentObservabilityApi(configuration);

const params: v2.AgentObservabilityApiGetLLMObsPromptVersionRequest = {
  promptId: "prompt_id",
  version: 9223372036854775807,
};

apiInstance
  .getLLMObsPromptVersion(params)
  .then((data: v2.LLMObsPromptVersionResponse) => {
    console.log(
      "API called successfully. Returned data: " + JSON.stringify(data)
    );
  })
  .catch((error: any) => console.error(error));

Instructions

First install the library and its dependencies and then save the example to example.ts and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"