ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

doccano 快速部署实战指南:pip 安装、数据库配置与 CLI 命令详解

doccano 快速部署实战指南:pip 安装、数据库配置与 CLI 命令详解 数据标注后端前端【免费下载链接】doccanoOpen source annotation tool for machine learning practitioners.项目地址https://gitcode.com/gh_mirrors/do/doccano点击查看免费下载doccano 是一个面向机器学习从业者的开源文本标注工具为文本分类text classification、序列标注sequence labeling与序列到序列sequence to sequence三大任务提供标注能力可用于构建情感分析、命名实体识别NER、文本摘要等任务的标注数据集。本指南基于仓库根目录 backend/README.md 展开结合 backend/cli.py、backend/config/settings/base.py 等源码完整讲解 doccano 的安装方式、数据库选型与doccanoCLI 的每条命令帮助你在数分钟内从零拉起一套可用的标注环境。一、doccano 是什么doccano 是一款开源、面向人类标注者的文本标注工具其核心工作流是“创建项目 → 上传数据 → 开始标注”只需数小时即可构建出可用于模型训练的数据集。它覆盖以下三类典型 NLP 任务文本分类Text Classification如情感分析Sentiment Analysis为整条文本打上一个类别标签序列标注Sequence Labeling如命名实体识别Named Entity Recognition、槽位填充为文本中的片段标注实体序列到序列Sequence to Sequence如文本摘要Text Summarization、翻译输入与输出均为文本序列。后端基于 Django 实现前端基于 Vue/Nuxt整体通过 backend/config/wsgi.py 暴露 WSGI 应用、通过 backend/config/celery.py 提供异步任务队列负责文件上传/下载等耗时任务。二、核心特性backend/README.md 中列出的特性如下协作标注Collaborative annotation支持多成员在同一项目内分工标注多语言支持Multi-language support前端 i18n 提供多语言界面移动端支持Mobile support界面适配移动设备Emoji 支持标注内容与界面支持 emoji暗色主题Dark theme内置暗色模式RESTful API通过 backend/config/urls.py 暴露 REST 接口便于与其他系统集成。从 backend/config/settings/base.py 的INSTALLED_APPS可以看出后端集成了rest_framework、drf_yasg自动生成 API 文档、django_filters、dj_rest_auth认证、django_celery_results异步任务结果存储与django_drf_filepond文件上传等组件分别支撑 RESTful API、数据过滤、认证和文件上传能力。三、安装 doccano3.1 基础安装安装 doccano 非常简单直接通过 pip 安装pip install doccanodoccano 以 Python 包形式发布。从 backend/pyproject.toml 可以看到包依赖 Python3.10,4.0核心依赖包括 Django 4.1、djangorestframework、Celery、gunicorn、pandas 等doccano命令的入口脚本即指向backend.cli:main见 backend/pyproject.toml 中[tool.poetry.scripts]段。3.2 使用 PostgreSQL默认情况下doccano 使用 SQLite 3 作为默认数据库。如果你希望使用 PostgreSQL需要安装附加依赖pip install doccano[postgresql]该 extra 在 backend/pyproject.toml 中定义为postgresql [psycopg2-binary]即会额外安装 PostgreSQL 驱动。随后按你的 PostgreSQL 凭据设置DATABASE_URL环境变量DATABASE_URLpostgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_DB}?sslmodedisable数据库连接串的解析由dj-database-url完成。在 backend/config/settings/base.py 中DATABASES[default].update(dj_database_url.config(envDATABASE_URL, ...))会读取该环境变量并覆盖默认的 SQLite 配置同时conn_max_age默认取DATABASE_CONN_MAX_AGE默认 500 秒ssl_require则根据连接串中是否携带sslmode参数自动决定。源码中还针对不同数据库做了兼容处理SQLite 会显式移除sslmode选项MySQL 支持通过MYSQL_SSL_CA指定 CA 证书Azure SQLsql_server.pyodbc会默认选用 ODBC Driver 17 for SQL Server 驱动。pyproject.toml还定义了mssql [django-mssql-backend]这一 extra说明 SQL Server 也是受支持的数据库选项。提示若需使用云数据库AWS/GCP可以参考 backend/config/settings/aws.py、[backend/config/settings/gcp.py) 等独立配置模块。四、初始化与启动doccano CLI 全命令安装完成后需要依次执行数据库初始化、创建超级用户、启动 Web 服务与任务队列。所有命令的入口实现集中在 backend/cli.py每条子命令均对应一个command_*处理器。下面逐一详解。4.1 初始化数据库doccano init该命令会依次执行三步见 backend/cli.py 中的command_db_initwait_for_db等待数据库可用。对应 backend/api/management/commands/wait_for_db.py默认每 3 秒轮询一次--poll_seconds默认 3最多重试 60 次--max_retries默认 60超时后输出 Database unavailable 并退出migrate执行 Django 数据库迁移创建全部数据表create_roles创建默认角色。对应 backend/roles/management/commands/create_roles.py依次创建project_admin项目管理员、annotator标注员、annotation_approver标注审核员三个角色角色名可在 backend/config/settings/base.py 中通过ROLE_PROJECT_ADMIN、ROLE_ANNOTATOR、ROLE_ANNOTATION_APPROVER环境变量覆盖。4.2 创建超级用户doccano createuser --username admin --password pass该命令对应 backend/cli.py 的command_user_create会调用 Django 管理命令create_admin实现见 backend/api/management/commands/create_admin.py。其支持三个参数参数默认值说明--usernameadmin管理员用户名--passwordpassword管理员密码--emailexampleexample.com管理员邮箱源码中还有几点值得注意若未提供--username或--password命令会直接报错退出若密码恰好是默认的password会打印 Warning: You should change the default password. 提醒你修改默认密码若用户名已存在会打印 User xxx already exists. 而不是抛出异常创建完成后会再次调用user.set_password(password)确保密码被正确设置。4.3 启动 Web 服务器doccano webserver --port 8000该命令在不同平台上有不同的实现见 backend/cli.py 的command_run_webserverLinux/macOS使用gunicorn启动绑定0.0.0.0:端口加载 backend/config/wsgi.py 中的 WSGI 应用Windows使用waitress启动waitress.serve。webserver子命令还支持以下参数参数默认值说明--port8000监听端口--workers(CPU 核数 × 2) 1gunicorn worker 进程数由number_of_workers()计算--env_file无指定环境变量文件启动前加载4.4 启动任务队列doccano taskdoccano 使用 Celery 作为异步任务队列负责文件上传/下载等耗时操作。该命令对应 backend/cli.py 的command_run_task_queue等价于执行celery --appconfig worker。其支持参数默认值说明--concurrency2并发 worker 数--env_file无指定环境变量文件在 Windows 上会自动追加--poolsolo以兼容单进程模型。Celery 的 broker 与结果后端配置在 backend/config/settings/base.py结果后端默认使用django-db存入数据库broker 优先级为CELERY_BROKER_URL环境变量 → 由DATABASE_URL推导的sqlapostgresql://...→ 默认的sqlasqlite:///db.sqlite3。换言之若不额外配置 Redis/RabbitMQ任务消息会复用现有数据库作为 broker这也是“开箱即用”的原因。4.5 其它 CLI 命令除上述命令外backend/cli.py 还定义了doccano migrate仅执行数据库迁移management.call_command(migrate)doccano flower启动 Celery Flower 监控面板可通过--basic_auth参数格式用户名:密码为监控页面开启 Basic Authdoccano help command查看指定命令的帮助信息。4.6 完整启动示例将以上命令组合一个完整的单机启动流程如下# 终端 1初始化数据库并启动 Web 服务 doccano init doccano createuser --username admin --password pass doccano webserver --port 8000 # 终端 2启动任务队列处理文件上传/下载 doccano task随后访问 http://127.0.0.1:8000/ 即可进入 doccano Web 界面。五、环境变量与数据目录doccanoCLI 在 backend/cli.py 启动时会自动设置一组默认环境变量理解它们有助于排查部署问题环境变量默认值说明DOCCANO_HOME~/doccanodoccano 数据主目录启动时会自动创建DATABASE_URLsqlite:///~/doccano/db.sqlite3数据库连接串仅当未显式设置时生效MEDIA_ROOT~/doccano/media媒体文件上传的标注数据存放目录DJANGO_SETTINGS_MODULEconfig.settings.productionDjango 配置模块CLI 与 WSGI/Celery 均使用生产配置也就是说通过 pip 安装并直接运行 CLI 时即便不配置任何环境变量也会默认在~/doccano下创建 SQLite 数据库与媒体目录实现“零配置启动”。设置--env_file指定环境变量文件后backend/cli.py 会通过env.read_env(env_file, overrideTrue)在启动前加载其中的变量。此外backend/config/settings/base.py 还支持若干可调参数按需设置即可DOCCANO_PAGE_SIZEREST API 分页大小默认 5IMPORT_BATCH_SIZE数据导入批大小默认 1000MAX_UPLOAD_SIZE单文件上传上限默认 1GBpow(1024, 3)ENABLE_FILE_TYPE_CHECK是否启用上传文件类型校验默认关闭CELERY_BROKER_URLCelery broker 地址SECRET_KEY/DEBUGDjango 密钥与调试开关生产配置中DEBUGFalse见 backend/config/settings/production.py。六、与容器化部署的关系如果你不打算通过 pip 安装仓库还提供了 Docker 化部署方案。容器启动脚本 tools/run.sh 完整复现了上述 CLI 的初始化流程可作为理解命令执行顺序的参考python manage.py wait_for_db→ 等待数据库python manage.py migrate→ 迁移数据库python manage.py create_roles→ 创建默认角色python manage.py create_admin→ 通过ADMIN_USERNAME、ADMIN_PASSWORD、ADMIN_EMAIL环境变量创建管理员gunicorn启动 Djangoconfig.wsgicelery --appconfig worker启动任务队列若设置了FLOWER_BASIC_AUTH额外启动 Flower 监控面板。可以看到容器部署与doccano init/doccano createuser/doccano webserver/doccano task四条命令的执行逻辑完全对应。相关 Dockerfile 位于 docker/Dockerfile、docker/Dockerfile.prodCompose 编排见 docker/docker-compose.prod.yml。七、常见问题FAQbackend/README.md 指向了官方 FAQ核心问题包括如何创建用户通过doccano createuser或 Django 后台创建管理员也可在前端用户管理页面添加新用户如何将用户加入项目项目管理员在项目成员管理页面中按用户名搜索并添加成员并为其分配角色项目管理员 / 标注员 / 标注审核员如何修改密码用户可在个人页面修改密码管理员可在用户列表中重置。这些操作均依赖 backend/roles/models.py 定义的角色体系与 backend/config/settings/base.py 中的角色名配置。八、引用与贡献doccano 由 Hiroki Nakayama、Takahiro Kubo、Junya Kamura、Yasufumi Taniguchi、Xu Liang 等人开发采用 MIT 协议见仓库根目录 LICENSE。如果你在学术工作中使用了 doccanobackend/README.md 提供了如下 BibTeX 引用格式misc{doccano, title{{doccano}: Text Annotation Tool for Human}, author{ Hiroki Nakayama and Takahiro Kubo and Junya Kamura and Yasufumi Taniguchi and Xu Liang}, year{2018}, }项目处于持续开发中若需贡献功能或修复问题可采用 fork 仓库、提交 Pull Request 的标准流程详见 docs/CONTRIBUTING.md。小结通过本文你可以掌握 doccano 的完整部署链路pip install doccano安装含 PostgreSQL 扩展→ 设置DATABASE_URL→doccano init初始化 →doccano createuser创建管理员 →doccano webserverdoccano task双进程启动。结合 backend/cli.py 与 backend/config/settings/base.py 的源码解读你还可以按需调整 worker 数量、并发度、分页大小、上传上限等参数将 doccano 平滑接入自己的数据标注流水线。赞分享数据标注后端前端【免费下载链接】doccanoOpen source annotation tool for machine learning practitioners.项目地址https://gitcode.com/gh_mirrors/do/doccano点击查看免费下载相关推荐doccano 安装与升级完全指南pip、Docker、源码与云部署实战doccano 安装与升级完全指南pip、Docker、源码与云部署实战 本指南以 doccano 官方安装文档 docs/install_and_upgr数据标注后端前端VictoriaMetrics vmanomaly 快速上手指南安装部署、命令行参数与异常检测配置实战VictoriaMetrics vmanomaly 快速上手指南安装部署、命令行参数与异常检测配置实战 本指南以 VictoriaMetrics 企业版异常检时序数据库数据库指标监控可观测性后端Mealie 使用 PostgreSQL 安装部署与数据库配置实战指南Mealie 使用 PostgreSQL 安装部署与数据库配置实战指南 本篇技术指南以 Mealie 官方安装文档为核心讲解如何在 Docker 环境中使用后端前端创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表