curl --request POST \
--url https://forge.coreweave.com/api/distillation/v1/projects/{alias}/datasets/{datasetId}/uploads \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"idempotency_key": "<string>",
"file": {
"name": "<string>",
"size_bytes": 123
},
"mode": "append"
}
'import requests
url = "https://forge.coreweave.com/api/distillation/v1/projects/{alias}/datasets/{datasetId}/uploads"
payload = {
"idempotency_key": "<string>",
"file": {
"name": "<string>",
"size_bytes": 123
},
"mode": "append"
}
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({
idempotency_key: '<string>',
file: {name: '<string>', size_bytes: 123},
mode: 'append'
})
};
fetch('https://forge.coreweave.com/api/distillation/v1/projects/{alias}/datasets/{datasetId}/uploads', 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}/uploads",
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([
'idempotency_key' => '<string>',
'file' => [
'name' => '<string>',
'size_bytes' => 123
],
'mode' => 'append'
]),
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}/uploads"
payload := strings.NewReader("{\n \"idempotency_key\": \"<string>\",\n \"file\": {\n \"name\": \"<string>\",\n \"size_bytes\": 123\n },\n \"mode\": \"append\"\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}/uploads")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"idempotency_key\": \"<string>\",\n \"file\": {\n \"name\": \"<string>\",\n \"size_bytes\": 123\n },\n \"mode\": \"append\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://forge.coreweave.com/api/distillation/v1/projects/{alias}/datasets/{datasetId}/uploads")
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 \"idempotency_key\": \"<string>\",\n \"file\": {\n \"name\": \"<string>\",\n \"size_bytes\": 123\n },\n \"mode\": \"append\"\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"dataset_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"mode": "append",
"state": "uploading",
"error": "<string>",
"counters": {},
"expires_at": "2023-11-07T05:31:56Z",
"file": {
"name": "<string>",
"size_bytes": 123
},
"upload": {
"method": "PUT",
"url": "<string>",
"expires_at": "2023-11-07T05:31:56Z"
},
"validation": {
"validated_bytes": 123,
"validated_lines": 123,
"error_count": 123,
"errors_truncated": true,
"errors": [
{
"line": 123,
"code": "<string>",
"message": "<string>"
}
]
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"error": {
"message": "Project 'missing' not found in entity 'your-team'",
"type": "not_found"
}
}データセットへの JSONL アップロードを開始する
最大 1 GiB、100,000 行の JSONL ファイル 1 つを、既存の Postgres プレーンのデータセットにアップロードするためのセッションを開始します。各行は POST .../entries の行形式に従います。宣言したサイズと完全に一致するファイル全体を upload.url に PUT で送信し(例:curl -T rows.jsonl "$url")、その後 complete を呼び出します。URL は 15 分以内に使用する必要があります。新しい URL を取得するには、アップロードを GET で取得します。同じ idempotency_key でリクエストを繰り返すと、同じアップロードが返されます。
curl --request POST \
--url https://forge.coreweave.com/api/distillation/v1/projects/{alias}/datasets/{datasetId}/uploads \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"idempotency_key": "<string>",
"file": {
"name": "<string>",
"size_bytes": 123
},
"mode": "append"
}
'import requests
url = "https://forge.coreweave.com/api/distillation/v1/projects/{alias}/datasets/{datasetId}/uploads"
payload = {
"idempotency_key": "<string>",
"file": {
"name": "<string>",
"size_bytes": 123
},
"mode": "append"
}
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({
idempotency_key: '<string>',
file: {name: '<string>', size_bytes: 123},
mode: 'append'
})
};
fetch('https://forge.coreweave.com/api/distillation/v1/projects/{alias}/datasets/{datasetId}/uploads', 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}/uploads",
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([
'idempotency_key' => '<string>',
'file' => [
'name' => '<string>',
'size_bytes' => 123
],
'mode' => 'append'
]),
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}/uploads"
payload := strings.NewReader("{\n \"idempotency_key\": \"<string>\",\n \"file\": {\n \"name\": \"<string>\",\n \"size_bytes\": 123\n },\n \"mode\": \"append\"\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}/uploads")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"idempotency_key\": \"<string>\",\n \"file\": {\n \"name\": \"<string>\",\n \"size_bytes\": 123\n },\n \"mode\": \"append\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://forge.coreweave.com/api/distillation/v1/projects/{alias}/datasets/{datasetId}/uploads")
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 \"idempotency_key\": \"<string>\",\n \"file\": {\n \"name\": \"<string>\",\n \"size_bytes\": 123\n },\n \"mode\": \"append\"\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"dataset_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"mode": "append",
"state": "uploading",
"error": "<string>",
"counters": {},
"expires_at": "2023-11-07T05:31:56Z",
"file": {
"name": "<string>",
"size_bytes": 123
},
"upload": {
"method": "PUT",
"url": "<string>",
"expires_at": "2023-11-07T05:31:56Z"
},
"validation": {
"validated_bytes": 123,
"validated_lines": 123,
"error_count": 123,
"errors_truncated": true,
"errors": [
{
"line": 123,
"code": "<string>",
"message": "<string>"
}
]
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"error": {
"message": "Project 'missing' not found in entity 'your-team'",
"type": "not_found"
}
}承認
wandb APIキーまたは wandb JWT。ブラウザーセッションの交換は、Model Distillation ウェブアプリのバックエンドで行われます。ジョブのケイパビリティは内部専用です。
ヘッダー
アクセス可能な個人またはチーム entity。省略すると、認証済みユーザーのデフォルトの entity を使用します。
ボディ
レスポンス
アップロードセッションです。
append, upsert complete が呼び出されるまでは uploading、ワーカーが各行をチェックしている間は queued および validating、行がデータセットに格納されると committed になります。
uploading, queued, validating, committed, failed, cancelled, expired コミット後:rows、created、updated、revision、entry_counts。
Show child attributes
Show child attributes
アップロードを受け付けている間のファイルの送信先です。complete が呼び出されると null になります。
Show child attributes
Show child attributes
Show child attributes
Show child attributes
このページは役に立ちましたか?