Soporte de IA
Integra modelos de lenguaje grandes para asistencia inteligente en la anotación.
Soporte de IA
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-4
api_key: ${OPENAI_API_KEY}
temperature: 0.3
max_tokens: 500Configuración Específica por Proveedor
OpenAI
ai_support:
enabled: true
endpoint_type: openai
ai_config:
model: gpt-4o
api_key: ${OPENAI_API_KEY}
temperature: 0.3
max_tokens: 500Anthropic Claude
ai_support:
enabled: true
endpoint_type: anthropic
ai_config:
model: claude-3-sonnet-20240229
api_key: ${ANTHROPIC_API_KEY}
temperature: 0.3
max_tokens: 500Google Gemini
ai_support:
enabled: true
endpoint_type: google
ai_config:
model: gemini-1.5-pro
api_key: ${GOOGLE_API_KEY}Ollama Local
ai_support:
enabled: true
endpoint_type: ollama
ai_config:
model: llama2
base_url: http://localhost:11434vLLM (Autoalojado)
ai_support:
enabled: true
endpoint_type: vllm
ai_config:
model: meta-llama/Llama-2-7b-chat-hf
base_url: http://localhost:8000/v1Endpoints 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-4
api_key: ${OPENAI_API_KEY}
# Hints appear as tooltips or sidebars
features:
hints:
enabled: true2. Resaltado de Palabras Clave
Resalta automáticamente palabras clave relevantes en el texto:
ai_support:
enabled: true
endpoint_type: openai
ai_config:
model: gpt-4
api_key: ${OPENAI_API_KEY}
features:
keyword_highlighting:
enabled: true
# Highlights are rendered as box overlays on the text3. Sugerencias de Etiquetas
Sugiere etiquetas para consideración del anotador (mostradas con indicadores de confianza):
ai_support:
enabled: true
endpoint_type: openai
ai_config:
model: gpt-4
api_key: ${OPENAI_API_KEY}
features:
label_suggestions:
enabled: true
show_confidence: 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: openai
ai_config:
model: gpt-4
api_key: ${OPENAI_API_KEY}
features:
rationales:
enabled: 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: openai
ai_config:
model: gpt-4o-mini
api_key: ${OPENAI_API_KEY}
option_highlighting:
enabled: true
top_k: 3
dim_opacity: 0.4
auto_apply: 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: openai
ai_config:
model: gpt-4
api_key: ${OPENAI_API_KEY}
cache_config:
disk_cache:
enabled: true
path: "ai_cache/cache.json"
# Pre-generate hints on startup and prefetch upcoming
prefetch:
warm_up_page_count: 100
on_next: 5
on_prev: 2Estrategias 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: openai
ai_config:
model: gpt-4
api_key: ${OPENAI_API_KEY}
# Only enable for specific schemes
special_include:
- page: 1
schema: sentiment
- page: 1
schema: topicsEjemplo Completo
Configuración completa para análisis de sentimiento asistido por IA:
annotation_task_name: "AI-Assisted Sentiment Analysis"
task_dir: "."
port: 8000
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 review?"
labels:
- Positive
- Negative
- Neutral
ai_support:
enabled: true
endpoint_type: openai
ai_config:
model: gpt-4
api_key: ${OPENAI_API_KEY}
temperature: 0.3
max_tokens: 500
features:
hints:
enabled: true
keyword_highlighting:
enabled: true
# Highlights are rendered as box overlays on the text
label_suggestions:
enabled: true
show_confidence: true
cache_config:
disk_cache:
enabled: true
path: "ai_cache/cache.json"
prefetch:
warm_up_page_count: 50
on_next: 3
on_prev: 2
output_annotation_dir: "output/"
output_annotation_format: "json"
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.