Hub 文件

SQL Console:在瀏覽器中查詢 Hugging Face 資料集

Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

SQL Console:在瀏覽器中查詢 Hugging Face 資料集

您可以使用 SQL Console 在瀏覽器中對資料集執行 SQL 查詢。SQL Console 由 DuckDB WASM 提供支援,並完全在瀏覽器中執行。您可以從資料工作室訪問 SQL Console。

要了解有關 SQL Console 的更多資訊,請參閱 SQL Console 部落格文章

透過 SQL Console,您可以:

  • 對資料集執行 DuckDB SQL 查詢檢視 SQL 片段 以獲取有用的查詢
  • 透過連結與他人分享查詢結果(檢視此示例
  • 將查詢結果下載為 Parquet 或 CSV 檔案
  • 使用 iframe 將查詢結果嵌入到您自己的網頁中
  • 使用自然語言查詢資料集
您還可以透過 CLI 在本地使用 DuckDB,透過 `hf://` 協議查詢資料集。有關更多資訊,請參閱 DuckDB 資料集文件。SQL Console 提供了一個方便的“複製到 DuckDB CLI”按鈕,可生成 SQL 查詢,用於在 DuckDB CLI 中建立檢視和執行查詢。

示例

過濾

SQL Console 使過濾資料集變得非常容易。例如,如果您想過濾 `SkunkworksAI/reasoning-0.01` 資料集,以查詢推理長度至少為 10 的指令和響應,您可以使用以下查詢

以下是按推理長度排序的 SQL

SELECT *
FROM train
WHERE LENGTH(reasoning_chains) > 10;

直方圖

許多資料集作者選擇在資料集中包含資料分佈的統計資訊。使用 DuckDB `histogram` 函式,我們可以繪製列值的直方圖。

例如,要繪製 Lichess/chess-puzzles 資料集中 `Rating` 列的直方圖,您可以使用以下查詢

在此處瞭解有關 `histogram` 函式和引數的更多資訊:https://cfahlgren1-sql-snippets.hf.space/histogram

from histogram(train, Rating)

正則表示式匹配

DuckDB 最強大的功能之一是對正則表示式的深入支援。您可以使用 `regexp` 函式來匹配資料中的模式。

使用 regexp_matches 函式,我們可以過濾 GeneralReasoning/GeneralThought-195k 資料集中包含 Markdown 程式碼塊的指令。

在此處瞭解有關 DuckDB 正則表示式函式的更多資訊:https://duckdb.org/docs/sql/functions/regular_expressions.html

SELECT *
FROM train
WHERE regexp_matches(model_answer, '```')
LIMIT 10;

洩露檢測

洩露檢測是識別資料集中是否存在多個拆分中(例如,測試集是否存在於訓練集中)的過程。

在此處瞭解有關洩露檢測的更多資訊:https://huggingface.co/blog/lbourdois/lle

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;
< > 在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.