O Odoo 19 marcou uma mudança significativa na forma como a IA é integrada na plataforma.
Em vez de acrescentar a IA como um remendo, o Odoo teceu-a diretamente no tecido central do framework, com embeddings nativos, RAG (Retrieval-Augmented Generation) e agentes de IA configuráveis.
Mas como funciona tudo isto realmente por dentro? Que promessas pode a tecnologia cumprir? Como podemos personalizá-la e alargá-la?
Mergulhámos no código-fonte e na arquitetura para responder às perguntas que todos os implementadores técnicos de Odoo estão a fazer.
Conheça a mecânica da arquitetura de IA do Odoo 19, o que pode personalizar e o que ainda permanece desconhecido.
Os 3 pilares centrais da arquitetura de IA do Odoo
A funcionalidade de IA do Odoo 19 assenta em três pilares centrais:
- Base de dados vetorial para permitir RAG: recuperação de documentos baseada em embeddings, para fundamentar as respostas da IA nos seus dados
- Agentes de IA: assistentes configuráveis que combinam prompts de sistema, tópicos, ferramentas e fontes
- Ferramentas de IA: ações de servidor expostas ao LLM para interagir com os dados do Odoo. Conceptualmente, é semelhante ao MCP e uma forma abrangente de interagir com os dados do Odoo.
RAG baseado em vetores
RAG (Retrieval-Augmented Generation) é a forma como a IA encontra informação relevante nos seus documentos antes de responder a uma pergunta.
Em vez de ler tudo sempre que responde, o Odoo converte os seus documentos em padrões matemáticos (vetores) e armazena-os.
Quando faz uma pergunta, o Odoo encontra rapidamente as secções mais relevantes e inclui-as na resposta da IA.
É por isso que a IA consegue citar com precisão as políticas da sua empresa ou as especificações dos produtos – está mesmo a consultá-las, em vez de fazer suposições.
Os agentes de IA do Odoo
Um agente de IA no Odoo é como um assistente virtual que vive dentro do seu sistema.
Pode configurá-lo para responder a perguntas, ajudar em tarefas ou fornecer informação com base nos documentos e dados da sua empresa.
Pense nele como um ChatGPT que conhece o seu negócio – pode consultar os seus números de vendas, redigir emails ou explicar as suas políticas internas.
Ferramentas do Odoo AI
As ferramentas de IA são as ações que um agente de IA pode realizar no Odoo.
Quando pede ao agente «Mostra-me os meus orçamentos em aberto», ele usa uma ferramenta para pesquisar diretamente na sua base de dados e recuperar essa informação.
As ferramentas permitem à IA fazer coisas como abrir registos, criar leads ou extrair relatórios – em vez de apenas falar sobre elas.
O Odoo exige PostgreSQL com a extensão pgvector para armazenar e consultar os vetores de embeddings. É um requisito obrigatório. Sem pgvector, a funcionalidade RAG não funciona. É também um dos novos requisitos de baixo nível mais importantes do Odoo 19.

Vejamos os detalhes técnicos, uma funcionalidade de cada vez.
O Odoo exige PostgreSQL com a extensão pgvector para armazenar e consultar os vetores de embeddings. É um requisito obrigatório. Sem pgvector, a funcionalidade RAG não funciona. É também um dos novos requisitos de baixo nível mais importantes do Odoo 19.

Vejamos os detalhes técnicos, uma funcionalidade de cada vez.
1. O armazém de vetores do Odoo constrói a sua base de dados de IA
RAG («Retrieval-Augmented Generation») é um padrão que permite à IA consumir o seu conteúdo de forma mais nativa e rápida, para enriquecer a resposta que a sua IA generativa dá. É por vezes chamado «base de dados de IA» e, na prática, é apenas um armazém de vetores dentro do PostgreSQL.
No Odoo 19, o sistema RAG está centrado no modelo ai.embedding. Este modelo, atualmente, só recebe dados das fontes (ai.agent.source), que podem ser ligadas a qualquer agente de IA (ai.agent).
Por agora, não parece haver limite para o número de fontes que podem ser associadas a um agente.
Eis o que acontece quando adiciona uma fonte a um agente de IA:
Pipeline do agente de IA do Odoo
- Adição de fontes: Ao adicionar um artigo de conhecimento, um PDF ou outra fonte a um agente de IA, é criado um registo de fonte ai.agent
- Disparo do cron: são acionadas duas ações agendadas: AI Agent Sources: Process Sources e AI Embedding: Generate Embeddings
- Extração de texto: o conteúdo da fonte é extraído e dividido em fragmentos geríveis
- Chamada à API: cada fragmento de conteúdo é enviado ao fornecedor de LLM configurado (OpenAI ou Google) para gerar vetores de embeddings com um modelo de embeddings básico
- Armazenamento: os vetores são guardados na tabela ai.embedding usando o tipo vetorial nativo do pgvector
O campo de estado das fontes passa de Processing para Indexed quando os embeddings ficam completos. As atualizações são geridas automaticamente pelos cron jobs.
Perguntas Mais Frequentes (FAQ) sobre o armazém de vetores do Odoo
Onde vivem os vetores no Odoo?
Os vetores de embeddings são sempre armazenados no modelo ai.embedding – nunca diretamente nos registos das fontes.
Esta abordagem centralizada mantém a arquitetura limpa e permite pesquisas por semelhança eficientes em todo o conteúdo indexado.
Podem estes vetores ser usados noutros modelos ou conjuntos de dados?
Se inspecionou o ir.model.fields à procura do campo embedding_vector, terá reparado que o seu ttype é null. Não é um bug – é uma consequência de como o Odoo implementou o suporte de pgvector.
O Odoo introduziu um novo tipo de campo chamado Vector, que comunica diretamente com a extensão pgvector do PostgreSQL.
No entanto, este novo tipo de campo nunca foi adicionado ao campo de seleção ttype no ir.model.fields.
Não é claro se foi intencional ou um lapso, mas o campo funciona corretamente ao nível da base de dados, apesar dessa lacuna nos metadados.
Torna, contudo, mais difícil levar esta funcionalidade a outros modelos e conjuntos de dados, já que também não há um mixin disponível.
Que dados está o Odoo realmente a incorporar nos embeddings?
Ao usarmos as novas funcionalidades de IA, sempre nos pareceu que a pesquisa em produtos ou oportunidades funcionava muito bem.
Mas o Odoo, atualmente, não usa embeddings para os modelos standard do Odoo como leads, produtos ou contactos. As impressionantes capacidades de pesquisa que vê com o agente de IA vêm das ferramentas, não dos embeddings.
Portanto, quando pede à IA «Mostra-me as minhas oportunidades em aberto», ela não está a fazer uma pesquisa vetorial semântica. Está a chamar uma ferramenta que executa uma consulta standard à base de dados.
Como isto funciona muito bem e é obviamente muito mais eficiente, económico e rápido, esperamos que o Odoo melhore as ferramentas, mas não adicione todos os dados a um RAG.
Só os itens em ai.agent.source (artigos de conhecimento, PDF, documentos carregados, conteúdo de links) entram atualmente no nosso RAG.
A forma como os modelos estão separados permite, em geral, que o Odoo e nós adicionemos mais dados ao nosso RAG local mais tarde.
Qual é o futuro da pesquisa vetorial de IA no Odoo?
Para nós, os melhores candidatos a adicionar à base de dados vetorial do Odoo seriam itens já próximos das fontes do agente:
- Todos os artigos da app Informação
- Todos os documentos
Isto permite encontrar duplicados e sugerir fontes relacionadas, tornando os agentes extremamente poderosos por defeito.
Embora menos óbvio, poderíamos incorporar modelos com muito texto. Isto permitiria capacidades de pesquisa de texto integral para:
- Tarefas de projeto: encontrar tickets semelhantes e redigir tickets com base no histórico de tickets
- Tickets de helpdesk: escrever automaticamente FAQ na app Informação para as perguntas mais comuns e responder automaticamente a qualquer ticket com base em respostas anteriores
- Produtos: encontrar produtos adequados para os clientes com base na descrição
- E qualquer outro processo que tenha muito texto!
A nossa esperança para o Odoo 20 é que os embeddings fiquem mais baratos e o pgvector mais rápido!
Verdade seja dita, na much. Consulting corremos o nosso próprio RAG à medida exatamente para este tipo de modelos do Odoo.
As nossas conclusões até agora? Os casos de utilização que isto permite são fantásticos.
2. Os agentes de IA do Odoo constroem as respostas através de uma sequência de prompts
Quando um utilizador envia um prompt a um agente de IA, o Odoo constrói o pedido numa ordem específica:
Processo de montagem do prompt da IA do Odoo
1. Prompts de sistema
Os prompts de sistema configurados do Odoo funcionam como base. São instruções de sistema fundamentais para o LLM, e todos os prompts das ferramentas também são adicionados.
2. Prompt do agente
O prompt específico do agente é adicionado ao prompt do sistema.
3. Injeção de contexto
Contexto do objeto: são acrescentados a data atual e os dados do utilizador. Se for usado num registo, a informação do registo também é anexada.
Contexto RAG: os fragmentos relevantes das fontes do agente são recuperados por pesquisa de semelhança de embeddings e adicionados à mensagem de sistema.
4. Mensagem do utilizador
A entrada do utilizador é adicionada.
5. Chamada à API
O pedido completo é enviado ao LLM (OpenAI ou Google).
6. Execução de ferramentas
Se a IA decidir chamar uma ferramenta, o Odoo executa-a e devolve-lhe o resultado. O Odoo permite que o LLM chame recursivamente as ferramentas de IA do Odoo para cumprir a tarefa.
7. Resposta final
A IA gera a sua resposta com base em todo o contexto disponível.
Este ciclo pode repetir-se várias vezes, se a IA precisar de chamar várias ferramentas para reunir informação antes de responder.
Curiosamente, o Odoo define alguns limites que podem ser alterados nos parâmetros do sistema:
- ai.max_successive_calls (por defeito 20): se não estiver definido, permite recursivamente até 20 chamadas ao agente LLM quando não se encontra uma resposta ao prompt do utilizador. Isto consome muitos tokens em cargas de trabalho reais.
- ai.max_tool_calls_per_call: o LLM só pode chamar ferramentas 20 vezes numa única execução, para evitar tempos de carregamento extremamente longos e carga na base de dados.
3. Os agentes de IA interagem com os dados do Odoo através de tópicos e ferramentas
Os tópicos são a ponte entre os agentes de IA e os seus dados do Odoo. Agrupam as ferramentas de IA (ações de servidor) que o agente pode usar.
Como funcionam as ferramentas de IA no Odoo?
Cada tópico tem um campo many2many que aponta para ações de servidor (ferramentas de IA). Estas ferramentas permitem à IA:
- Obter os detalhes dos campos dos modelos do Odoo
- Abrir várias vistas (formulário, lista, pivô, gráfico)
- Criar registos (leads, tarefas, etc.)
- Pesquisar e recuperar dados
- Executar lógica de negócio à medida.
Crucialmente, não são usados embeddings para isto.
Quando a IA pesquisa no seu CRM ou recupera dados de produtos, está a chamar ferramentas que executam operações standard de base de dados.
É uma consulta normal do Odoo, não pesquisa semântica.
Podem criar-se ferramentas de IA à medida para o Odoo?
Pode alargar as capacidades do agente criando novos tópicos e ferramentas:
- Crie uma nova ação de servidor com a sua lógica à medida
- Crie ou selecione um tópico
- Ligue a sua ação de servidor ao campo de ferramentas de IA do tópico
- Adicione o tópico ao seu agente.
Isto dá-lhe uma forma poderosa de expor qualquer funcionalidade do Odoo aos seus agentes de IA sem modificar o código do núcleo.
Opções e limitações de personalização da IA do Odoo
Eis uma visão prática das opções de personalização: adaptações sem código, soluções à medida e esperanças para o futuro.
Fácil de adaptar sem personalização
- Prompts de sistema: controlo total sobre a personalidade e as instruções do agente
- Fontes: adicione qualquer artigo de conhecimento ou documento
- Tópicos: crie novos tópicos e ligue-os aos agentes
- Novas ferramentas de IA simples: construa ações de servidor simples à medida e exponha-as como ferramentas de IA
- Estilo de resposta: configure como o agente comunica.
Possível, mas exige trabalho
- URL base para os fornecedores de IA: pode ser adicionado através de parâmetros do sistema ou definições, via personalização
- Novas ferramentas de IA complexas: podem fazer-se criando ações de servidor e ligando-as a tópicos.
Limitado por agora, mas esperado no futuro
- RAG para modelos à medida: o Odoo não incorpora os modelos standard em embeddings; adicionar isto exigiria trabalho considerável
- Endpoints hardcoded: os endpoints individuais da API (não apenas o URL base) parecem estar hardcoded; não é certo que um LLM auto-hospedado funcione como substituto direto
- Botões de ação do chatter: os botões «Send as message» e «Write as note» parecem estar hardcoded em JavaScript.
Endpoints da API do Odoo – hardcoded ou configuráveis?
É uma pergunta comum em organizações que querem usar LLMs auto-hospedados, um agregador de LLM ou um LLM através do seu fornecedor de cloud (AWS Bedrock (AWS), Azure OpenAI, Vertex AI).
A realidade no Odoo:
- O URL base pode ser alterado
- Os endpoints individuais da API estão hardcoded no código
- Estes endpoints são específicos das estruturas de API da OpenAI e da Google, pelo que só funcionarão quando os endpoints forem iguais no serviço alternativo.
Isto significa que, embora possa apontar para um URL base diferente, não é certo que um LLM auto-hospedado com uma estrutura de API diferente funcione como substituto direto.
Precisaria que o LLM implementasse endpoints compatíveis com a base do Odoo, ou seria necessário bastante retrabalho.
Esperamos que surjam muitas soluções do marketplace ou da OCA a trazer mais modelos e serviços à medida para o Odoo.
Implicações práticas e dicas
Para implementadores
Não espere pesquisa semântica em leads/produtos: é consulta baseada em ferramentas, não RAG.
Invista em criar bons artigos de conhecimento: é o melhor conteúdo para incorporar num agente de IA, por ser uma fonte de conhecimento atualizável.
As ferramentas à medida são as suas aliadas: são a forma mais limpa de alargar as capacidades do agente.
Teste com os seus dados reais: a qualidade do RAG depende muito do conteúdo das fontes.
Para programadores
O tipo de campo Vector funciona: apesar do ttype null, funciona corretamente.
O pgvector é obrigatório: garanta que a sua instalação de PostgreSQL o inclui.
As ações de servidor são o ponto de extensão: construa ferramentas, não modificações do núcleo.
As alterações de UI exigem trabalho de JavaScript: os botões de ação exigem trabalho de frontend.
O futuro da IA no Odoo
A arquitetura de IA do Odoo 19 é uma base sólida, mas é claramente apenas o começo.
Esperamos que versões futuras possam alargar as capacidades de RAG a outros modelos, adicionar mais ferramentas integradas e melhorar as opções de personalização para os fornecedores de IA.
Por agora, o sistema funciona bem dentro do âmbito para que foi desenhado: RAG baseado em documentos combinado com interações com o Odoo baseadas em ferramentas.
Compreender esta mecânica ajuda a definir expectativas realistas e orienta onde investir o esforço de personalização.
Vamos falar da sua configuração de IA no Odoo
Os nossos especialistas trabalham ativamente com clientes em implementações de Odoo potenciadas por IA e terão todo o gosto em adaptar as nossas conclusões às suas necessidades.