Hub Python Library documentation
API de sistema de arquivos
API de sistema de arquivos
A classe HfFileSystem fornece uma interface de arquivo pythonic para o Hugging Face Hub com base no fsspec.
HfFileSystem
HfFileSystem é baseado em fsspec, portanto é compatível com a maioria das APIs que ele oferece. Para mais detalhes, consulte nossa guia e a API Reference do fsspec.
classe huggingface_hub.HfFileSystem
< source >( *args**kwargs )
Parâmetros
- endpoint (
str, opcional) — Endpoint do Hub. O padrão é https://huggingface.co. - token (
boolorstr, opcional) — Um token de acesso de usuário válido (string). O padrão é o token salvo localmente, que é o método recomendado para autenticação (veja https://huggingface.co/docs/huggingface_hub/quick-start#authentication). Para desabilitar a autenticação, passeFalse. - block_size (
int, opcional) — Tamanho do bloco para leitura e gravação de arquivos. - expand_info (
bool, opcional) — Se deve expandir as informações dos arquivos. - max_workers (
int, opcional) — Número máximo de solicitações concorrentes usadas para listar grandes diretórios em paralelo (veja find()). O padrão é 16. Defina como 1 para desativar listagens paralelas. - live_follow (
bool, opcional) — Se deve acompanhar as alterações nos arquivos dos buckets conforme elas ocorrem no Hub, para que as listagens em cache permaneçam atualizadas sem chamadas manuais de HfFileSystem.invalidate_cache(). Quando habilitado, listar um bucket abre uma conexão em segundo plano para o feed de eventos do Hub correspondente a esse bucket. Não tem efeito em repositórios de modelos, datasets e spaces (o Hub não fornece alterações para esses tipos). - **storage_options (
dict, opcional) — Opções adicionais para o sistema de arquivos. Consulte a documentação do fsspec.
Acesse um repositório remoto do Hugging Face Hub como se fosse um sistema de arquivos local.
HfFileSystem oferece compatibilidade com fsspec, o que é útil para bibliotecas que a exigem (por exemplo, ler datasets do Hugging Face diretamente com
pandas). No entanto, isso introduz sobrecarga adicional devido a essa camada de compatibilidade. Para melhor desempenho e confiabilidade, recomenda-se usar os métodos deHfApisempre que possível.
O sistema de arquivos suporta caminhos para o protocolo hf://, que segue os seguintes esquemas de URL:
- Repositórios de Modelos, Datasets e Spaces:
hf://<repo-id>[@<revision>]/<path/in/repo>
hf://datasets/<repo-id>[@<revision>]/<path/in/repo>
hf://spaces/<repo-id>[@<revision>]/<path/in/repo>Nota: ao usar o HfFileSystem diretamente, a passagem do prefixo de protocolo hf:// é opcional nos caminhos.
Uso:
>>> from huggingface_hub import hffs
>>> # List files
>>> hffs.glob("my-username/my-model/*.bin")
['my-username/my-model/pytorch_model.bin']
>>> hffs.ls("datasets/my-username/my-dataset", detail=False)
['datasets/my-username/my-dataset/.gitattributes', 'datasets/my-username/my-dataset/README.md', 'datasets/my-username/my-dataset/data.json']
>>> # Read/write files
>>> with hffs.open("my-username/my-model/pytorch_model.bin") as f:
... data = f.read()
>>> with hffs.open("my-username/my-model/pytorch_model.bin", "wb") as f:
... f.write(data)Especifique um token para autenticação:
>>> from huggingface_hub import HfFileSystem
>>> hffs = HfFileSystem(token=token)cp_file
< source >( path1: strpath2: strrevision: str | None = None**kwargs )
Copie um arquivo dentro ou entre repositórios, ou para um bucket.
Observação: Sempre que possível, use
HfApi.upload_file()para obter melhor desempenho.
existe
< source >( path**kwargs ) → bool
Verifique se um arquivo existe.
Para mais detalhes, consulte a documentação do fsspec.
Observação: Sempre que possível, use
HfApi.file_exists()para melhor desempenho.
find
< source >( path: strmaxdepth: int | None = Nonewithdirs: bool = Falsedetail: bool = Falserefresh: bool = Falserevision: str | None = None**kwargs ) → Union[list[str], dict[str, dict[str, Any]]]
Parâmetros
- path (
str) — Caminho raiz para listar os arquivos. - maxdepth (
int, opcional) — Profundidade máxima para descer em subdiretórios. - withdirs (
bool, opcional) — Inclui caminhos de diretório na saída. O valor padrão é False. - detail (
bool, opcional) — Se True, retorna um dict mapeando caminhos para informações de arquivo. O padrão é False. - refresh (
bool, opcional) — Se True, ignora o cache e busca os dados mais recentes. O valor padrão é False. - revision (
str, opcional) — A revisão git a partir da qual listar.
Retorna
Union[list[str], dict[str, dict[str, Any]]]
Lista de caminhos ou dicionário de informações de arquivo.
Liste todos os arquivos abaixo do caminho.
Para mais detalhes, consulte a documentação do fsspec.
Repositórios grandes são listados diretório por diretório, em paralelo, para contornar a paginação baseada em cursor do endpoint
treedo Hub. Ajuste isso com o argumentomax_workersde HfFileSystem.
get_file
< source >( rpathlpath = Nonecallback = <fsspec.callbacks.NoOpCallback object at 0x7f9673955c90>outfile = None**kwargs )
Parâmetros
- rpath (
str) — Caminho remoto para download. - lpath (
str, opcional) — Caminho local para onde baixar. Pode ser omitido seoutfilefor fornecido. - callback (
Callback, optional) — Optional callback to track download progress. Defaults to no callback. - outfile (
IO, opcional) — Objeto semelhante a arquivo opcional para gravação. Se fornecido,lpathé ignorado.
Copiar um arquivo remoto individual para o local.
Nota: Sempre que possível, use
HfApi.hf_hub_download()ouHfApi.download_bucket_filespara melhor desempenho.
glob
< source >( path: strmaxdepth: int | None = None**kwargs ) → list[str]
Encontre arquivos por correspondência de glob.
Para mais detalhes, consulte a documentação do fsspec.
info
< source >( path: strrefresh: bool = Falserevision: str | None = None**kwargs ) → dict[str, Any]
Parâmetros
- path (
str) — Caminho para o qual obter informações. - refresh (
bool, opcional) — Se True, ignora o cache e busca os dados mais recentes. O valor padrão é False. - revision (
str, opcional) — A revisão git de onde obter as informações.
Retorna
dict[str, Any]
Dicionário contendo informações do arquivo (tipo, tamanho, informações do commit, etc.).
Obtém informações sobre um arquivo ou diretório.
Para mais detalhes, consulte a documentação do fsspec.
Nota: Sempre que possível, use
HfApi.get_paths_info()ouHfApi.repo_info()para melhor desempenho (ouHfApi.get_bucket_paths_info()ouHfApi.bucket_info()para buckets)
invalidate_cache
< source >( path: str | None = None )
Limpe o cache para um caminho específico.
Para mais detalhes, consulte a documentação do fsspec.
isdir
< source >( path ) → bool
Verifique se um caminho é um diretório.
Para mais detalhes, consulte a documentação do fsspec.
isfile
< source >( path ) → bool
Verifique se um caminho é um arquivo.
Para mais detalhes, consulte a documentação do fsspec.
ls
< source >( path: strdetail: bool = Truerefresh: bool = Falserevision: str | None = None**kwargs ) → list[Union[str, dict[str, Any]]]
Parâmetros
- path (
str) — Caminho para o diretório. - detail (
bool, opcional) — Se True, retorna uma lista de dicionários contendo informações dos arquivos. Se False, retorna uma lista de caminhos de arquivos. O valor padrão é True. - refresh (
bool, opcional) — Se True, ignora o cache e busca os dados mais recentes. O valor padrão é False. - revision (
str, opcional) — A revisão git a partir da qual listar.
Retorna
list[Union[str, dict[str, Any]]]
Lista de caminhos de arquivo (se detail=False) ou lista de dicionários de informações de arquivo (se detail=True).
Liste o conteúdo de um diretório.
Para mais detalhes, consulte a documentação do fsspec.
Observação: Sempre que possível, use
HfApi.list_repo_tree()para melhor desempenho.
modificado
< source >( path: str**kwargs ) → datetime
Obtenha a data e a hora da última modificação de um arquivo.
Para mais detalhes, consulte a documentação do fsspec.
resolve_path
< source >( path: strrevision: str | None = None ) → HfFileSystemResolvedPath
Parâmetros
- path (
str) — Caminho a ser resolvido. - revision (
str, opcional) — A revisão do repositório a ser resolvida. O padrão é a revisão especificada no caminho.
Retorna
HfFileSystemResolvedPath
Informações do caminho resolvido contendo repo_type, repo_id, revision e path_in_repo.
Exceções
ValueError ou NotImplementedError
ValueError— Se o path contiver informações de revisão conflitantes.NotImplementedError— Ao tentar listar repositórios.
Resolve um caminho de sistema de arquivos do Hugging Face em seus componentes.
rm
< source >( path: strrecursive: bool = Falsemaxdepth: int | None = Nonerevision: str | None = None**kwargs )
Parâmetros
- path (
str) — Caminho a ser excluído. - recursive (
bool, opcional) — Se True, exclui o diretório e todo o seu conteúdo. O padrão é False. - maxdepth (
int, opcional) — Número máximo de subdiretórios a serem visitados ao excluir recursivamente. - revision (
str, opcional) — A revisão git a partir da qual excluir.
Excluir arquivos de um repositório.
Para mais detalhes, consulte a documentação do fsspec.
Nota: Sempre que possível, use
HfApi.delete_file()para melhor desempenho.
url
< source >( path: str ) → str
Obtenha a URL HTTP do caminho fornecido.
andar
< source >( path: str*args**kwargs ) → Iterator[tuple[str, list[str], list[str]]]
Retorna todos os arquivos abaixo do caminho especificado.
Para mais detalhes, consulte a documentação do fsspec.