mcpField
H
huggingface-paper-publisher

huggingface-paper-publisher

github.com/huggingfaceドキュメント11.2k1.7k 回インストール6 日前に更新
リポジトリ

huggingface-paper-publisher について

huggingface-paper-publisherは、AIエンジニアや研究者向けに、Hugging Face Hubで論文を公開、管理、関連付けるツールを提供します。arXivの索引登録、著者確認、モデルやデータセットとの連携、論文テンプレート作成に対応します。

主な機能

  1. 01arXiv論文の索引登録
  2. 02著者権利の申請と確認
  3. 03プロフィールでの論文表示管理
  4. 04論文とモデルやデータセットの関連付け
  5. 05研究記事の作成と変換

活用シーン

  1. 01arXiv論文をHugging Faceに登録
  2. 02モデルやデータセットに論文引用を追加
  3. 03著者確認とプロフィール論文の管理
  4. 04テンプレートから研究記事を作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/huggingface/skills --skill huggingface-paper-publisher

インストール後、Claude Code で/huggingface-paper-publisherを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

examples/
example_usage.md
references/
quick_reference.md
scripts/
paper_manager.py
templates/
arxiv.md
ml-report.md
modern.md
standard.md

詳細

概要

このスキルは、AI エンジニアや研究者が Hugging Face Hub で研究論文を公開、管理、リンクするための包括的なツールを提供します。arXiv との連携、モデル/データセットへのリンク、著者情報の管理など、論文の作成から公開までのワークフローを効率化します。

HF エコシステムとの連携

  • 論文ページ:Hugging Face Hub 上の論文をインデックス化して検索できるようにします
  • arXiv 連携:arXiv ID から論文を自動的にインデックス化します
  • モデル/データセットへのリンク:メタデータを通じて論文を関連する成果物に紐付けます
  • 著者情報の確認:論文の著者であることを申請し、確認します
  • 研究論文テンプレート:専門的で現代的な科学論文を作成します

バージョン

1.0.0

依存関係

付属のスクリプトでは PEP 723 のインライン依存関係を使用します。手動で環境を設定するよりも uv run を使用してください。

  • huggingface_hub>=0.26.0
  • pyyaml>=6.0.3
  • requests>=2.32.5
  • markdown>=3.5.0
  • python-dotenv>=1.2.1

主な機能

1. 論文ページの管理

  • 論文のインデックス化:arXiv から Hugging Face に論文を追加します
  • 著者資格の申請:公開済み論文の著者であることを確認し、申請します
  • 公開範囲の管理:プロフィールに表示する論文を管理します
  • 論文の検索:HF エコシステム内の論文を検索して閲覧します

2. 論文と成果物のリンク

  • モデルカード:モデルのメタデータに論文の引用を追加します
  • データセットカード:README を通じて論文をデータセットにリンクします
  • 自動タグ付け:Hub が arxiv:<PAPER_ID> タグを自動生成します
  • 引用の管理:適切な著者表記と参考文献を維持します

3. 研究論文の作成

  • Markdown テンプレート:専門的な論文の書式を生成します
  • モダンなデザイン:見やすく読みやすい研究論文のレイアウトです
  • 動的な目次:目次を自動生成します
  • セクション構成:標準的な科学論文の構成です
  • LaTeX 数式:数式や技術的な表記に対応します

4. メタデータの管理

  • YAML フロントマター:モデル/データセットカードに適切なメタデータを設定します
  • 引用の追跡:リポジトリ間で論文の参考文献を維持します
  • バージョン管理:論文の更新や改訂を追跡します
  • 複数論文への対応:複数の論文を単一の成果物にリンクします

使用方法

このスキルには、論文公開用の Python スクリプトが scripts/ に含まれています。

前提条件
  • uv run を使ってスクリプトを実行します(依存関係はスクリプトヘッダーから解決されます)
  • Write アクセス権を持つトークンを HF_TOKEN 環境変数に設定します

すべてのパスは、この SKILL.md ファイルを含むディレクトリからの相対パスです。 スクリプトを実行する前に、そのディレクトリに cd するか、 絶対パスを使用してください。

方法 1:arXiv から論文をインデックス化する

arXiv から Hugging Face Paper Pages に論文を追加します。

基本的な使い方:

uv run scripts/paper_manager.py index \
  --arxiv-id "2301.12345"

論文が存在するか確認する:

uv run scripts/paper_manager.py check \
  --arxiv-id "2301.12345"

URL に直接アクセスする: https://huggingface.co/papers/{arxiv-id} に直接アクセスして論文をインデックス化することもできます。

方法 2:論文をモデル/データセットにリンクする

適切な YAML メタデータを使って、モデルまたはデータセットの README に論文の参考文献を追加します。

モデルカードに追加する:

uv run scripts/paper_manager.py link \
  --repo-id "username/model-name" \
  --repo-type "model" \
  --arxiv-id "2301.12345"

データセットカードに追加する:

uv run scripts/paper_manager.py link \
  --repo-id "username/dataset-name" \
  --repo-type "dataset" \
  --arxiv-id "2301.12345"

複数の論文を追加する:

uv run scripts/paper_manager.py link \
  --repo-id "username/model-name" \
  --repo-type "model" \
  --arxiv-ids "2301.12345,2302.67890,2303.11111"

カスタムの引用情報を使用する:

uv run scripts/paper_manager.py link \
  --repo-id "username/model-name" \
  --repo-type "model" \
  --arxiv-id "2301.12345" \
  --citation "$(cat citation.txt)"
リンクの仕組み

モデルまたはデータセットの README に arXiv 論文へのリンクを追加すると:

  1. Hub がリンクから arXiv ID を抽出します
  2. arxiv:<PAPER_ID> タグがリポジトリに自動で追加されます
  3. ユーザーはタグをクリックして Paper Page を表示できます
  4. Paper Page には、この論文を引用しているすべてのモデル/データセットが表示されます
  5. 論文はフィルターや検索から見つけられるようになります
方法 3:著者資格を申請する

Hugging Face で公開されている論文の著者であることを確認します。

申請手続きを開始する:

uv run scripts/paper_manager.py claim \
  --arxiv-id "2301.12345" \
  --email "[email protected]"

手動で手続きする:

  1. 論文のページに移動します:https://huggingface.co/papers/{arxiv-id}
  2. 著者一覧から自分の名前を探します
  3. 自分の名前をクリックし、「Claim authorship」を選択します
  4. 管理チームによる確認を待ちます

著者資格の状態を確認する:

uv run scripts/paper_manager.py check-authorship \
  --arxiv-id "2301.12345"
方法 4:論文の表示を管理する

公開プロフィールに表示する、検証済みの論文を管理します。

自分の論文を一覧表示する:

uv run scripts/paper_manager.py list-my-papers

表示を切り替える:

uv run scripts/paper_manager.py toggle-visibility \
  --arxiv-id "2301.12345" \
  --show true

設定で管理する: アカウント設定の「Papers」セクションに移動し、各論文の「Show on profile」を切り替えます。

方法 5:研究論文を作成する

最新のテンプレートを使用して、Markdown ベースの専門的な研究論文を生成します。

テンプレートから作成する:

uv run scripts/paper_manager.py create \
  --template "standard" \
  --title "Your Paper Title" \
  --output "paper.md"

利用可能なテンプレート:

  • standard - 従来型の科学論文の構成
  • modern - Distill に着想を得た、すっきりとしたウェブ向けの形式
  • arxiv - arXiv 形式
  • ml-report - 機械学習の実験レポート

論文全体を生成する:

uv run scripts/paper_manager.py create \
  --template "modern" \
  --title "Fine-Tuning Large Language Models with LoRA" \
  --authors "Jane Doe, John Smith" \
  --abstract "$(cat abstract.txt)" \
  --output "paper.md"

HTML に変換する:

uv run scripts/paper_manager.py convert \
  --input "paper.md" \
  --output "paper.html" \
  --style "modern"
論文テンプレートの構成

標準的な研究論文のセクション:

---
title: Your Paper Title
authors: Jane Doe, John Smith
affiliations: University X, Lab Y
date: 2025-01-15
arxiv: 2301.12345
tags: [machine-learning, nlp, fine-tuning]
---

# Abstract
Brief summary of the paper...

# 1. Introduction
Background and motivation...

# 2. Related Work
Previous research and context...

# 3. Methodology
Approach and implementation...

# 4. Experiments
Setup, datasets, and procedures...

# 5. Results
Findings and analysis...

# 6. Discussion
Interpretation and implications...

# 7. Conclusion
Summary and future work...

# References

modern テンプレートの機能:

  • 動的な目次
  • ウェブ表示に対応したレスポンシブデザイン
  • コードの構文ハイライト
  • インタラクティブな図やグラフ
  • 数式のレンダリング(LaTeX)
  • 引用文献の管理
  • 著者の所属先へのリンク
コマンドリファレンス

論文をインデックスに登録する:

uv run scripts/paper_manager.py index --arxiv-id "2301.12345"

リポジトリにリンクする:

uv run scripts/paper_manager.py link \
  --repo-id "username/repo-name" \
  --repo-type "model|dataset|space" \
  --arxiv-id "2301.12345" \
  [--citation "Full citation text"] \
  [--create-pr]

著者資格を申請する:

uv run scripts/paper_manager.py claim \
  --arxiv-id "2301.12345" \
  --email "your.email@edu"

表示を管理する:

uv run scripts/paper_manager.py toggle-visibility \
  --arxiv-id "2301.12345" \
  --show true|false

研究論文を作成する:

uv run scripts/paper_manager.py create \
  --template "standard|modern|arxiv|ml-report" \
  --title "Paper Title" \
  [--authors "Author1, Author2"] \
  [--abstract "Abstract text"] \
  [--output "filename.md"]

Markdown を HTML に変換する:

uv run scripts/paper_manager.py convert \
  --input "paper.md" \
  --output "paper.html" \
  [--style "modern|classic"]

論文のステータスを確認する:

uv run scripts/paper_manager.py check --arxiv-id "2301.12345"

自分の論文を一覧表示する:

uv run scripts/paper_manager.py list-my-papers

論文を検索する:

uv run scripts/paper_manager.py search --query "transformer attention"
YAML メタデータ形式

論文をモデルやデータセットにリンクするには、適切な YAML フロントマターが必要です。

モデルカードの例:

---
language:
  - en
license: apache-2.0
tags:
  - text-generation
  - transformers
  - llm
library_name: transformers
---

# Model Name

This model is based on the approach described in [Our Paper](https://arxiv.org/abs/2301.12345).

## Citation

```bibtex
@article{doe2023paper,
  title={Your Paper Title},
  author={Doe, Jane and Smith, John},
  journal={arXiv preprint arXiv:2301.12345},
  year={2023}
}

**Dataset Card Example:**
```yaml
---
language:
  - en
license: cc-by-4.0
task_categories:
  - text-generation
  - question-answering
size_categories:
  - 10K<n<100K
---

# Dataset Name

Dataset introduced in [Our Paper](https://arxiv.org/abs/2301.12345).

For more details, see the [paper page](https://huggingface.co/papers/2301.12345).

Hub はこれらのリンクから arXiv ID を自動的に抽出し、arxiv:2301.12345 タグを作成します。

統合例

ワークフロー 1:新しい研究を公開する

# 1. Create research article
uv run scripts/paper_manager.py create \
  --template "modern" \
  --title "Novel Fine-Tuning Approach" \
  --output "paper.md"

# 2. Edit paper.md with your content

# 3. Submit to arXiv (external process)
# Upload to arxiv.org, get arXiv ID

# 4. Index on Hugging Face
uv run scripts/paper_manager.py index --arxiv-id "2301.12345"

# 5. Link to your model
uv run scripts/paper_manager.py link \
  --repo-id "your-username/your-model" \
  --repo-type "model" \
  --arxiv-id "2301.12345"

# 6. Claim authorship
uv run scripts/paper_manager.py claim \
  --arxiv-id "2301.12345" \
  --email "your.email@edu"

ワークフロー 2:既存の論文をリンクする

# 1. Check if paper exists
uv run scripts/paper_manager.py check --arxiv-id "2301.12345"

# 2. Index if needed
uv run scripts/paper_manager.py index --arxiv-id "2301.12345"

# 3. Link to multiple repositories
uv run scripts/paper_manager.py link \
  --repo-id "username/model-v1" \
  --repo-type "model" \
  --arxiv-id "2301.12345"

uv run scripts/paper_manager.py link \
  --repo-id "username/training-data" \
  --repo-type "dataset" \
  --arxiv-id "2301.12345"

uv run scripts/paper_manager.py link \
  --repo-id "username/demo-space" \
  --repo-type "space" \
  --arxiv-id "2301.12345"

ワークフロー 3:論文の参照情報を使ってモデルを更新する

# 1. Get current README
hf download username/model-name README.md

# 2. Add paper link
uv run scripts/paper_manager.py link \
  --repo-id "username/model-name" \
  --repo-type "model" \
  --arxiv-id "2301.12345" \
  --citation "Full citation for the paper"

# The script will:
# - Add YAML metadata if missing
# - Insert arXiv link in README
# - Add formatted citation
# - Preserve existing content
ベストプラクティス
  1. 論文のインデックス登録

    • arXiv で公開されたら、すぐに論文をインデックスに登録します
    • モデルカードやデータセットカードに引用情報をすべて記載します
    • 関連するリポジトリ間で論文の参照方法を統一します
  2. メタデータの管理

    • すべてのモデルカードやデータセットカードに YAML フロントマターを追加します
    • 適切なライセンス情報を記載します
    • 関連するタスクカテゴリとドメインのタグを付けます
  3. 著者資格

    • 著者として記載されている論文の著者資格を申請します
    • 検証には所属機関のメールアドレスを使用します
    • 論文の表示設定を最新の状態に保ちます
  4. リポジトリへのリンク

    • 論文を関連するすべてのモデル、データセット、Spaces にリンクします
    • README の説明に論文の内容を記載します
    • 参照しやすいように BibTeX の引用情報を追加します
  5. 研究論文

    • プロジェクト内でテンプレートを統一して使用します
    • 論文にコードとデータへのリンクを含めます
    • 共有用にウェブ向けの HTML 版を生成します
高度な使い方

論文を一括でリンクする:

# Link multiple papers to one repository
for arxiv_id in "2301.12345" "2302.67890" "2303.11111"; do
  uv run scripts/paper_manager.py link \
    --repo-id "username/model-name" \
    --repo-type "model" \
    --arxiv-id "$arxiv_id"
done

論文情報を抽出する:

# Get paper metadata from arXiv
uv run scripts/paper_manager.py info \
  --arxiv-id "2301.12345" \
  --format "json"

引用情報を生成する:

# Create BibTeX citation
uv run scripts/paper_manager.py citation \
  --arxiv-id "2301.12345" \
  --format "bibtex"

リンクを検証する:

# Check all paper links in a repository
uv run scripts/paper_manager.py validate \
  --repo-id "username/model-name" \
  --repo-type "model"
エラー処理
  • 論文が見つからない:arXiv ID が存在しないか、まだインデックスに登録されていません
  • 権限がありません:HF_TOKEN にリポジトリへの書き込み権限がありません
  • 無効な YAML:README のフロントマターのメタデータの形式が正しくありません
  • 著者資格の申請に失敗しました:メールアドレスが論文の著者記録と一致しません
  • 申請済みです:別のユーザーが著者資格を申請しています
  • レート制限:短時間に API リクエストを送りすぎています
トラブルシューティング

問題:「Hugging Face で論文が見つかりません」

  • 解決策:hf.co/papers/{arxiv-id} にアクセスして、インデックス登録を開始します

問題:「著者資格の申請が検証されません」

  • 解決策:管理者の確認を待つか、証明を添えて HF サポートにお問い合わせください

問題:「arXiv タグが表示されません」

  • 解決策:README に適切な形式の arXiv URL が含まれていることを確認します

問題:「リポジトリにリンクできません」

  • 解決策:HF_TOKEN に書き込み権限があることを確認します

問題:「テンプレートのレンダリングでエラーが発生します」

  • 解決策:Markdown の構文と YAML フロントマターの形式を確認します
リソースと参考資料
tfrere の研究テンプレートとの連携

このスキルは、tfrere の研究論文テンプレートを補完し、次の機能を提供します。

  • 論文インデックス作成ワークフローの自動化
  • リポジトリへのリンク機能
  • メタデータ管理ツール
  • 引用生成ユーティリティ

tfrere のテンプレートで執筆した後、このスキルを使って論文を公開し、Hugging Face Hub 上でリンクできます。

よく使われるパターン

パターン 1:新しい論文の公開

# Write → Publish → Index → Link
uv run scripts/paper_manager.py create --template modern --output paper.md
# (Submit to arXiv)
uv run scripts/paper_manager.py index --arxiv-id "2301.12345"
uv run scripts/paper_manager.py link --repo-id "user/model" --arxiv-id "2301.12345"

パターン 2:既存の論文の検索

# Search → Check → Link
uv run scripts/paper_manager.py search --query "transformers"
uv run scripts/paper_manager.py check --arxiv-id "2301.12345"
uv run scripts/paper_manager.py link --repo-id "user/model" --arxiv-id "2301.12345"

パターン 3:著者ポートフォリオの管理

# Claim → Verify → Organize
uv run scripts/paper_manager.py claim --arxiv-id "2301.12345"
uv run scripts/paper_manager.py list-my-papers
uv run scripts/paper_manager.py toggle-visibility --arxiv-id "2301.12345" --show true
API 連携

Python スクリプトの例:

from scripts.paper_manager import PaperManager

pm = PaperManager(hf_token="your_token")

# Index paper
pm.index_paper("2301.12345")

# Link to model
pm.link_paper(
    repo_id="username/model",
    repo_type="model",
    arxiv_id="2301.12345",
    citation="Full citation text"
)

# Check status
status = pm.check_paper("2301.12345")
print(status)
今後の機能強化

今後のバージョンで予定している機能:

  • arXiv 以外の論文(会議録、学術誌)への対応
  • DOI からの引用形式の自動生成
  • 論文の比較とバージョン管理ツール
  • 論文の共同執筆機能
  • LaTeX ワークフローとの連携
  • 図表の自動抽出
  • 論文の指標と影響度の追跡

コメント