Anthropic | Files API

Files API 允许您上传、列出、检索、下载和删除文件。已上传的文件可以通过文件源类型的文档内容块在消息中引用。

注意: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' 的文档内容块来引用已上传的文件。


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;

API 方法