Files API を使用すると、ファイルのアップロード、一覧表示、取得、ダウンロード、削除ができます。アップロードされたファイルは、ファイルソースタイプのドキュメントコンテンツブロックを使用してメッセージ内で参照できます。
注意: Files API にはベータヘッダー files-api-2025-04-14 が必要です。AnthropicOptions.BetaHeaders プロパティで設定してください。
Anthropic := TsgcHTTP_API_Anthropic.Create(nil);
Anthropic.AnthropicOptions.ApiKey := 'API_KEY';
Anthropic.AnthropicOptions.BetaHeaders := 'files-api-2025-04-14';
oFile := Anthropic.UploadFile('C:\documents\report.pdf');
Try
WriteLn('File ID: ' + oFile.Id);
WriteLn('Filename: ' + oFile.Filename);
WriteLn('Size: ' + IntToStr(oFile.SizeBytes) + ' bytes');
WriteLn('MIME Type: ' + oFile.MimeType);
Finally
oFile.Free;
End;
oList := Anthropic.ListFiles(50);
Try
for i := 0 to Length(oList.Data) - 1 do
WriteLn(Format('%s - %s (%d bytes)',
[oList.Data[i].Id, oList.Data[i].Filename, oList.Data[i].SizeBytes]));
WriteLn('Has more: ' + BoolToStr(oList.HasMore, True));
Finally
oList.Free;
End;
SourceType を 'file' に設定したドキュメントコンテンツブロックを使用して、アップロードされたファイルを参照します。
oDocBlock := TsgcAnthropicClass_Request_Content_Block.Create;
oDocBlock.ContentType := 'document';
oDocBlock.SourceType := 'file';
oDocBlock.FileId := 'file_abc123'; // ID from UploadFile
oTextBlock := TsgcAnthropicClass_Request_Content_Block.Create;
oTextBlock.ContentType := 'text';
oTextBlock.Text := 'Summarize this document.';
oDeleted := Anthropic.DeleteFile('file_abc123');
Try
WriteLn('Deleted: ' + oDeleted.Id);
Finally
oDeleted.Free;
End;