Pular para o conteúdo
Documentação do usuário

Ações de servidor de IA

As ações de servidor AI (artificial intelligence) estendem a estrutura de automação do Odoo, permitindo que a inteligência artificial tome decisões durante um fluxo de trabalho.

Elas são projetadas para casos em que a lógica não pode ser expressa inteiramente por meio de condições fixas, mas ainda requer execução controlada por meio de ações de servidor padrão.

Como as ações de servidor de IA funcionam

Os fluxos de trabalho orientados por IA no Odoo são construídos em torno de uma clara separação de responsabilidades entre a ação de servidor AI (artificial intelligence), ou o Gerenciador, e a ferramenta, ou o Trabalhador.

Ação de servidor IA: o gerenciador

Uma ação de servidor AI (artificial intelligence) atua como um tomador de decisão, ou um gerenciador. Ela lê o registro e seu contexto. Ela interpreta o prompt AI (artificial intelligence). E decide qual ferramenta chamar e quais argumentos usar.

A ação de servidor não impõe regras de negócio, modifica registros diretamente, ou garante a correção da operação. Seu papel é limitado à tomada de decisão.

Ferramenta IA: o trabalhador

Uma ferramenta é uma ação de servidor padrão com a opção Use in AI ativada em sua aba Usage. As ferramentas contêm toda a lógica de execução e realizam atualizações, movimentações ou gravações de registros. As ferramentas devem impor regras de negócio explicitamente em código Python.

Se uma ferramenta for chamada pela ação de servidor AI (artificial intelligence), ela será executada incondicionalmente, a menos que o próprio código a impeça.

Fluxo de trabalho de ação de servidor IA

O fluxo de trabalho de ação de servidor AI (artificial intelligence) segue esta sequência:

  1. A record triggers an AI (artificial intelligence) server action.

  2. The AI (artificial intelligence) prompt is evaluated, using the record as context.

  3. The AI (artificial intelligence) selects one of the available tools.

  4. The AI (artificial intelligence) provides arguments expected by the tool.

  5. The selected tool executes its Python code.

Demonstração de caso de uso

O exemplo Auto-sort documents in Inbox demonstra o padrão completo de Ação de Servidor AI (artificial intelligence). Navegue até o menu Server Actions acessando Settings › Technical › Server Actions.

O Model para a ação é listado como Document, e o Type é AI.

The record for the Auto-sort documents in inbox server action.

O prompt para esta ação fornece contexto sobre o documento, bem como a intenção da ação.

O campo Tool inclui várias ações que podem ser tomadas com base neste prompt, incluindo mover um documento, adicionar tags, ou criar faturas ou notas fiscais.

Por exemplo, se a ação determinar, baseado no conteúdo do documento, que a ferramenta mais apropriada é AI: Move to Folder, o código Python realiza a seguinte operação:

ai['result'] = record._ai_action_move_in_folder(folder_id)

Este código é executado incondicionalmente quando chamado e realiza a movimentação usando um método existente.

Para a ferramenta AI: Move to Folder, o código Python espera uma variável chamada folder_id. A AI (artificial intelligence) sabe fornecer folder_id porque é explicitamente declarada como um argumento na configuração. Isso pode ser encontrado na aba Usage da ação de servidor, no campo AI Schema. A coluna Name em AI Schema deve corresponder exatamente ao nome da variável usada no código Python.

A AI (artificial intelligence) usa a descrição do argumento para entender o que o parâmetro representa, que tipo de valor é esperado e quando é apropriado fornecê-lo.

Se um argumento não for definido na aba Usage, a IA não poderá fornecê-lo, mesmo que o código Python o referencie.

The usage tab of the AI move to folder server action.

Criando ferramentas personalizadas de IA

O mesmo padrão do exemplo Classificar documentos automaticamente na Caixa de entrada acima pode ser implementado usando lógica padrão do Odoo. Por exemplo, para criar uma ação que possa atualizar a descrição de uma tarefa, uma ação Executar Código poderia ser criada com o seguinte código:

record.write({'description': content})

Para funcionar corretamente, content deve ser definido como um argumento na aba Uso da ferramenta.

Veja também:

Server Actions <reference/actions/server>

Problemas comuns

Por que o campo Ferramentas está vazio?

  • Confirm that at least one server action has Use in AI enabled.

  • Confirm that at least one tool is assigned to the same model Model as the server action.

Por que a ferramenta foi executada mas nada aconteceu?

  • The Python code exited without changes.

  • Required arguments were missing or empty.

  • Business conditions were not implemented in the tool logic.

Por que a IA escolheu uma ferramenta inesperada?

  • The prompt lacked sufficient context.

  • Multiple tools matched the same intent.

  • No constraints were enforced at the tool level.