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"
}
}データセットのエントリを追加または置換する
1 回のトランザクションで最大 5,000 行の OpenAI チャットデータを書き込みます。JSON 配列、または同じデータを NDJSON(1 行につき 1 レコード)形式で、Content-Type: application/x-ndjson を指定して送信します。無効な行が 1 つでもあるとリクエストは拒否され、その行のインデックスが報告されます。NDJSON の N 行目のインデックスは N - 1 です。mode=append は既存の row_id を拒否します(409 entry_exists)。mode=upsert は既存の行を置き換えますが、行で省略された group_id、split、metadata、provenance については保存済みの値を保持します。新しいエントリはデフォルトで train に割り当てられ、それぞれ個別のグループに属します。1 つのグループが複数の分割にまたがる書き込みは、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
データセット内で変わらない識別子です。アップサート時はこの識別子で照合します。デフォルトはメッセージとリクエストフィールドのダイジェストです。
1 - 5121 つの会話の各ターンなど、同じ分割に属する必要がある行をまとめます。デフォルトは row_id です。
1 - 512train を指定するか、評価用に行をトレーニングから除外する場合は val を指定します。新しい行のデフォルトは train です。
train, val 128Show child attributes
Show child attributes
ユーザーや顧客セグメントなど、フィルターに使用できる属性です。
Show child attributes
Show child attributes
ソースシステムやトレース ID など、行の出所を示す情報です。
Show child attributes
Show child attributes
レスポンス
エントリが書き込まれました。ドライランの場合は、実際に実行した場合に書き込まれるエントリを示します。
このページは役に立ちましたか?