huggingface-paper-publisher

huggingface-paper-publisher

热门

在 Hugging Face Hub 上发布和管理研究论文。支持创建论文页面、将论文链接到模型/数据集、声明作者身份,以及生成专业的基于 Markdown 的研究文章。

1.1万Star
737Fork
更新于 2026/8/27
SKILL.md
只读
名称
huggingface-paper-publisher
描述

在 Hugging Face Hub 上发布和管理研究论文。支持创建论文页面、将论文链接到模型/数据集、声明作者身份,以及生成专业的基于 Markdown 的研究文章。

概述

本技能为 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 Frontmatter:正确的模型/数据集卡片元数据
  • 引用跟踪:跨仓库维护论文引用
  • 版本控制:跟踪论文更新和修订
  • 多论文支持:将多篇论文链接到单个工件

使用说明

该技能包含 scripts/ 中的 Python 脚本,用于论文发布操作。

先决条件

  • 使用 uv run 运行脚本(依赖从脚本头部解析)
  • 设置 HF_TOKEN 环境变量,使用具有写入权限的令牌

所有路径相对于包含此 SKILL.md 文件的目录。
在运行任何脚本之前,先 cd 到该目录或使用完整路径。

方法 1:从 arXiv 索引论文

从 arXiv 添加论文到 Hugging Face 论文页面。

基本用法:

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:将论文链接到模型/数据集

向模型或数据集 README 添加论文引用,并包含正确的 YAML 元数据。

添加到模型卡片:

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. 用户可以点击标签查看论文页面
  4. 论文页面显示所有引用该论文的模型/数据集
  5. 论文可通过过滤器和搜索发现

方法 3:声明作者身份

验证你在 Hugging Face 上发表的论文的作者身份。

开始声明流程:

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

手动流程:

  1. 导航到你的论文页面:https://huggingface.co/papers/{arxiv-id}
  2. 在作者列表中找到你的名字
  3. 点击你的名字并选择“声明作者身份”
  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

在设置中管理:
导航到你的账户设置 → 论文部分,为每篇论文切换“在个人资料中显示”。

方法 5:创建研究文章

使用现代模板生成专业的基于 Markdown 的研究论文。

从模板创建:

uv run scripts/paper_manager.py create \
  --template "standard" \
  --title "你的论文标题" \
  --output "paper.md"

可用模板:

  • standard - 传统的科学论文结构
  • modern - 受 Distill 启发的干净、适合网页的格式
  • arxiv - arXiv 风格格式
  • ml-report - 机器学习实验报告

生成完整论文:

uv run scripts/paper_manager.py create \
  --template "modern" \
  --title "使用 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: 你的论文标题
authors: Jane Doe, John Smith
affiliations: University X, Lab Y
date: 2025-01-15
arxiv: 2301.12345
tags: [machine-learning, nlp, fine-tuning]
---

# 摘要
论文的简要总结...

# 1. 引言
背景和动机...

# 2. 相关工作
先前的研究和背景...

# 3. 方法论
方法和实现...

# 4. 实验
设置、数据集和程序...

# 5. 结果
发现和分析...

# 6. 讨论
解释和影响...

# 7. 结论
总结和未来工作...

# 参考文献

现代模板特性:

  • 动态目录
  • 响应式设计,适合网页查看
  • 代码语法高亮
  • 交互式图表和图形
  • 数学公式渲染(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 "完整引用文本"] \
  [--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 "论文标题" \
  [--authors "作者1, 作者2"] \
  [--abstract "摘要文本"] \
  [--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 frontmatter:

模型卡片示例:

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

# 模型名称

该模型基于 [我们的论文](https://arxiv.org/abs/2301.12345) 中描述的方法。

## 引用

```bibtex
@article{doe2023paper,
  title={你的论文标题},
  author={Doe, Jane and Smith, John},
  journal={arXiv preprint arXiv:2301.12345},
  year={2023}
}

**数据集卡片示例:**
```yaml
---
language:
  - en
license: cc-by-4.0
task_categories:
  - text-generation
  - question-answering
size_categories:
  - 10K<n<100K
---

# 数据集名称

数据集在 [我们的论文](https://arxiv.org/abs/2301.12345) 中介绍。

更多详情,请参阅 [论文页面](https://huggingface.co/papers/2301.12345)。

Hub 会自动从这些链接中提取 arXiv ID,并创建 arxiv:2301.12345 标签。

集成示例

工作流 1:发布新研究

# 1. 创建研究文章
uv run scripts/paper_manager.py create \
  --template "modern" \
  --title "新颖的微调方法" \
  --output "paper.md"

# 2. 编辑 paper.md 并添加你的内容

# 3. 提交到 arXiv(外部流程)
# 上传到 arxiv.org,获取 arXiv ID

# 4. 在 Hugging Face 上索引
uv run scripts/paper_manager.py index --arxiv-id "2301.12345"

# 5. 链接到你的模型
uv run scripts/paper_manager.py link \
  --repo-id "your-username/your-model" \
  --repo-type "model" \
  --arxiv-id "2301.12345"

# 6. 声明作者身份
uv run scripts/paper_manager.py claim \
  --arxiv-id "2301.12345" \
  --email "your.email@edu"

工作流 2:链接现有论文

# 1. 检查论文是否存在
uv run scripts/paper_manager.py check --arxiv-id "2301.12345"

# 2. 如果需要则索引
uv run scripts/paper_manager.py index --arxiv-id "2301.12345"

# 3. 链接到多个仓库
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. 获取当前 README
hf download username/model-name README.md

# 2. 添加论文链接
uv run scripts/paper_manager.py link \
  --repo-id "username/model-name" \
  --repo-type "model" \
  --arxiv-id "2301.12345" \
  --citation "论文的完整引用"

# 脚本将:
# - 如果缺少则添加 YAML 元数据
# - 在 README 中插入 arXiv 链接
# - 添加格式化的引用
# - 保留现有内容

最佳实践

  1. 论文索引

    • 论文在 arXiv 上发布后立即索引
    • 在模型/数据集卡片中包含完整的引用信息
    • 在相关仓库中使用一致的论文引用
  2. 元数据管理

    • 为所有模型/数据集卡片添加 YAML frontmatter
    • 包含正确的许可信息
    • 使用相关的任务类别和领域进行标记
  3. 作者身份

    • 在列出你为作者的论文上声明作者身份
    • 使用机构电子邮件地址进行验证
    • 保持论文可见性设置更新
  4. 仓库链接

    • 将论文链接到所有相关的模型、数据集和 Spaces
    • 在 README 描述中包含论文背景
    • 添加 BibTeX 引用以便参考
  5. 研究文章

    • 在项目中使用一致的模板
    • 在论文中包含代码和数据链接
    • 生成适合网页的 HTML 版本以便分享

高级用法

批量链接论文:

# 将多篇论文链接到一个仓库
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

提取论文信息:

# 从 arXiv 获取论文元数据
uv run scripts/paper_manager.py info \
  --arxiv-id "2301.12345" \
  --format "json"

生成引用:

# 创建 BibTeX 引用
uv run scripts/paper_manager.py citation \
  --arxiv-id "2301.12345" \
  --format "bibtex"

验证链接:

# 检查仓库中的所有论文链接
uv run scripts/paper_manager.py validate \
  --repo-id "username/model-name" \
  --repo-type "model"

错误处理

  • 论文未找到:arXiv ID 不存在或尚未索引
  • 权限被拒绝:HF_TOKEN 对仓库没有写入权限
  • 无效的 YAML:README frontmatter 中的元数据格式错误
  • 作者身份失败:电子邮件与论文作者记录不匹配
  • 已声明:其他用户已声明作者身份
  • 速率限制:短时间内 API 请求过多

故障排除

问题:“在 Hugging Face 上找不到论文”

  • 解决方案:访问 hf.co/papers/{arxiv-id} 以触发索引

问题:“作者身份声明未验证”

  • 解决方案:等待管理员审核或联系 HF 支持并提供证明

问题:“arXiv 标签未出现”

  • 解决方案:确保 README 包含正确的 arXiv URL 格式

问题:“无法链接到仓库”

  • 解决方案:验证 HF_TOKEN 具有写入权限

问题:“模板渲染错误”

  • 解决方案:检查 Markdown 语法和 YAML frontmatter 格式

资源和参考

与 tfrere 研究模板的集成

本技能补充了 tfrere 的研究文章模板,提供:

  • 自动化的论文索引工作流
  • 仓库链接能力
  • 元数据管理工具
  • 引用生成工具

你可以使用 tfrere 的模板进行写作,然后使用本技能在 Hugging Face Hub 上发布和链接论文。

常见模式

模式 1:新论文发布

# 写作 → 发布 → 索引 → 链接
uv run scripts/paper_manager.py create --template modern --output paper.md
# (提交到 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:现有论文发现

# 搜索 → 检查 → 链接
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:作者作品集管理

# 声明 → 验证 → 组织
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")

# 索引论文
pm.index_paper("2301.12345")

# 链接到模型
pm.link_paper(
    repo_id="username/model",
    repo_type="model",
    arxiv_id="2301.12345",
    citation="完整引用文本"
)

# 检查状态
status = pm.check_paper("2301.12345")
print(status)

未来增强

计划在未来的版本中添加的功能:

  • 支持非 arXiv 论文(会议论文集、期刊)
  • 从 DOI 自动格式化引用
  • 论文比较和版本控制工具
  • 协作论文写作功能
  • 与 LaTeX 工作流集成
  • 自动提取图表
  • 论文指标和影响力跟踪