Suporte de IA
Integre OpenAI, Claude, Gemini, Ollama, HuggingFace, vLLM e OpenRouter ao Potato para sugestões de rótulos, pré-anotação e destaque de palavras-chave com IA.
O Potato 2.0 inclui suporte nativo a Modelos de Linguagem de Grande Porte (LLMs) para auxiliar os anotadores com dicas inteligentes, destaque de palavras-chave e sugestões de rótulos.
Provedores compatíveis
O Potato é compatível com vários provedores de LLM:
Provedores em nuvem:
- 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/auto-hospedado:
- Ollama (execute modelos localmente)
- vLLM (inferência auto-hospedada de alto desempenho)
Configuração
Configuração básica
Adicione uma seção ai_support ao seu arquivo de configuração:
ai_support:
enabled: true
endpoint_type: openai
ai_config:
model: gpt-4
api_key: ${OPENAI_API_KEY}
temperature: 0.3
max_tokens: 500Configuração específica por provedor
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 (auto-hospedado)
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
Novidade na v2.1.0
Para tarefas de anotação de imagem e vídeo, o Potato é compatível com endpoints de visão dedicados, incluindo YOLO, Ollama Vision, OpenAI Vision e Anthropic Vision. Eles permitem detecção de objetos, pré-anotação e classificação visual.
Consulte Suporte de IA Visual para todos os detalhes de configuração.
Recursos de IA
O suporte de IA do Potato oferece cinco capacidades principais:
1. Dicas inteligentes
Forneça orientação contextual aos anotadores sem revelar a resposta:
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. Destaque de palavras-chave
Destaque automaticamente as palavras-chave relevantes no 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. Sugestões de rótulos
Sugira rótulos para o anotador considerar (exibidos com indicadores de confiança):
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. Justificativas de rótulos
Novidade na v2.1.0
Gere explicações equilibradas sobre por que cada rótulo pode se aplicar ao texto, ajudando os anotadores a entender o raciocínio por trás das diferentes classificações:
ai_support:
enabled: true
endpoint_type: openai
ai_config:
model: gpt-4
api_key: ${OPENAI_API_KEY}
features:
rationales:
enabled: trueAs justificativas aparecem como uma dica que lista cada rótulo disponível com uma explicação de por que ele pode se aplicar. Isso é útil para treinar anotadores ou quando as decisões de anotação são difíceis.
5. Destaque de opções
Novidade na v2.2.0
Destaque assistido por IA das opções mais prováveis de estarem corretas em tarefas de anotação discretas (radio, multiselect, likert, select). O sistema analisa o conteúdo e destaca as top-k opções mais prováveis, enquanto atenua as menos prováveis, mantendo todas as opções totalmente clicáveis.
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: trueConsulte Destaque de Opções para todos os detalhes de configuração.
Complementar: Ordenação por diversidade
Novidade na v2.2.0
Embora não seja estritamente um recurso de IA, a Ordenação por Diversidade usa embeddings de sentence-transformer para agrupar itens e apresentá-los em uma ordem diversa, reduzindo a fadiga do anotador e melhorando a cobertura. Ela se integra ao suporte de IA buscando automaticamente as dicas de IA dos itens reordenados.
Cache e desempenho
As respostas da IA podem ser armazenadas em cache para melhorar o desempenho e reduzir os custos 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: 2Estratégias de cache
- Aquecimento: Pré-gera dicas de IA para um lote inicial de instâncias quando o servidor inicia (
warm_up_page_count) - Pré-busca: Gera dicas para as próximas instâncias à medida que os anotadores navegam para frente (
on_next) ou para trás (on_prev) - Persistência em disco: Os caches são salvos em disco e persistem entre reinicializações do servidor
Prompts personalizados
O Potato inclui prompts padrão para cada tipo de anotação, armazenados em potato/ai/prompt/. Você pode personalizá-los para a sua tarefa específica:
| Tipo de anotação | Arquivo de prompt |
|---|---|
| Botões de opção | radio_prompt.txt |
| Escalas Likert | likert_prompt.txt |
| Caixas de seleção | checkbox_prompt.txt |
| Anotação de trecho | span_prompt.txt |
| Controles deslizantes | slider_prompt.txt |
| Listas suspensas | dropdown_prompt.txt |
| Entrada numérica | number_prompt.txt |
| Entrada de texto | text_prompt.txt |
Os prompts oferecem substituição de variáveis:
{text}- O texto do documento{labels}- Rótulos disponíveis para o esquema{description}- A descrição do esquema
Suporte a múltiplos esquemas
Para tarefas com vários esquemas de anotação, você pode ativar o suporte de IA seletivamente:
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: topicsExemplo completo
Configuração completa para análise de sentimento assistida 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/"
export_annotation_format: "json"
user_config:
allow_all_users: trueVariáveis de ambiente
Armazene as chaves de API com segurança usando variáveis de ambiente:
export OPENAI_API_KEY="sk-..."
export ANTHROPIC_API_KEY="sk-ant-..."
export GOOGLE_API_KEY="..."Referencie-as na sua configuração com a sintaxe ${VARIABLE_NAME}.
Considerações de custo
- As chamadas de IA são feitas por instância por padrão
- Ative o cache para reduzir chamadas de API repetidas
- Use aquecimento e pré-busca para pré-gerar dicas
- Considere usar modelos menores/mais baratos para tarefas simples
- Provedores locais (Ollama, vLLM) não têm custos de API
Boas práticas
- Use a IA como apoio, não como substituição - Deixe os anotadores tomarem as decisões finais
- Ative o cache em produção - Reduz a latência e os custos
- Teste os prompts minuciosamente - Prompts personalizados devem ser validados
- Monitore os custos de API - Acompanhe o uso, especialmente com provedores em nuvem
- Considere provedores locais - Ollama ou vLLM para anotação de alto volume
- Proteja as credenciais de API - Use variáveis de ambiente, nunca faça commit de chaves
Leitura adicional
- Destaque de Opções - Orientação de opções assistida por IA
- Ordenação por Diversidade - Diversificação de itens baseada em embeddings
- Suporte de IA Visual - IA para anotação de imagem e vídeo
- Rotulagem ICL - Aprendizado em contexto assistido por IA
- Aprendizado Ativo - Priorização de instâncias baseada em ML
- Recursos de Produtividade - Destaques de palavras-chave e sugestões
Para detalhes de implementação e modelos de prompt personalizados, consulte a documentação de origem.