Files API를 사용하면 파일을 업로드, 나열, 검색, 다운로드 및 삭제할 수 있습니다. 업로드된 파일은 file source 유형의 document 콘텐츠 블록을 사용하여 메시지에서 참조할 수 있습니다.
참고: Files API에는 beta 헤더 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'로 설정한 document 콘텐츠 블록을 사용하여 업로드된 파일을 참조합니다.
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;