Was this page helpful?
Anda dapat menyediakan file ke agen Anda dengan mengunggahnya melalui Files API dan memasangnya di container sesi.
Semua permintaan Managed Agents API memerlukan header beta managed-agents-2026-04-01. SDK menetapkan header beta secara otomatis.
Pertama, unggah file menggunakan Files API:
file=$(curl --fail-with-body -sS "${auth[@]}" \
"${base_url}/files" \
-F [email protected])
file_id=$(jq -er '.id' <<<"${file}")
printf 'File ID: %s\n' "${file_id}"Pasang file yang telah diunggah ke dalam container dengan menambahkannya ke array resources saat membuat sesi:
mount_path bersifat opsional, tetapi pastikan file yang diunggah memiliki nama yang deskriptif sehingga agen mengetahui apa yang dicarinya.
file_id baru akan dibuat yang mereferensikan instans file dalam sesi. Salinan ini tidak dihitung terhadap batas penyimpanan Anda.
Pasang beberapa file dengan menambahkan entri ke array resources:
Maksimum 100 file didukung per sesi.
Anda dapat menambah atau menghapus file dari sesi setelah pembuatan menggunakan session resources API. Setiap resource memiliki id yang dikembalikan saat ditambahkan (atau didaftarkan), yang Anda gunakan untuk penghapusan.
Daftarkan semua resource pada sesi dengan resources.list. Untuk menghapus file, panggil resources.delete dengan ID resource:
Gunakan Files API untuk mendaftarkan file yang terkait dengan sesi dan mengunduhnya.
Agen dapat bekerja dengan jenis file apa pun, termasuk:
.py, .js, .ts, .go, .rs, dll.).csv, .json, .xml, .yaml).txt, .md).zip, .tar.gz) - agen dapat mengekstraknya menggunakan bashFile yang dipasang di container adalah salinan hanya-baca. Agen dapat membacanya tetapi tidak dapat memodifikasi file yang diunggah asli. Untuk bekerja dengan versi yang dimodifikasi, agen menulis ke jalur baru di dalam container.
/)session=$(
jq -n \
--arg agent_id "${agent_id}" \
--arg environment_id "${environment_id}" \
--arg file_id "${file_id}" \
'{
agent: $agent_id,
environment_id: $environment_id,
resources: [
{
type: "file",
file_id: $file_id,
mount_path: "/workspace/data.csv"
}
]
}' | curl --fail-with-body -sS "${auth[@]}" "${base_url}/sessions" --json @-
)
session_id=$(jq -er '.id' <<<"${session}")"resources": [
{ "type": "file", "file_id": "file_abc123", "mount_path": "/workspace/data.csv" },
{ "type": "file", "file_id": "file_def456", "mount_path": "/workspace/config.json" },
{ "type": "file", "file_id": "file_ghi789", "mount_path": "/workspace/src/main.py" }
]resource=$(
jq -n --arg file_id "${file_id}" '{type: "file", file_id: $file_id}' \
| curl --fail-with-body -sS "${auth[@]}" \
"${base_url}/sessions/${session_id}/resources" --json @-
)
resource_id=$(jq -er '.id' <<<"${resource}")
printf '%s\n' "${resource_id}" # "sesrsc_01ABC..."curl --fail-with-body -sS "${auth[@]}" \
"${base_url}/sessions/${session_id}/resources" \
| jq -r '.data[] | "\(.id) \(.type)"'
curl --fail-with-body -sS "${auth[@]}" -X DELETE \
"${base_url}/sessions/${session_id}/resources/${resource_id}" >/dev/null# Daftarkan file yang terkait dengan sesi
curl -fsSL "https://api.anthropic.com/v1/files?scope_id=sess_abc123" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: files-api-2025-04-14"
# Unduh file
curl -fsSL "https://api.anthropic.com/v1/files/$FILE_ID/content" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: files-api-2025-04-14" \
-o output.txt