curl --request POST \
--url https://forge.coreweave.com/api/distillation/v1/projects/{alias}/datasets/{datasetId}/entries \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
[
{
"messages": [
{}
],
"row_id": "<string>",
"group_id": "<string>",
"tools": [
{
"type": "function",
"function": {
"name": "<string>",
"description": "<string>",
"parameters": {},
"strict": true
}
}
],
"tool_choice": "<unknown>",
"response_format": "<unknown>",
"metadata": {},
"provenance": {}
}
]
'import requests
url = "https://forge.coreweave.com/api/distillation/v1/projects/{alias}/datasets/{datasetId}/entries"
payload = [
{
"messages": [{}],
"row_id": "<string>",
"group_id": "<string>",
"tools": [
{
"type": "function",
"function": {
"name": "<string>",
"description": "<string>",
"parameters": {},
"strict": True
}
}
],
"tool_choice": "<unknown>",
"response_format": "<unknown>",
"metadata": {},
"provenance": {}
}
]
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify([
{
messages: [{}],
row_id: '<string>',
group_id: '<string>',
tools: [
{
type: 'function',
function: {name: '<string>', description: '<string>', parameters: {}, strict: true}
}
],
tool_choice: '<unknown>',
response_format: '<unknown>',
metadata: {},
provenance: {}
}
])
};
fetch('https://forge.coreweave.com/api/distillation/v1/projects/{alias}/datasets/{datasetId}/entries', 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://forge.coreweave.com/api/distillation/v1/projects/{alias}/datasets/{datasetId}/entries",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
[
'messages' => [
[
]
],
'row_id' => '<string>',
'group_id' => '<string>',
'tools' => [
[
'type' => 'function',
'function' => [
'name' => '<string>',
'description' => '<string>',
'parameters' => [
],
'strict' => true
]
]
],
'tool_choice' => '<unknown>',
'response_format' => '<unknown>',
'metadata' => [
],
'provenance' => [
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://forge.coreweave.com/api/distillation/v1/projects/{alias}/datasets/{datasetId}/entries"
payload := strings.NewReader("[\n {\n \"messages\": [\n {}\n ],\n \"row_id\": \"<string>\",\n \"group_id\": \"<string>\",\n \"tools\": [\n {\n \"type\": \"function\",\n \"function\": {\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"parameters\": {},\n \"strict\": true\n }\n }\n ],\n \"tool_choice\": \"<unknown>\",\n \"response_format\": \"<unknown>\",\n \"metadata\": {},\n \"provenance\": {}\n }\n]")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://forge.coreweave.com/api/distillation/v1/projects/{alias}/datasets/{datasetId}/entries")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("[\n {\n \"messages\": [\n {}\n ],\n \"row_id\": \"<string>\",\n \"group_id\": \"<string>\",\n \"tools\": [\n {\n \"type\": \"function\",\n \"function\": {\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"parameters\": {},\n \"strict\": true\n }\n }\n ],\n \"tool_choice\": \"<unknown>\",\n \"response_format\": \"<unknown>\",\n \"metadata\": {},\n \"provenance\": {}\n }\n]")
.asString();require 'uri'
require 'net/http'
url = URI("https://forge.coreweave.com/api/distillation/v1/projects/{alias}/datasets/{datasetId}/entries")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "[\n {\n \"messages\": [\n {}\n ],\n \"row_id\": \"<string>\",\n \"group_id\": \"<string>\",\n \"tools\": [\n {\n \"type\": \"function\",\n \"function\": {\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"parameters\": {},\n \"strict\": true\n }\n }\n ],\n \"tool_choice\": \"<unknown>\",\n \"response_format\": \"<unknown>\",\n \"metadata\": {},\n \"provenance\": {}\n }\n]"
response = http.request(request)
puts response.read_body{
"dry_run": true,
"created": 123,
"updated": 123,
"revision": 123,
"entry_counts": {
"total": 123,
"train": 123,
"val": 123
},
"group_conflicts": [
"<string>"
]
}{
"error": {
"message": "Project 'missing' not found in entity 'your-team'",
"type": "not_found"
}
}데이터셋 항목 추가 또는 교체
단일 트랜잭션으로 최대 5,000개의 OpenAI 채팅 행을 기록합니다. JSON 배열을 보내거나, 동일한 행을 NDJSON(줄당 하나의 행) 형식으로 Content-Type: application/x-ndjson과 함께 보내세요. 유효하지 않은 행이 하나라도 있으면 요청이 거부되고 해당 행의 인덱스가 보고됩니다. NDJSON의 N번째 줄에 해당하는 인덱스는 N - 1입니다. mode=append는 이미 존재하는 row_id를 거부합니다(409 entry_exists). mode=upsert는 해당 행을 대체하되, 행에서 group_id, split, metadata, provenance 중 생략한 필드는 기존에 저장된 값을 유지합니다. 새 항목은 기본적으로 train과 자체 그룹에 할당됩니다. 쓰기 작업으로 인해 하나의 그룹이 둘 이상의 분할에 속하게 되면 409 group_split_conflict가 반환됩니다. 쓰기 작업은 데이터셋을 새 리비전으로 갱신하고, 완료된 재라벨링과 평가를 최신 상태가 아닌 것으로 표시합니다.
curl --request POST \
--url https://forge.coreweave.com/api/distillation/v1/projects/{alias}/datasets/{datasetId}/entries \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
[
{
"messages": [
{}
],
"row_id": "<string>",
"group_id": "<string>",
"tools": [
{
"type": "function",
"function": {
"name": "<string>",
"description": "<string>",
"parameters": {},
"strict": true
}
}
],
"tool_choice": "<unknown>",
"response_format": "<unknown>",
"metadata": {},
"provenance": {}
}
]
'import requests
url = "https://forge.coreweave.com/api/distillation/v1/projects/{alias}/datasets/{datasetId}/entries"
payload = [
{
"messages": [{}],
"row_id": "<string>",
"group_id": "<string>",
"tools": [
{
"type": "function",
"function": {
"name": "<string>",
"description": "<string>",
"parameters": {},
"strict": True
}
}
],
"tool_choice": "<unknown>",
"response_format": "<unknown>",
"metadata": {},
"provenance": {}
}
]
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify([
{
messages: [{}],
row_id: '<string>',
group_id: '<string>',
tools: [
{
type: 'function',
function: {name: '<string>', description: '<string>', parameters: {}, strict: true}
}
],
tool_choice: '<unknown>',
response_format: '<unknown>',
metadata: {},
provenance: {}
}
])
};
fetch('https://forge.coreweave.com/api/distillation/v1/projects/{alias}/datasets/{datasetId}/entries', 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://forge.coreweave.com/api/distillation/v1/projects/{alias}/datasets/{datasetId}/entries",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
[
'messages' => [
[
]
],
'row_id' => '<string>',
'group_id' => '<string>',
'tools' => [
[
'type' => 'function',
'function' => [
'name' => '<string>',
'description' => '<string>',
'parameters' => [
],
'strict' => true
]
]
],
'tool_choice' => '<unknown>',
'response_format' => '<unknown>',
'metadata' => [
],
'provenance' => [
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://forge.coreweave.com/api/distillation/v1/projects/{alias}/datasets/{datasetId}/entries"
payload := strings.NewReader("[\n {\n \"messages\": [\n {}\n ],\n \"row_id\": \"<string>\",\n \"group_id\": \"<string>\",\n \"tools\": [\n {\n \"type\": \"function\",\n \"function\": {\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"parameters\": {},\n \"strict\": true\n }\n }\n ],\n \"tool_choice\": \"<unknown>\",\n \"response_format\": \"<unknown>\",\n \"metadata\": {},\n \"provenance\": {}\n }\n]")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://forge.coreweave.com/api/distillation/v1/projects/{alias}/datasets/{datasetId}/entries")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("[\n {\n \"messages\": [\n {}\n ],\n \"row_id\": \"<string>\",\n \"group_id\": \"<string>\",\n \"tools\": [\n {\n \"type\": \"function\",\n \"function\": {\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"parameters\": {},\n \"strict\": true\n }\n }\n ],\n \"tool_choice\": \"<unknown>\",\n \"response_format\": \"<unknown>\",\n \"metadata\": {},\n \"provenance\": {}\n }\n]")
.asString();require 'uri'
require 'net/http'
url = URI("https://forge.coreweave.com/api/distillation/v1/projects/{alias}/datasets/{datasetId}/entries")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "[\n {\n \"messages\": [\n {}\n ],\n \"row_id\": \"<string>\",\n \"group_id\": \"<string>\",\n \"tools\": [\n {\n \"type\": \"function\",\n \"function\": {\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"parameters\": {},\n \"strict\": true\n }\n }\n ],\n \"tool_choice\": \"<unknown>\",\n \"response_format\": \"<unknown>\",\n \"metadata\": {},\n \"provenance\": {}\n }\n]"
response = http.request(request)
puts response.read_body{
"dry_run": true,
"created": 123,
"updated": 123,
"revision": 123,
"entry_counts": {
"total": 123,
"train": 123,
"val": 123
},
"group_conflicts": [
"<string>"
]
}{
"error": {
"message": "Project 'missing' not found in entity 'your-team'",
"type": "not_found"
}
}인증
wandb API 키 또는 wandb JWT. 브라우저 세션은 Model Distillation 웹 앱 백엔드에서 교환하며, 작업 권한은 내부에서만 사용됩니다.
헤더
액세스 가능한 개인 또는 팀 entity. 인증된 사용자의 기본 entity를 사용하려면 생략하세요.
쿼리 매개변수
append는 row_id가 이미 존재하는 행을 거부하고, upsert는 해당 행을 대체합니다.
append, upsert 변경 사항을 검증하고 보고한 다음 롤백하세요.
본문
1 - 5000 elements2 - 1000 elementsShow child attributes
Show child attributes
데이터셋 내에서 변하지 않는 ID. 업서트 시 이 ID로 일치하는 항목을 찾습니다. 기본값은 메시지와 요청 필드의 다이제스트입니다.
1 - 512하나의 대화에 속한 턴처럼 동일한 분할에 속해야 하는 행. 기본값은 row_id입니다.
1 - 512train 또는 val. 평가용으로 행을 트레이닝에서 제외하려면 val을 사용하세요. 새 행의 기본값은 train입니다.
train, val 128Show child attributes
Show child attributes
사용자나 고객 세그먼트 등 필터링에 사용할 수 있는 속성.
Show child attributes
Show child attributes
원본 시스템이나 트레이스 ID 등 행의 출처 정보.
Show child attributes
Show child attributes
이 페이지가 도움이 되었나요?