在 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 论文链接时:
- Hub 从链接中提取 arXiv ID
- 自动向仓库添加标签
arxiv:<PAPER_ID> - 用户可以点击标签查看论文页面
- 论文页面显示所有引用该论文的模型/数据集
- 论文可通过过滤器和搜索发现
方法 3:声明作者身份
验证你在 Hugging Face 上发表的论文的作者身份。
开始声明流程:
uv run scripts/paper_manager.py claim \
--arxiv-id "2301.12345" \
--email "your.email@institution.edu"
手动流程:
- 导航到你的论文页面:
https://huggingface.co/papers/{arxiv-id} - 在作者列表中找到你的名字
- 点击你的名字并选择“声明作者身份”
- 等待管理团队验证
检查作者身份状态:
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 链接
# - 添加格式化的引用
# - 保留现有内容
最佳实践
-
论文索引
- 论文在 arXiv 上发布后立即索引
- 在模型/数据集卡片中包含完整的引用信息
- 在相关仓库中使用一致的论文引用
-
元数据管理
- 为所有模型/数据集卡片添加 YAML frontmatter
- 包含正确的许可信息
- 使用相关的任务类别和领域进行标记
-
作者身份
- 在列出你为作者的论文上声明作者身份
- 使用机构电子邮件地址进行验证
- 保持论文可见性设置更新
-
仓库链接
- 将论文链接到所有相关的模型、数据集和 Spaces
- 在 README 描述中包含论文背景
- 添加 BibTeX 引用以便参考
-
研究文章
- 在项目中使用一致的模板
- 在论文中包含代码和数据链接
- 生成适合网页的 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 格式
资源和参考
- Hugging Face 论文页面:hf.co/papers
- 模型卡片指南:hf.co/docs/hub/model-cards
- 数据集卡片指南:hf.co/docs/hub/datasets-cards
- 研究文章模板:tfrere/research-article-template
- arXiv 格式指南:arxiv.org/help/submit
与 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 工作流集成
- 自动提取图表
- 论文指标和影响力跟踪






