La API de Archivos le permite subir, listar, recuperar, descargar y eliminar archivos. Los archivos subidos pueden referenciarse en mensajes usando bloques de contenido de documento con tipo de fuente de archivo.
Nota: La API de Files requiere la cabecera beta files-api-2025-04-14. Configúrela en la propiedad 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;
Haga referencia a los archivos subidos usando el bloque de contenido de documento con SourceType establecido en '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;