Essa nota é para audiência técnica. O objetivo dessas funções
é permitir que a IA conectada ao seu Aics possa atuar em suas
regras locais livremente.
Essas ações podem ser feitas durante a conversa, isto é, segundo
as solicitações do operador, a IA irá executar o que for permitido
para atender o operador.
O fluxo é bem simples. O operador envia uma mensagem, a IA
responde, outra mensagem é enviada. Nesse fluxo, quando a IA
detectar que precisa de uma chamada das disponíveis, ela
enviará um pedido de função ao Aics. A função será executada
pelo Aics e o resultado reenviado à IA que, em seguida, dará a
sua resposta compondo os dados da conversa com o resultado
da função que ela pediu ao Aics.
O único limite desse recurso é o dado existir no sistema, e é
importante que as funções criadas testem os direitos do operador
da mesma forma que ocorre nas regras criadas.
Resumindo, nenhuma operação corre o risco de ser feita
fora dos direitos dos operadores.
A primeira função avisa para a IA quais ações estão disponíveis:.
Function AICS_ListToolsAI(Assunto:String):String
Ela deve retornar uma descrição de função por linha em formato de string.
Cada linha deve ter o formato:.
NomeFuncao[Explicacao do uso da função](Parametro1#[Explicacao do parametro 1]:string;
Parametro2[Explicacao do parametro 2]:string...).
Se usar parametro1# vamos supor que isso seja campo obrigatório,
no exemplo acima o Parametro2 não seria obrigatório porque não
possui # no seu nome. Essa estrutura de colchetes, parênteses etc
é rígida e será transformada pelo Aics em um conteúdo inteligível
pela IA, se estiver fora desse padrão, a função não será enviada
e não será chamada, consequentemente.
Importante destacar que as explicações são peças fundamentais
ao funcionamento correto, sugere-se inserir até exemplos dos
dados para que a IA entenda com clareza se deve ou não usar
essa função. As explicações ficam entre colchetes.
Também destaca-se que essa função será chamada no ambiente
em que o operador estiver. Por exemplo, se ele estiver no módulo
comercial, uma ação poderia ser para aprovar o pedido atual ou
para checar se há algum item pendente. Essa mesma função
pode estar no Global, mas será enviada em todos os ambientes
do operador.
Quando a IA disparar a função, sua rotina poderá imeplementá-la
dentro da chamada:.
Function AICS_ExecTollsAI(name,arguments:String):String
Se sua função retornar um resultado, o Aics parará de processar
e enviará o seu resultado à IA. Sugere-se efetuar testes do
formato dos argumentos, podem ser em formato Json e bastará
executar a função ObtemtagJSon para obtê-los.
Se uma determinada função implementada for crítica, nada
impede que sua regra abra uma pergunta normal para confirmar
o que será executado. Sua função pode gerar, por exemplo, um
relatório, um PDF etc, nesse caso, sempre retorne um texto
à IA informando o que foi feito para que ela saiba que a função
foi executada com sucesso.
Com essa nova abertura do módulo de IA, o Aics passa a
funcionar como um agente, isto é, a IA poderá ter mais
resultados do que as consultas e interações disponíveis
até esse momento.
Comentários desta novidade