Soporte de IA
Integra modelos de lenguaje grandes para asistencia inteligente en la anotación.
Potato 2.0 incluye soporte integrado para Modelos de Lenguaje Grandes (LLMs) que asisten a los anotadores con sugerencias inteligentes, resaltado de palabras clave y sugerencias de etiquetas.
Proveedores Compatibles
Potato soporta múltiples proveedores de LLM:
Proveedores en la Nube:
- OpenAI (GPT-4, GPT-4 Turbo, GPT-3.5)
- Anthropic (Claude 3, Claude 3.5)
- Google (Gemini 1.5 Pro, Gemini 2.0 Flash)
- Hugging Face
- OpenRouter
Local/Autoalojado:
- Ollama (ejecutar modelos localmente)
- vLLM (inferencia autoalojada de alto rendimiento)
Configuración
Configuración Básica
Agrega una sección ai_support a tu archivo de configuración:
ai_support:
enabled: true
endpoint_type: "openai"
ai_config:
model: "gpt-4o-mini"
api_key: "${OPENAI_API_KEY}"
temperature: 0.7
max_tokens: 800
include:
all: trueConfiguración Específica por Proveedor
OpenAI
instance_display:
fields:
- {key: body, type: text, label: Ticket}
- {key: screenshot, type: image, label: Screenshot}Anthropic Claude
ai_support:
enabled: true
endpoint_type: "openai"
ai_config:
model: "gpt-4o-mini"
api_key: "${OPENAI_API_KEY}"
include:
all: false
special_include:
"0":
"0": ["hint", "keyword"]
"1":
"1": ["hint"]
"2":
"0": ["hint", "keyword"]
"1": ["hint", "keyword"]Google Gemini
ai_support:
enabled: true
endpoint_type: "openai"
ai_config:
model: "gpt-4o-mini"
api_key: "${OPENAI_API_KEY}"
include:
all: true
cache_config:
disk_cache:
enabled: true
path: "annotation_output/ai_cache.json"
prefetch:
warm_up_page_count: 20
on_next: 10
on_prev: 3Ollama Local
# config.yaml, committed, no secrets
ai_support:
enabled: true
ai_config_file: ai-config.yaml
ai_config:
temperature: 0.7
max_tokens: 800
include:
all: truevLLM (Autoalojado)
# ai-config.yaml, gitignored
endpoint_type: ollama
model: qwen3:0.6b
base_url: http://localhost:11434Endpoints de IA Visual
Nuevo en v2.1.0
Para tareas de anotación de imágenes y video, Potato soporta endpoints de visión dedicados incluyendo YOLO, Ollama Vision, OpenAI Vision y Anthropic Vision. Estos permiten detección de objetos, pre-anotación y clasificación visual.
Consulta Soporte de IA Visual para detalles completos de configuración.
Características de IA
El soporte de IA de Potato proporciona cinco capacidades principales:
1. Sugerencias Inteligentes
Proporciona orientación contextual a los anotadores sin revelar la respuesta:
ai_support:
enabled: true
endpoint_type: "openai"
ai_config:
model: "gpt-4o-mini"
api_key: "${OPENAI_API_KEY}"
temperature: 0.7
max_tokens: 800
include:
all: true2. Resaltado de Palabras Clave
Resalta automáticamente palabras clave relevantes en el texto:
ai_support:
enabled: true
endpoint_type: "anthropic"
ai_config:
model: "claude-sonnet-4-20250514"
api_key: "${ANTHROPIC_API_KEY}"
temperature: 0.7
max_tokens: 800
include:
all: true3. Sugerencias de Etiquetas
Sugiere etiquetas para consideración del anotador (mostradas con indicadores de confianza):
ai_support:
enabled: true
endpoint_type: "gemini"
ai_config:
model: "gemini-2.0-flash-exp"
api_key: "${GOOGLE_API_KEY}"
max_tokens: 800
include:
all: true4. Justificaciones de Etiquetas
Nuevo en v2.1.0
Genera explicaciones equilibradas de por qué cada etiqueta podría aplicarse al texto, ayudando a los anotadores a entender el razonamiento detrás de diferentes clasificaciones:
ai_support:
enabled: true
endpoint_type: "ollama"
ai_config:
model: "llama3.2"
base_url: "http://localhost:11434"
max_tokens: 800
include:
all: trueLas justificaciones aparecen como un tooltip que lista cada etiqueta disponible con una explicación de por qué podría aplicarse. Esto es útil para entrenar anotadores o cuando las decisiones de anotación son difíciles.
5. Resaltado de Opciones
Nuevo en v2.2.0
Resaltado asistido por IA de las opciones más probablemente correctas para tareas de anotación discretas (radio, multiselect, likert, select). El sistema analiza el contenido y resalta las top-k opciones más probables mientras atenúa las menos probables, manteniendo todas las opciones completamente seleccionables.
ai_support:
enabled: true
endpoint_type: "vllm"
ai_config:
model: "meta-llama/Llama-3.2-3B-Instruct"
base_url: "http://localhost:8000"
max_tokens: 800
include:
all: trueConsulta Resaltado de Opciones para detalles completos de configuración.
Complementario: Ordenamiento por Diversidad
Nuevo en v2.2.0
Aunque no es estrictamente una característica de IA, Ordenamiento por Diversidad usa embeddings de sentence-transformer para agrupar elementos y presentarlos en un orden diverso, reduciendo la fatiga del anotador y mejorando la cobertura. Se integra con el soporte de IA al pre-cargar automáticamente sugerencias de IA para los elementos reordenados.
Caché y Rendimiento
Las respuestas de IA pueden almacenarse en caché para mejorar el rendimiento y reducir costos de API:
ai_support:
enabled: true
endpoint_type: "open_router"
ai_config:
model: "openai/gpt-4o-mini"
api_key: "${OPENROUTER_API_KEY}"
max_tokens: 800
include:
all: trueEstrategias de Caché
- Precalentamiento: Pre-genera sugerencias de IA para un lote inicial de instancias cuando el servidor arranca (
warm_up_page_count) - Precarga: Genera sugerencias para las próximas instancias mientras los anotadores navegan hacia adelante (
on_next) o hacia atrás (on_prev) - Persistencia en Disco: Los cachés se guardan en disco y persisten entre reinicios del servidor
Prompts Personalizados
Potato incluye prompts predeterminados para cada tipo de anotación, almacenados en potato/ai/prompt/. Puedes personalizarlos para tu tarea específica:
| Tipo de Anotación | Archivo de Prompt |
|---|---|
| Botones de radio | radio_prompt.txt |
| Escalas Likert | likert_prompt.txt |
| Casillas de verificación | checkbox_prompt.txt |
| Anotación de spans | span_prompt.txt |
| Deslizadores | slider_prompt.txt |
| Menús desplegables | dropdown_prompt.txt |
| Entrada numérica | number_prompt.txt |
| Entrada de texto | text_prompt.txt |
Los prompts soportan sustitución de variables:
{text}- El texto del documento{labels}- Las etiquetas disponibles para el esquema{description}- La descripción del esquema
Soporte Multi-Esquema
Para tareas con múltiples esquemas de anotación, puedes habilitar el soporte de IA selectivamente:
ai_support:
enabled: true
endpoint_type: "ollama"
visual_endpoint_type: "ollama_vision"
ai_config:
model: "llama3.2"
include:
all: true
visual_ai_config:
model: "qwen2.5-vl:7b"Ejemplo Completo
Configuración completa para análisis de sentimiento asistido por IA:
annotation_task_name: "Sentiment Analysis with AI Support"
task_dir: "."
data_files:
- "data/reviews.json"
item_properties:
id_key: id
text_key: text
annotation_schemes:
- annotation_type: radio
name: sentiment
description: "What is the sentiment of this text?"
labels: ["positive", "negative", "neutral"]
- annotation_type: multiselect
name: topics
description: "What topics are discussed?"
labels: ["product", "service", "price", "quality"]
ai_support:
enabled: true
endpoint_type: "openai"
ai_config:
model: "gpt-4o-mini"
api_key: "${OPENAI_API_KEY}"
temperature: 0.7
max_tokens: 800
include:
all: true
cache_config:
disk_cache:
enabled: true
path: "annotation_output/ai_cache.json"
prefetch:
warm_up_page_count: 20
on_next: 10
on_prev: 3
output_annotation_dir: "output/"
export_annotation_format: jsonl
user_config:
allow_all_users: trueVariables de Entorno
Almacena las claves API de forma segura usando variables de entorno:
export OPENAI_API_KEY="sk-..."
export ANTHROPIC_API_KEY="sk-ant-..."
export GOOGLE_API_KEY="..."Referéncialas en tu configuración con la sintaxis ${VARIABLE_NAME}.
Consideraciones de Costos
- Las llamadas de IA se realizan por instancia de forma predeterminada
- Habilita el caché para reducir llamadas repetidas a la API
- Usa precalentamiento y precarga para pre-generar sugerencias
- Considera usar modelos más pequeños/económicos para tareas simples
- Los proveedores locales (Ollama, vLLM) no tienen costos de API
Mejores Prácticas
- Usa la IA como asistencia, no como reemplazo - Deja que los anotadores tomen las decisiones finales
- Habilita el caché para producción - Reduce latencia y costos
- Prueba los prompts exhaustivamente - Los prompts personalizados deben ser validados
- Monitorea los costos de API - Rastrea el uso especialmente con proveedores en la nube
- Considera proveedores locales - Ollama o vLLM para anotación de alto volumen
- Protege las credenciales de API - Usa variables de entorno, nunca guardes claves en el código
Lectura Adicional
- Resaltado de Opciones - Orientación de opciones asistida por IA
- Ordenamiento por Diversidad - Diversificación de elementos basada en embeddings
- Soporte de IA Visual - IA para anotación de imágenes y video
- Etiquetado ICL - Aprendizaje en contexto asistido por IA
- Aprendizaje Activo - Priorización de instancias basada en ML
- Características de Productividad - Resaltado de palabras clave y sugerencias
Para detalles de implementación y plantillas de prompts personalizados, consulta la documentación fuente.