Logotipo Hedhog

Receba novidades do Hedhog no seu e-mail

Novos lançamentos, receitas e breaking changes — sem spam.

Voltar para os módulos CoreIntegrado no CoreModule
Captura de tela do módulo ai

Submódulo Core

ai

Fornece fluxos de chat com IA e endpoints para o ciclo de vida de agentes de IA.

Caminho de origem: libraries/core/src/ai

Arquivo do módulo: ai.module.ts

Introdução

O submódulo AI fornece um gateway unificado para interagir com large language models de múltiplos provedores. Em vez de acoplar sua aplicação a um único fornecedor de IA, o HedHog abstrai as APIs específicas de cada provedor por trás de uma interface comum, tornando simples alternar entre os modelos GPT da OpenAI e o Google Gemini sem alterar o código da aplicação. Provedores e modelos são resolvidos a partir de Integration Profiles ou de variáveis de ambiente, com as sobrescritas em nível de agente tendo precedência sobre os padrões globais.

O submódulo oferece dois modos de interação. O chat direto envia uma mensagem única ao provedor padrão e retorna uma única resposta. Os AI Agents são entidades nomeadas e configuradas de forma persistente, armazenadas no banco de dados — cada agente carrega seu próprio provedor, modelo, system prompt (instruções) e identificador slug. Isso permite que equipes de produto definam assistentes com propósitos específicos — um agente de análise de dados, um bot de suporte ao cliente, um pipeline de geração de conteúdo — que permanecem consistentes entre implantações sem embutir configuração no código do cliente.

Tanto o endpoint de chat direto quanto o de chat com agente aceitam um parâmetro opcional file_id. Quando fornecido, a API recupera o arquivo do submódulo File e inclui seu conteúdo como contexto na requisição ao LLM, viabilizando fluxos de sumarização de documentos, revisão de código e extração de conteúdo sem construir um pipeline de ingestão separado.

Todas as operações de IA também são expostas como ferramentas MCP (core.ai.*), o que significa que qualquer assistente de IA compatível com MCP — Claude Desktop, Cursor, um agente personalizado — pode gerenciar agentes e enviar mensagens pela mesma superfície controlada por permissões usada pelos chamadores HTTP.

Endpoints HTTP

8 endpoints

Envia uma mensagem para a IA padrão e recebe uma resposta.

Body

FieldTypeRequiredNotes
messagestringyes
provider"openai" | "gemini"no
modelstringno
systemPromptstringno
file_idnumbernoID of an uploaded file

Lista todos os agentes de IA configurados com paginação.

Query
page, pageSize, search

Obtém um agente de IA pelo seu ID numérico.

Params
agentId (int)

Obtém um agente de IA pelo seu identificador slug.

Params
slug (string)

Cria um novo agente de IA.

Body

FieldTypeRequiredNotes
slugstringyes
provider"openai" | "gemini"no
modelstringno
instructionsstringnoSystem prompt / instructions

Atualiza um agente de IA existente.

Params
agentId (int)

Body

FieldTypeRequiredNotes
slugstringno
provider"openai" | "gemini"no
modelstringno
instructionsstringno

Exclui um ou mais agentes de IA.

Body

FieldTypeRequiredNotes
idsnumber[]yesIDs to delete

Envia uma mensagem para um agente de IA específico e recebe uma resposta.

Params
slug (string)

Body

FieldTypeRequiredNotes
messagestringyes
file_idnumbernoID of an uploaded file

Ferramentas MCP

Ferramentas nomeadas que podem ser chamadas por modelos de IA através do Model Context Protocol (MCP).

  • core.ai.chat

    Envia uma mensagem ao provedor de IA padrão e recebe uma resposta

  • core.ai.agents.list

    Lista todos os agentes de IA configurados com paginação

  • core.ai.agents.get

    Obtém um agente de IA pelo seu ID numérico

  • core.ai.agents.get-by-slug

    Obtém um agente de IA pelo seu identificador slug

  • core.ai.agents.create

    Cria um novo agente de IA com slug, provedor, modelo e instruções

  • core.ai.agents.update

    Atualiza a configuração de um agente de IA existente

  • core.ai.agents.delete

    Exclui um ou mais agentes de IA

  • core.ai.agents.chat

    Envia uma mensagem para um agente de IA específico e recebe uma resposta