Questions fréquemment posées
Trouvez les réponses aux questions courantes sur Potato. Vous ne trouvez pas ce que vous cherchez ? Rejoignez notre Discord ou consultez la documentation.
Démarrage
Potato (Portable Text Annotation Tool) est un outil d'annotation gratuit et open source pour créer des jeux de données de haute qualité. Il prend en charge l'annotation de texte, d'images, d'audio et de vidéo avec un système de configuration simple basé sur YAML.
Oui, Potato est gratuit et open source sous la PolyForm Shield License 1.0.0. Cette licence autorise l'utilisation gratuite à des fins de recherche, d'éducation et non commerciales. La licence inclut une clause de non-concurrence qui interdit l'utilisation de Potato pour créer des plateformes d'annotation concurrentes. Consultez le fichier LICENSE dans le dépôt GitHub pour tous les détails.
Aucune programmation n'est requise. Potato utilise des fichiers de configuration YAML lisibles et faciles à écrire. Notre Playground offre une interface visuelle pour créer des configurations sans écrire de code.
Installez via pip : `pip install potato-annotation`. Puis exécutez `potato start my_project -c config.yaml` pour lancer votre serveur d'annotation. Consultez notre guide de démarrage rapide pour des instructions détaillées.
Potato nécessite Python 3.7 ou supérieur. Nous recommandons Python 3.10+ pour une meilleure expérience.
Données et confidentialité
Vos données restent sur votre machine. Potato fonctionne entièrement en local et n'envoie jamais vos données à des serveurs externes. C'est idéal pour les données sensibles comme les dossiers médicaux ou le contenu propriétaire.
Oui. Comme Potato est auto-hébergé et fonctionne en local, vous gardez un contrôle total sur vos données. Aucune donnée ne quitte jamais votre infrastructure, ce qui le rend adapté aux exigences HIPAA, RGPD et autres réglementations.
Potato prend en charge divers formats d'entrée, notamment le texte brut, JSON, JSONL, CSV, TSV, les images (PNG, JPG, GIF, WebP), l'audio (MP3, WAV, OGG) et les fichiers vidéo. Les résultats peuvent être exportés en JSON, JSONL, CSV et des formats spécialisés comme CoNLL, spaCy, COCO et les datasets HuggingFace.
Fonctionnalités d'annotation
Potato prend en charge : boutons radio (choix unique), cases à cocher (sélection multiple), échelles de Likert, saisie de texte, annotation de spans (surlignage), boîtes englobantes, polygones, comparaison par paires, Best-Worst Scaling, et plus encore. Consultez notre galerie pour des exemples.
Oui. Une même tâche d'annotation peut inclure n'importe quelle combinaison de schémas d'annotation. Par exemple, vous pouvez demander aux annotateurs de surligner des entités (annotation de spans), de classifier le sentiment (boutons radio) et de fournir des commentaires (saisie de texte), le tout sur le même élément.
Oui. Potato prend en charge la classification d'images avec des étiquettes radio/case à cocher, l'annotation par boîtes englobantes pour la détection d'objets, et l'annotation par polygones pour les tâches de segmentation.
Oui. Potato peut afficher des formes d'onde audio et des lecteurs vidéo aux côtés des contrôles d'annotation. C'est utile pour la révision de transcriptions, la diarisation de locuteurs, la détection d'émotions et des tâches similaires.
Ajoutez un schéma d'annotation de span dans votre configuration avec le texte à surligner. Les annotateurs peuvent sélectionner des portions de texte et leur attribuer des étiquettes. Consultez nos exemples de NER et d'annotation de spans dans la galerie.
Gestion des annotateurs
Potato prend en charge plusieurs annotateurs nativement. Chaque annotateur se connecte avec un identifiant unique et ses annotations sont suivies séparément. Vous pouvez configurer le chevauchement pour que plusieurs annotateurs étiquettent les mêmes éléments à des fins de contrôle de qualité.
Oui. Potato s'intègre avec Prolific et Amazon Mechanical Turk. Les annotateurs sont redirigés depuis la plateforme, complètent les tâches dans Potato, puis sont renvoyés avec des codes de complétion.
Potato suit quels éléments ont été annotés par plusieurs annotateurs. Vous pouvez exporter les annotations et calculer les métriques d'accord (Kappa de Cohen, Alpha de Krippendorff, etc.) à l'aide de bibliothèques Python standard.
Oui. Vous pouvez ajouter des éléments de vérification d'attention, configurer le chevauchement d'annotation requis et utiliser le tableau de bord administrateur pour surveiller la progression des annotateurs et identifier les problèmes potentiels.
Intégration LLM
Oui. Potato s'intègre avec OpenAI, Anthropic Claude, Google Gemini et les LLM locaux via Ollama. Vous pouvez configurer la pré-annotation par IA pour accélérer les flux d'annotation humaine.
Ajoutez une section `llm` à votre configuration en spécifiant le fournisseur, le modèle et le modèle de prompt. Potato appellera l'API du LLM pour chaque élément et pré-remplira les champs d'annotation que les annotateurs pourront accepter ou corriger.
Oui. Potato prend en charge Ollama pour exécuter des LLM locaux. Cela garantit la confidentialité totale de vos données tout en bénéficiant de l'assistance de l'IA.
Oui. Potato est parfaitement adapté à la collecte de données de préférence humaine pour le RLHF. Utilisez la comparaison par paires pour que les annotateurs choisissent entre les sorties de modèles, ou les échelles de Likert pour évaluer la qualité des réponses.
Déploiement
Oui. Bien que Potato fonctionne en local par défaut, vous pouvez le déployer sur n'importe quel serveur. Utilisez-le derrière nginx ou Apache pour le HTTPS, ou utilisez Docker pour un déploiement conteneurisé.
Potato peut être conteneurisé à l'aide d'un Dockerfile personnalisé. Bien que nous ne fournissions pas actuellement d'images Docker officielles, vous pouvez créer la vôtre en utilisant une image de base Python standard. Consultez notre documentation de déploiement pour des exemples.
Oui. Lorsqu'il est déployé sur un serveur, plusieurs annotateurs peuvent accéder à la même instance de Potato simultanément. Le travail de chaque annotateur est suivi séparément.
Déployez Potato derrière un proxy inverse comme nginx ou Caddy qui gère la terminaison SSL. Consultez notre guide de déploiement pour des exemples de configuration.
Dépannage
Problèmes courants : 1) Vérifiez que votre config.yaml a une syntaxe YAML valide. 2) Assurez-vous que votre fichier de données existe et est correctement formaté. 3) Vérifiez que le port (8000 par défaut) n'est pas déjà utilisé. 4) Consultez la sortie du terminal pour des messages d'erreur spécifiques.
Vérifiez que : 1) Vous avez cliqué sur le bouton Sauvegarder/Soumettre. 2) Le répertoire de sortie est accessible en écriture. 3) Tous les champs obligatoires sont remplis. Consultez la console du navigateur pour les erreurs JavaScript.
Supprimez le fichier d'annotation de l'annotateur du répertoire de sortie. Son affectation sera régénérée lors de la prochaine connexion.
Rejoignez notre communauté Discord pour une aide en temps réel, consultez les GitHub Issues pour les problèmes connus, ou parcourez notre documentation. La communauté est accueillante et réactive !
Encore des questions ?
Notre communauté est là pour vous aider. Rejoignez Discord pour une assistance en temps réel ou consultez la documentation pour des guides détaillés.