AI Configs
Get AI Config metrics by variation
For the complete documentation index, see llms.txt. For the full documentation snapshot, see llms-full.txt.
Retrieve usage metrics for an AI Config by config key, with results split by variation.
GET
/
api
/
v2
/
projects
/
{projectKey}
/
ai-configs
/
{configKey}
/
metrics-by-variation
Get AI Config metrics by variation
curl --request GET \
--url https://app.launchdarkly.com/api/v2/projects/{projectKey}/ai-configs/{configKey}/metrics-by-variation \
--header 'Authorization: <api-key>'import requests
url = "https://app.launchdarkly.com/api/v2/projects/{projectKey}/ai-configs/{configKey}/metrics-by-variation"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://app.launchdarkly.com/api/v2/projects/{projectKey}/ai-configs/{configKey}/metrics-by-variation', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.launchdarkly.com/api/v2/projects/{projectKey}/ai-configs/{configKey}/metrics-by-variation",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.launchdarkly.com/api/v2/projects/{projectKey}/ai-configs/{configKey}/metrics-by-variation"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.launchdarkly.com/api/v2/projects/{projectKey}/ai-configs/{configKey}/metrics-by-variation")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.launchdarkly.com/api/v2/projects/{projectKey}/ai-configs/{configKey}/metrics-by-variation")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"metrics": {
"judgeRelevance": 0.14894159,
"inputCost": 7.386281948385884,
"outputCost": 1.2315135367772556,
"generationSuccessCount": 5,
"inputTokens": 0,
"generationErrorCount": 2,
"thumbsDown": 9,
"judgeToxicity": 0.6846853,
"totalTokens": 1,
"judgeAccuracy": 0.10246457,
"generationCount": 5,
"timeToFirstTokenMs": 2,
"outputTokens": 6,
"thumbsUp": 7,
"durationMs": 3,
"satisfactionRating": 0.4145608
},
"variationKey": "variationKey"
}
]{
"code": "code",
"message": "message"
}{
"code": "code",
"message": "message"
}{
"code": "code",
"message": "message"
}{
"code": "code",
"message": "message"
}Authorizations
Query Parameters
The starting time, as milliseconds since epoch (inclusive).
The ending time, as milliseconds since epoch (exclusive). May not be more than 100 days after from.
An environment key. Only metrics from this environment will be included.
Response
Metrics computed
Show child attributes
Show child attributes
Example:
{
"judgeRelevance": 0.14894159,
"inputCost": 7.386281948385884,
"outputCost": 1.2315135367772556,
"generationSuccessCount": 5,
"inputTokens": 0,
"generationErrorCount": 2,
"thumbsDown": 9,
"judgeToxicity": 0.6846853,
"totalTokens": 1,
"judgeAccuracy": 0.10246457,
"generationCount": 5,
"timeToFirstTokenMs": 2,
"outputTokens": 6,
"thumbsUp": 7,
"durationMs": 3,
"satisfactionRating": 0.4145608
}
⌘I
Get AI Config metrics by variation
curl --request GET \
--url https://app.launchdarkly.com/api/v2/projects/{projectKey}/ai-configs/{configKey}/metrics-by-variation \
--header 'Authorization: <api-key>'import requests
url = "https://app.launchdarkly.com/api/v2/projects/{projectKey}/ai-configs/{configKey}/metrics-by-variation"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://app.launchdarkly.com/api/v2/projects/{projectKey}/ai-configs/{configKey}/metrics-by-variation', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.launchdarkly.com/api/v2/projects/{projectKey}/ai-configs/{configKey}/metrics-by-variation",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.launchdarkly.com/api/v2/projects/{projectKey}/ai-configs/{configKey}/metrics-by-variation"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.launchdarkly.com/api/v2/projects/{projectKey}/ai-configs/{configKey}/metrics-by-variation")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.launchdarkly.com/api/v2/projects/{projectKey}/ai-configs/{configKey}/metrics-by-variation")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"metrics": {
"judgeRelevance": 0.14894159,
"inputCost": 7.386281948385884,
"outputCost": 1.2315135367772556,
"generationSuccessCount": 5,
"inputTokens": 0,
"generationErrorCount": 2,
"thumbsDown": 9,
"judgeToxicity": 0.6846853,
"totalTokens": 1,
"judgeAccuracy": 0.10246457,
"generationCount": 5,
"timeToFirstTokenMs": 2,
"outputTokens": 6,
"thumbsUp": 7,
"durationMs": 3,
"satisfactionRating": 0.4145608
},
"variationKey": "variationKey"
}
]{
"code": "code",
"message": "message"
}{
"code": "code",
"message": "message"
}{
"code": "code",
"message": "message"
}{
"code": "code",
"message": "message"
}