Hub documentation
Console SQL: Consulte conjuntos de dados do Hugging Face no seu navegador
Console SQL: Consulte conjuntos de dados do Hugging Face no seu navegador
Você pode executar consultas SQL no conjunto de dados no navegador usando o SQL Console. O SQL Console é movido por DuckDB WASM e roda inteiramente no navegador. Você pode acessar o SQL Console a partir do Data Studio.

Para saber mais sobre o SQL Console, consulte o post no blog sobre o SQL Console.
Através do Console SQL, você pode:
- Execute consultas SQL do DuckDB no conjunto de dados (consulte Fragmentos SQL para consultas úteis)
- Compartilhe os resultados da consulta com outras pessoas por meio de um link (veja este exemplo)
- Baixe os resultados da consulta para um arquivo Parquet ou CSV
- Incorpore os resultados da consulta na sua própria página da web usando um iframe
- Consulte conjuntos de dados com linguagem natural
Você também pode usar o DuckDB localmente por meio da CLI para consultar o dataset via o protocolo
hf://. Consulte a documentação do DuckDB Datasets para mais informações. O SQL Console oferece um botão convenienteCopy to DuckDB CLIque gera a consulta SQL para criar views e executar sua consulta na CLI do DuckDB. Alternativamente, execute as mesmas consultas de um terminal ou script comhf datasets sql.
Exemplos
Filtragem
O Console SQL torna o filtragem de datasets muito fácil. Por exemplo, se você deseja filtrar o dataset SkunkworksAI/reasoning-0.01 para instruções e respostas com um comprimento de raciocínio de pelo menos 10, você pode usar a seguinte consulta:

Aqui está o SQL para ordenar pelo comprimento do raciocínio
SELECT *
FROM train
WHERE LENGTH(reasoning_chains) > 10;Histograma
Muitos autores de conjuntos de dados escolhem incluir estatísticas sobre a distribuição dos dados no conjunto. Usando a função histogram do DuckDB, podemos plotar um histograma dos valores de uma coluna.
Por exemplo, para plotar um histograma da coluna Rating no dataset Lichess/chess-puzzles, você pode usar a seguinte consulta:

Saiba mais sobre a função `histogram` e os parâmetros aqui.
from histogram(train, Rating)Correspondência de Expressões Regulares
Um dos recursos mais poderosos do DuckDB é o suporte profundo a expressões regulares. Você pode usar a função regexp para corresponder a padrões nos seus dados.
Usando a função regexp_matches, podemos filtrar o conjunto de dados GeneralReasoning/GeneralThought-195k para instruções que contenham blocos de código em markdown.

Saiba mais sobre as funções de regex do DuckDB aqui.
SELECT *
FROM train
WHERE regexp_matches(model_answer, '```')
LIMIT 10;API de Consultas e Embeds Salvos
Você pode criar, atualizar e excluir incorporações do SQL Console programaticamente. As incorporações são consultas salvas que podem ser compartilhadas por meio de link ou incorporadas em outras páginas.
Crie um embed:
POST /api/datasets/{namespace}/{repo}/sql-console/embed
Content-Type: application/json
Authorization: Bearer {token}
{
"sql": "SELECT * FROM train LIMIT 10",
"title": "Sample rows",
"private": false,
"views": [{"key": "default/train", "displayName": "Train", "viewName": "train"}]
}Atualizar um embed:
PATCH /api/datasets/{namespace}/{repo}/sql-console/embed/{embed_id}
Content-Type: application/json
Authorization: Bearer {token}
{
"sql": "SELECT * FROM train LIMIT 20",
"title": "Updated title",
"private": true
}Excluir um embed:
DELETE /api/datasets/{namespace}/{repo}/sql-console/embed/{embed_id}
Authorization: Bearer {token}Detecção de Vazamento
A detecção de vazamento é o processo de identificar se os dados de um conjunto de dados estão presentes em múltiplas partições, por exemplo, se o conjunto de teste está presente no conjunto de treinamento.

Saiba mais sobre a detecção de vazamentos aqui.
WITH
overlapping_rows AS (
SELECT COALESCE(
(SELECT COUNT(*) AS overlap_count
FROM train
INTERSECT
SELECT COUNT(*) AS overlap_count
FROM test),
0
) AS overlap_count
),
total_unique_rows AS (
SELECT COUNT(*) AS total_count
FROM (
SELECT * FROM train
UNION
SELECT * FROM test
) combined
)
SELECT
overlap_count,
total_count,
CASE
WHEN total_count > 0 THEN (overlap_count * 100.0 / total_count)
ELSE 0
END AS overlap_percentage
FROM overlapping_rows, total_unique_rows;