Create an Agent Observability prompt
https://api.datadoghq.com/api/v2/llm-obs/v1/promptshttps://api.us3.datadoghq.com/api/v2/llm-obs/v1/promptshttps://api.us5.datadoghq.com/api/v2/llm-obs/v1/promptshttps://api.datadoghq.eu/api/v2/llm-obs/v1/promptshttps://api.ap1.datadoghq.com/api/v2/llm-obs/v1/promptshttps://api.ap2.datadoghq.com/api/v2/llm-obs/v1/promptshttps://api.uk1.datadoghq.com/api/v2/llm-obs/v1/promptshttps://api.ddog-gov.com/api/v2/llm-obs/v1/promptshttps://api.us2.ddog-gov.com/api/v2/llm-obs/v1/promptsPrésentation
Create a new prompt (and its first version) in the Agent Observability prompt registry.
Preview: Prompt composition is available in Preview. To request access, contact Datadog Support or your Customer Success Manager.
Requête
Body Data (required)
Create prompt payload.
data [required]Data object for creating an Agent Observability prompt.
attributes [required]Attributes for creating an Agent Observability prompt and its first version. prompt_id and template are required; all other attributes are optional. If config is omitted, the first version stores an empty object. Configuration authoring must be enabled for your organization to supply config. Otherwise, supplying it, including an empty object, returns HTTP 403.
configVersioned 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.
descriptionOptional description of the prompt.
env_idsOptional feature-flag environment UUIDs the service attempts to enable and configure to use the first version as their default after creation.
labelsDEPRECATED Optional labels to attach to the first version. Do not use this attribute for new integrations.
prompt_id [required]Customer-provided identifier for the new prompt.
template [required]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 1A text prompt template.
Object 2A 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 1A single chat message in a prompt template.
content [required]Content of the message.
role [required]Role of the message (for example system, user, or assistant).
<type=placeholder>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]Name used to supply the message list when formatting the prompt.
type [required]Type of chat-template item.
placeholderObject 3A chat prompt whose authored items are stored under messages.
messages [required]A chat prompt containing messages, references to specific versions of other prompts, or both.
Object 1A single chat message in a prompt template.
content [required]Content of the message.
role [required]Role of the message (for example system, user, or assistant).
Object 2Includes all or selected messages from a specific version of another prompt.
include [required]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.
itemsZero-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]Customer-provided identifier of the included prompt.
version [required]Positive sequential version number of the included prompt.
titleOptional title of the prompt.
user_versionOptional user-supplied version identifier for the first version.
type [required]Resource type of an Agent Observability prompt.
prompt-templates{
"data": {
"attributes": {
"config": {
"model": "provider-model",
"response_format": {
"type": "json_object"
},
"temperature": 0.2
},
"description": "string",
"env_ids": [],
"labels": [],
"prompt_id": "customer-support-assistant",
"template": {
"description": "You are a helpful assistant for {{audience}}.",
"minLength": "You are a helpful assistant for {{audience}}.",
"pattern": "You are a helpful assistant for {{audience}}.",
"type": "You are a helpful assistant for {{audience}}."
},
"title": "string",
"user_version": "string"
},
"type": "prompt-templates"
}
}Réponse
OK
Response returned after creating an Agent Observability prompt.
data [required]Data object returned after creating an Agent Observability prompt.
attributes [required]Attributes returned after creating an Agent Observability prompt and its first version. Empty config is omitted when configuration authoring is disabled for the organization. Non-empty saved configuration is always returned.
authorUUID of the user who authored the prompt.
configVersioned 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_atTimestamp when the prompt was created.
created_from [required]Source that created the prompt, such as ui-registry, sdk-registry, or sdk-instrumentation.
datasetsDatasets observed in runs associated with this prompt.
id [required]Unique identifier of the dataset.
nameName of the dataset.
descriptionDescription of the prompt.
extracted_fromSource prompt from which this prompt was extracted, when applicable.
in_registry [required]Whether the prompt is a registry entry (as opposed to a code-discovered prompt).
last_seen_atTimestamp of the most recent observed run of this prompt.
last_version_created_atTimestamp when the most recent version of the prompt was created.
ml_appThe ML application this prompt is associated with.
ml_appsML applications observed running this prompt.
num_versions [required]Number of versions of the prompt.
prompt_id [required]Customer-provided identifier of the prompt.
source [required]Whether the prompt was created from the registry or discovered from observed LLM calls.
registry, codetagsTags observed on runs of this prompt.
titleTitle of the prompt.
id [required]Unique identifier of the prompt.
type [required]Resource type of an Agent Observability prompt.
prompt-templates{
"data": {
"attributes": {
"author": "string",
"config": {
"model": "provider-model",
"response_format": {
"type": "json_object"
},
"temperature": 0.2
},
"created_at": "2019-09-19T10:00:00.000Z",
"created_from": "sdk-registry",
"datasets": [
{
"id": "",
"name": "string"
}
],
"description": "string",
"extracted_from": "string",
"in_registry": true,
"last_seen_at": "2019-09-19T10:00:00.000Z",
"last_version_created_at": "2019-09-19T10:00:00.000Z",
"ml_app": "string",
"ml_apps": [],
"num_versions": 1,
"prompt_id": "customer-support-assistant",
"source": "registry",
"tags": [],
"title": "string"
},
"id": "4a1a28ff-8a25-5f0f-946f-f48264d772eb",
"type": "prompt-templates"
}
}Bad Request
API error response.
errors [required]A list of errors.
detailA human-readable explanation specific to this occurrence of the error.
metaNon-standard meta-information about the error
sourceReferences to the source of the error.
headerA string indicating the name of a single request header which caused the error.
parameterA string indicating which URI query parameter caused the error.
pointerA JSON pointer to the value in the request document that caused the error.
statusStatus code of the response.
titleShort 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.
errors [required]A list of errors.
detailA human-readable explanation specific to this occurrence of the error.
metaNon-standard meta-information about the error
sourceReferences to the source of the error.
headerA string indicating the name of a single request header which caused the error.
parameterA string indicating which URI query parameter caused the error.
pointerA JSON pointer to the value in the request document that caused the error.
statusStatus code of the response.
titleShort 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.
errors [required]A list of errors.
detailA human-readable explanation specific to this occurrence of the error.
metaNon-standard meta-information about the error
sourceReferences to the source of the error.
headerA string indicating the name of a single request header which caused the error.
parameterA string indicating which URI query parameter caused the error.
pointerA JSON pointer to the value in the request document that caused the error.
statusStatus code of the response.
titleShort 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"
}
]
}Conflict
API error response.
errors [required]A list of errors.
detailA human-readable explanation specific to this occurrence of the error.
metaNon-standard meta-information about the error
sourceReferences to the source of the error.
headerA string indicating the name of a single request header which caused the error.
parameterA string indicating which URI query parameter caused the error.
pointerA JSON pointer to the value in the request document that caused the error.
statusStatus code of the response.
titleShort 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.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Exemple de code
# Set your Datadog site and credentials
export DD_SITE="datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/llm-obs/v1/prompts" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"config": {
"model": "provider-model",
"response_format": {
"type": "json_object"
},
"temperature": 0.2
},
"description": "Answers customer questions using the company knowledge base.",
"prompt_id": "customer-support-assistant",
"template": [
{
"content": "You are a helpful customer support assistant for {{company_name}}.",
"role": "system"
},
{
"content": "Help {{customer_name}} with this question: {{question}}",
"role": "user"
}
],
"title": "Customer Support Assistant"
},
"type": "prompt-templates"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us3.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/llm-obs/v1/prompts" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"config": {
"model": "provider-model",
"response_format": {
"type": "json_object"
},
"temperature": 0.2
},
"description": "Answers customer questions using the company knowledge base.",
"prompt_id": "customer-support-assistant",
"template": [
{
"content": "You are a helpful customer support assistant for {{company_name}}.",
"role": "system"
},
{
"content": "Help {{customer_name}} with this question: {{question}}",
"role": "user"
}
],
"title": "Customer Support Assistant"
},
"type": "prompt-templates"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us5.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/llm-obs/v1/prompts" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"config": {
"model": "provider-model",
"response_format": {
"type": "json_object"
},
"temperature": 0.2
},
"description": "Answers customer questions using the company knowledge base.",
"prompt_id": "customer-support-assistant",
"template": [
{
"content": "You are a helpful customer support assistant for {{company_name}}.",
"role": "system"
},
{
"content": "Help {{customer_name}} with this question: {{question}}",
"role": "user"
}
],
"title": "Customer Support Assistant"
},
"type": "prompt-templates"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="datadoghq.eu"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/llm-obs/v1/prompts" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"config": {
"model": "provider-model",
"response_format": {
"type": "json_object"
},
"temperature": 0.2
},
"description": "Answers customer questions using the company knowledge base.",
"prompt_id": "customer-support-assistant",
"template": [
{
"content": "You are a helpful customer support assistant for {{company_name}}.",
"role": "system"
},
{
"content": "Help {{customer_name}} with this question: {{question}}",
"role": "user"
}
],
"title": "Customer Support Assistant"
},
"type": "prompt-templates"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ap1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/llm-obs/v1/prompts" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"config": {
"model": "provider-model",
"response_format": {
"type": "json_object"
},
"temperature": 0.2
},
"description": "Answers customer questions using the company knowledge base.",
"prompt_id": "customer-support-assistant",
"template": [
{
"content": "You are a helpful customer support assistant for {{company_name}}.",
"role": "system"
},
{
"content": "Help {{customer_name}} with this question: {{question}}",
"role": "user"
}
],
"title": "Customer Support Assistant"
},
"type": "prompt-templates"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ap2.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/llm-obs/v1/prompts" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"config": {
"model": "provider-model",
"response_format": {
"type": "json_object"
},
"temperature": 0.2
},
"description": "Answers customer questions using the company knowledge base.",
"prompt_id": "customer-support-assistant",
"template": [
{
"content": "You are a helpful customer support assistant for {{company_name}}.",
"role": "system"
},
{
"content": "Help {{customer_name}} with this question: {{question}}",
"role": "user"
}
],
"title": "Customer Support Assistant"
},
"type": "prompt-templates"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="uk1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/llm-obs/v1/prompts" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"config": {
"model": "provider-model",
"response_format": {
"type": "json_object"
},
"temperature": 0.2
},
"description": "Answers customer questions using the company knowledge base.",
"prompt_id": "customer-support-assistant",
"template": [
{
"content": "You are a helpful customer support assistant for {{company_name}}.",
"role": "system"
},
{
"content": "Help {{customer_name}} with this question: {{question}}",
"role": "user"
}
],
"title": "Customer Support Assistant"
},
"type": "prompt-templates"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/llm-obs/v1/prompts" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"config": {
"model": "provider-model",
"response_format": {
"type": "json_object"
},
"temperature": 0.2
},
"description": "Answers customer questions using the company knowledge base.",
"prompt_id": "customer-support-assistant",
"template": [
{
"content": "You are a helpful customer support assistant for {{company_name}}.",
"role": "system"
},
{
"content": "Help {{customer_name}} with this question: {{question}}",
"role": "user"
}
],
"title": "Customer Support Assistant"
},
"type": "prompt-templates"
}
}
EOF# Set your Datadog site and credentials
export DD_SITE="us2.ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/llm-obs/v1/prompts" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"config": {
"model": "provider-model",
"response_format": {
"type": "json_object"
},
"temperature": 0.2
},
"description": "Answers customer questions using the company knowledge base.",
"prompt_id": "customer-support-assistant",
"template": [
{
"content": "You are a helpful customer support assistant for {{company_name}}.",
"role": "system"
},
{
"content": "Help {{customer_name}} with this question: {{question}}",
"role": "user"
}
],
"title": "Customer Support Assistant"
},
"type": "prompt-templates"
}
}
EOF// Create an Agent Observability prompt 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() {
body := datadogV2.LLMObsCreatePromptRequest{
Data: datadogV2.LLMObsCreatePromptData{
Attributes: datadogV2.LLMObsCreatePromptDataAttributes{
Config: map[string]interface{}{
"model": "provider-model",
"response_format": "{'type': 'json_object'}",
"temperature": 0.2,
},
EnvIds: []string{},
Labels: []datadogV2.LLMObsPromptVersionLabel{
datadogV2.LLMOBSPROMPTVERSIONLABEL_PRODUCTION,
},
PromptId: "customer-support-assistant",
Template: datadogV2.LLMObsPromptTemplate{
LLMObsPromptTextTemplate: datadog.PtrString("You are a helpful assistant for .")},
},
Type: datadogV2.LLMOBSPROMPTTYPE_PROMPT_TEMPLATES,
},
}
ctx := datadog.NewDefaultContext(context.Background())
ctx = context.WithValue(ctx, datadog.ContextAccessToken, os.Getenv("DD_BEARER_TOKEN"))
configuration := datadog.NewConfiguration()
configuration.SetUnstableOperationEnabled("v2.CreateLLMObsPrompt", true)
apiClient := datadog.NewAPIClient(configuration)
api := datadogV2.NewAgentObservabilityApi(apiClient)
resp, r, err := api.CreateLLMObsPrompt(ctx, body)
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `AgentObservabilityApi.CreateLLMObsPrompt`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `AgentObservabilityApi.CreateLLMObsPrompt`:\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.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"// Create an Agent Observability prompt 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.LLMObsCreatePromptData;
import com.datadog.api.client.v2.model.LLMObsCreatePromptDataAttributes;
import com.datadog.api.client.v2.model.LLMObsCreatePromptRequest;
import com.datadog.api.client.v2.model.LLMObsCreatePromptResponse;
import com.datadog.api.client.v2.model.LLMObsPromptTemplate;
import com.datadog.api.client.v2.model.LLMObsPromptType;
import com.datadog.api.client.v2.model.LLMObsPromptVersionLabel;
import java.util.Collections;
import java.util.Map;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
defaultClient.setAccessToken(System.getenv("DD_BEARER_TOKEN"));
defaultClient.setUnstableOperationEnabled("v2.createLLMObsPrompt", true);
AgentObservabilityApi apiInstance = new AgentObservabilityApi(defaultClient);
LLMObsCreatePromptRequest body =
new LLMObsCreatePromptRequest()
.data(
new LLMObsCreatePromptData()
.attributes(
new LLMObsCreatePromptDataAttributes()
.config(
Map.ofEntries(
Map.entry("model", "provider-model"),
Map.entry("response_format", "{'type': 'json_object'}"),
Map.entry("temperature", "0.2")))
.labels(Collections.singletonList(LLMObsPromptVersionLabel.PRODUCTION))
.promptId("customer-support-assistant")
.template(
new LLMObsPromptTemplate("You are a helpful assistant for .")))
.type(LLMObsPromptType.PROMPT_TEMPLATES));
try {
LLMObsCreatePromptResponse result = apiInstance.createLLMObsPrompt(body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AgentObservabilityApi#createLLMObsPrompt");
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.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java""""
Create an Agent Observability prompt 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
from datadog_api_client.v2.model.llm_obs_create_prompt_data import LLMObsCreatePromptData
from datadog_api_client.v2.model.llm_obs_create_prompt_data_attributes import LLMObsCreatePromptDataAttributes
from datadog_api_client.v2.model.llm_obs_create_prompt_request import LLMObsCreatePromptRequest
from datadog_api_client.v2.model.llm_obs_prompt_config import LLMObsPromptConfig
from datadog_api_client.v2.model.llm_obs_prompt_type import LLMObsPromptType
from datadog_api_client.v2.model.llm_obs_prompt_version_label import LLMObsPromptVersionLabel
body = LLMObsCreatePromptRequest(
data=LLMObsCreatePromptData(
attributes=LLMObsCreatePromptDataAttributes(
config=LLMObsPromptConfig(
[("model", "provider-model"), ("response_format", "{'type': 'json_object'}"), ("temperature", "0.2")]
),
env_ids=[],
labels=[
LLMObsPromptVersionLabel.PRODUCTION,
],
prompt_id="customer-support-assistant",
template="You are a helpful assistant for .",
),
type=LLMObsPromptType.PROMPT_TEMPLATES,
),
)
configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
configuration.unstable_operations["create_llm_obs_prompt"] = True
with ApiClient(configuration) as api_client:
api_instance = AgentObservabilityApi(api_client)
response = api_instance.create_llm_obs_prompt(body=body)
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.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"# Create an Agent Observability prompt returns "OK" response
require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.access_token = ENV["DD_BEARER_TOKEN"]
config.unstable_operations["v2.create_llm_obs_prompt".to_sym] = true
end
api_instance = DatadogAPIClient::V2::AgentObservabilityAPI.new
body = DatadogAPIClient::V2::LLMObsCreatePromptRequest.new({
data: DatadogAPIClient::V2::LLMObsCreatePromptData.new({
attributes: DatadogAPIClient::V2::LLMObsCreatePromptDataAttributes.new({
config: DatadogAPIClient::V2::LLMObsPromptConfig.new({}),
env_ids: [],
labels: [
DatadogAPIClient::V2::LLMObsPromptVersionLabel::PRODUCTION,
],
prompt_id: "customer-support-assistant",
template: "You are a helpful assistant for .",
}),
type: DatadogAPIClient::V2::LLMObsPromptType::PROMPT_TEMPLATES,
}),
})
p api_instance.create_llm_obs_prompt(body)
Instructions
First install the library and its dependencies and then save the example to example.rb and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"// Create an Agent Observability prompt returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_agent_observability::AgentObservabilityAPI;
use datadog_api_client::datadogV2::model::LLMObsCreatePromptData;
use datadog_api_client::datadogV2::model::LLMObsCreatePromptDataAttributes;
use datadog_api_client::datadogV2::model::LLMObsCreatePromptRequest;
use datadog_api_client::datadogV2::model::LLMObsPromptTemplate;
use datadog_api_client::datadogV2::model::LLMObsPromptType;
use datadog_api_client::datadogV2::model::LLMObsPromptVersionLabel;
use serde_json::Value;
use std::collections::BTreeMap;
#[tokio::main]
async fn main() {
let body = LLMObsCreatePromptRequest::new(LLMObsCreatePromptData::new(
LLMObsCreatePromptDataAttributes::new(
"customer-support-assistant".to_string(),
LLMObsPromptTemplate::LLMObsPromptTextTemplate(
"You are a helpful assistant for .".to_string(),
),
)
.config(BTreeMap::from([
("model".to_string(), Value::from("provider-model")),
("temperature".to_string(), Value::from(0.2)),
]))
.env_ids(vec![])
.labels(vec![LLMObsPromptVersionLabel::PRODUCTION]),
LLMObsPromptType::PROMPT_TEMPLATES,
));
let mut configuration = datadog::Configuration::new();
configuration.set_unstable_operation_enabled("v2.create_llm_obs_prompt", true);
let api = AgentObservabilityAPI::with_config(configuration);
let resp = api.create_llm_obs_prompt(body).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.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us3.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us5.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="datadoghq.eu" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ap1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ap2.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="uk1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run/**
* Create an Agent Observability prompt 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.createLLMObsPrompt"] = true;
const apiInstance = new v2.AgentObservabilityApi(configuration);
const params: v2.AgentObservabilityApiCreateLLMObsPromptRequest = {
body: {
data: {
attributes: {
config: {
model: "provider-model",
response_format: "{'type': 'json_object'}",
temperature: "0.2",
},
envIds: [],
labels: ["production"],
promptId: "customer-support-assistant",
template: "You are a helpful assistant for .",
},
type: "prompt-templates",
},
},
};
apiInstance
.createLLMObsPrompt(params)
.then((data: v2.LLMObsCreatePromptResponse) => {
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.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"