常见问题
查找有关 Potato 的常见问题解答。没有找到您需要的答案?请加入我们的 Discord 或查阅文档。
快速入门
Potato(Portable Text Annotation Tool,便携式文本标注工具)是一款免费、开源的标注工具,用于创建高质量数据集。它支持文本、图像、音频和视频标注,采用简单的基于 YAML 的配置系统。
是的,Potato 是免费且开源的,采用 PolyForm Shield License 1.0.0 许可证。该许可证允许研究、教育和非商业用途的免费使用。许可证包含竞业限制条款,禁止使用 Potato 构建竞争性标注平台。完整详情请参阅 GitHub 仓库中的 LICENSE 文件。
不需要。Potato 使用人类可读且易于编写的 YAML 配置文件。我们的在线构建器(Playground)提供可视化界面,无需编写任何代码即可生成配置。
通过 pip 安装:`pip install potato-annotation`。然后运行 `potato start my_project -c config.yaml` 启动标注服务器。详细说明请参阅我们的快速入门指南。
Potato 需要 Python 3.7 或更高版本。我们建议使用 Python 3.10+ 以获得最佳体验。
Run pip install --upgrade potato-annotation.
Potato works in all modern browsers: Chrome, Firefox, Safari, and Edge.
数据与隐私
您的数据保留在您的本地机器上。Potato 完全在本地运行,不会将您的数据发送到外部服务器。这使其非常适合处理医疗记录或专有内容等敏感数据。
可以。由于 Potato 是自托管的且在本地运行,您可以完全控制您的数据。数据绝不会离开您的基础设施,适用于 HIPAA、GDPR 等合规要求。
Potato 支持多种输入格式,包括纯文本、JSON、JSONL、CSV、TSV、图像(PNG、JPG、GIF、WebP)、音频(MP3、WAV、OGG)和视频文件。输出可以导出为 JSON、JSONL、CSV 以及 CoNLL、spaCy、COCO 和 HuggingFace datasets 等专用格式。
标注功能
Potato 支持:单选按钮(单项选择)、复选框(多项选择)、李克特量表、文本输入、文本片段标注(高亮标注)、边界框、多边形、成对比较、最佳-最差缩放等。详见我们的展示页面。
可以。单个标注任务可以包含任意组合的标注方案。例如,您可以让标注员在同一条目上高亮实体(文本片段标注)、分类情感(单选按钮)并提供评论(文本输入)。
支持。Potato 支持使用单选/复选标签的图像分类、用于目标检测的边界框标注,以及用于分割任务的多边形标注。
可以。Potato 可以在标注控件旁边显示音频波形和视频播放器。这对于语音转写审核、说话人分离、情感检测等任务非常有用。
在配置中添加文本片段标注方案并指定需要高亮的文本。标注员可以选择文本片段并分配标签。请参阅我们展示页面中的 NER 和文本片段标注示例。
Yes. Potato supports custom CSS, HTML templates, and layout configuration via YAML.
标注员管理
Potato 开箱即支持多标注员。每个标注员使用唯一 ID 登录,其标注记录独立跟踪。您可以配置重叠标注,让多个标注员对同一条目进行标注以进行质量控制。
可以。Potato 支持与 Prolific 和 Amazon Mechanical Turk 集成。标注员从平台重定向过来,在 Potato 中完成任务后,带着完成码返回平台。
Potato 会跟踪哪些条目已被多个标注员标注。您可以导出标注数据,使用标准 Python 库计算一致性指标(Cohen's Kappa、Krippendorff's Alpha 等)。
可以。您可以添加注意力检查题目、配置所需的标注重叠数量,并使用管理面板监控标注员进度和发现潜在问题。
大语言模型集成
可以。Potato 集成了 OpenAI、Anthropic Claude、Google Gemini 以及通过 Ollama 运行的本地大语言模型。您可以配置 AI 预标注以加速人工标注流程。
在配置中添加 `llm` 部分,指定提供商、模型和提示模板。Potato 将为每个条目调用大语言模型 API,预填标注字段,标注员可以接受或修正。
可以。Potato 支持通过 Ollama 运行本地大语言模型。这样可以保持数据完全私密,同时仍能受益于 AI 辅助。
适用。Potato 非常适合收集用于 RLHF 的人类偏好数据。使用成对比较让标注员在模型输出之间选择,或使用李克特量表对回复质量进行评分。
Agent Evaluation
Yes. Potato converts LangChain/LangSmith traces automatically.
No. The live agent supports Ollama for fully local inference with no API key.
Yes. Potato supports CrewAI, AutoGen, and LangGraph trace formats.
Use the generic ReAct converter or the webhook API to send traces in any JSON format.
Yes. Live agent mode lets annotators pause the agent, send instructions, or take over manual control.
Use the agent_eval exporter: python -m potato.export -f agent_eval -o results/.
部署
可以。虽然 Potato 默认在本地运行,但您可以将其部署到任何服务器上。通过 nginx 或 Apache 实现 HTTPS,或使用 Docker 进行容器化部署。
Potato 可以使用自定义 Dockerfile 进行容器化。虽然我们目前不提供官方 Docker 镜像,但您可以使用标准 Python 基础镜像创建自己的镜像。详见我们的部署文档。
Yes. Create a Dockerfile with a Python base image and install potato-annotation.
可以。部署到服务器后,多个标注员可以同时访问同一个 Potato 实例。每个标注员的工作独立跟踪。
将 Potato 部署在 nginx 或 Caddy 等反向代理之后,由反向代理处理 SSL 终结。详见我们的部署指南中的配置示例。
Annotations are saved as JSON/JSONL files in your configured output directory. Back up that directory regularly.
故障排查
常见问题:1)检查 config.yaml 的 YAML 语法是否正确。2)确保数据文件存在且格式正确。3)检查端口(默认 8000)是否已被占用。4)查看终端输出中的具体错误信息。
请检查:1)您是否点击了保存/提交按钮。2)输出目录是否可写。3)所有必填字段是否已填写。请在浏览器控制台中查看 JavaScript 错误。
从输出目录中删除该标注员的标注文件。其任务分配将在下次登录时重新生成。
加入我们的 Discord 社区获取实时帮助,在 GitHub Issues 中查看已知问题,或浏览我们的文档。社区氛围友好且响应迅速!