Mudanças entre as edições de "TPHIAAssistant"

Linha 17: Linha 17:
 
|String
 
|String
 
|Define o '''papel (System Role)''' da IA na requisição, sendo responsável por orientar o comportamento, tom e formato das respostas geradas. Essa propriedade é fundamental para garantir que a IA atue de forma consistente com o objetivo desejado, como por exemplo: resumir textos, traduzir conteúdos, analisar dados ou responder como um especialista em determinada área. Pode ser informada manualmente para personalizar cada execução ou carregada automaticamente a partir dos parâmetros do assistente ao utilizar o método ProcessarTexto. Uma boa definição da Instrucao impacta diretamente na qualidade e previsibilidade das respostas, sendo considerada uma das principais formas de controle do resultado gerado pela IA.
 
|Define o '''papel (System Role)''' da IA na requisição, sendo responsável por orientar o comportamento, tom e formato das respostas geradas. Essa propriedade é fundamental para garantir que a IA atue de forma consistente com o objetivo desejado, como por exemplo: resumir textos, traduzir conteúdos, analisar dados ou responder como um especialista em determinada área. Pode ser informada manualmente para personalizar cada execução ou carregada automaticamente a partir dos parâmetros do assistente ao utilizar o método ProcessarTexto. Uma boa definição da Instrucao impacta diretamente na qualidade e previsibilidade das respostas, sendo considerada uma das principais formas de controle do resultado gerado pela IA.
 +
|-
 +
|InstrucaoID
 +
|Integer
 +
|Identificador de uma instrução previamente cadastrada na base de dados na tabela de IA_INSTRUCOES. Quando informado, permite carregar automaticamente o conteúdo da instrução (System Role), evitando a necessidade de defini-la manualmente na propriedade Instrucao. Caso a propriedade Instrucao também esteja preenchida, esta será sobrescrita.
 
|-
 
|-
 
|AssistenteID
 
|AssistenteID

Edição das 11h29min de 6 de abril de 2026

O Objeto TPHIAAssistant será responsável pelo processamento de texto, execução de instruções e manipulação de arquivos de entrada para interação com o assistente de inteligência artificial.

Propriedades

Nome Tipo Descrição
Texto String Texto de entrada informado pelo usuário. Antes do envio à IA, pode ser automaticamente combinado com o conteúdo de um Prompt (caso PromptID seja informado), formando o contexto final enviado para processamento. É validado e não pode estar vazio.
PromptID Integer Identificador de um prompt armazenado na base de dados (tabela IA_PROMPTS). Quando informado, o conteúdo do prompt é recuperado e concatenado ao Texto, funcionando como contexto inicial da requisição.
Instrucao String Define o papel (System Role) da IA na requisição, sendo responsável por orientar o comportamento, tom e formato das respostas geradas. Essa propriedade é fundamental para garantir que a IA atue de forma consistente com o objetivo desejado, como por exemplo: resumir textos, traduzir conteúdos, analisar dados ou responder como um especialista em determinada área. Pode ser informada manualmente para personalizar cada execução ou carregada automaticamente a partir dos parâmetros do assistente ao utilizar o método ProcessarTexto. Uma boa definição da Instrucao impacta diretamente na qualidade e previsibilidade das respostas, sendo considerada uma das principais formas de controle do resultado gerado pela IA.
InstrucaoID Integer Identificador de uma instrução previamente cadastrada na base de dados na tabela de IA_INSTRUCOES. Quando informado, permite carregar automaticamente o conteúdo da instrução (System Role), evitando a necessidade de defini-la manualmente na propriedade Instrucao. Caso a propriedade Instrucao também esteja preenchida, esta será sobrescrita.
AssistenteID Integer Identificador do assistente de IA. Quando definido, força o carregamento direto das configurações do assistente (modelo, temperatura, API Key, etc.) a partir da base de dados, sobrescrevendo configurações padrão por empresa.o.
TextoRetorno String Resultado retornado pela IA após o processamento. Este valor é preenchido pelo provider de IA após a execução da requisição.
Temperatura Double Parâmetro que controla o nível de criatividade da IA. Valores menores tornam as respostas mais determinísticas, enquanto valores maiores aumentam a variação e criatividade das respostas.
MaxTokens Integer Define o limite máximo de tokens (tamanho da resposta) que a IA pode gerar durante o processamento.
Modelo String Identifica o modelo de IA que será utilizado na execução (ex: GPT-4, GPT-3.5, etc.), sendo carregado a partir das configurações do assistente.

Funções

  • Executar: Executa o processamento principal do assistente com base nas propriedades configuradas.
  • ProcessarTexto: Realiza o processamento do texto informado na propriedade Texto.
  • AdicionarArquivo(const NomeArquivo:String; ArquivoStream:TMemoryStream): Adiciona um arquivo de entrada ao assistente, informando o nome e o conteúdo via Stream.

Funcionalidade

O objeto TPHIAAssistant é responsável por intermediar a comunicação com serviços de inteligência artificial, permitindo o envio de textos, instruções e arquivos para processamento e retorno de respostas. Seu uso é indicado sempre que houver necessidade de interpretar, gerar ou transformar informações utilizando IA.

O comportamento do assistente varia conforme as propriedades e métodos utilizados:

  • Quando a propriedade AssistenteID é informada, todas as configurações (modelo, temperatura, tokens, API Key, entre outras) são carregadas diretamente da base de dados, garantindo a utilização de um assistente específico.
  • Caso AssistenteID não seja informado, serão utilizadas as configurações padrão definidas nos parâmetros de IA da empresa.
  • Ao utilizar o método Executar, o processamento ocorre com base nas propriedades atuais do objeto, sem considerar a instrução padrão definida nos parâmetros de IA.
  • Já o método ProcessarTexto aplica automaticamente a instrução configurada nos parâmetros de IA, influenciando o comportamento e o formato da resposta gerada.
  • A propriedade Texto pode ser combinada com um Prompt previamente cadastrado (quando PromptID é informado), formando um contexto mais completo para a requisição.
  • Também é possível adicionar arquivos como entrada por meio do método AdicionarArquivo, ampliando as possibilidades de interação com a IA.

Dessa forma, o TPHIAAssistant oferece flexibilidade para diferentes cenários de uso, desde chamadas simples até configurações mais avançadas e personalizadas de assistentes de inteligência artificial.

Exemplos

Este exemplo demonstra como utilizar o TPHIAAssistant para analisar arquivos utilizando inteligência artificial. Nesse cenário, um arquivo PDF é carregado em memória e enviado como entrada para a IA, juntamente com uma instrução que define o papel do assistente como especialista em análise de documentos.

Esse tipo de abordagem é ideal para:

  • Leitura e interpretação de arquivos (PDF, TXT, etc.)
  • Extração de informações relevantes
  • Classificação ou descrição de documentos
  • Automação de análise documental

O uso do método AdicionarArquivo permite enriquecer o contexto da requisição, possibilitando que a IA processe não apenas texto, mas também conteúdos estruturados provenientes de arquivos.

procedure AnaliseArquivoComIA;
var
  IA: TPHIAAssistant;
  Arquivo: TMemoryStream;
  Resposta: String; 
begin
  IA := NewPHIAAssistant;
  try
    // Configuração do contexto
    IA.Instrucao := 'Você é um agente de IA especializado em análise de arquivos PDF.';
    IA.Texto     := 'Analise o arquivo enviado e descreva do que se trata.';

    // Carregamento do arquivo
    Arquivo := TMemoryStream.Create;
    try
      Arquivo.LoadFromFile('C:\PH Sys\Arquivo.pdf');

      // Adiciona o arquivo ao contexto da IA
      IA.AdicionarArquivo('Arquivo.pdf', Arquivo);
    finally
      Arquivo.Free;
    end;

    // Execução do processamento
    IA.Executar;

    // Captura da resposta
    Resposta := IA.TextoRetorno;

    // Exemplo de uso da resposta
    Informacao(Resposta);

  finally
    IA.Free;
  end;
end;




Este exemplo apresenta o uso do TPHIAAssistant com um AssistenteID, permitindo carregar automaticamente configurações previamente definidas na base de dados, como modelo, temperatura e parâmetros gerais da IA.

Além disso, é utilizada a propriedade Instrucao para definir o System Role, orientando a IA a gerar um resumo técnico, objetivo e com limite de tamanho.

Esse padrão é recomendado quando:

  • Existem assistentes previamente configurados e padronizados
  • É necessário ajustar dinamicamente o comportamento da IA através da instrução

A combinação de AssistenteID + Instrucao oferece flexibilidade e padronização, permitindo adaptar o comportamento da IA conforme o contexto de uso sem alterar sua configuração base.

procedure GerarResumoTecnico;
var
  IA: TPHIAAssistant;
  TextoEntrada: String;
  Resposta: String;
begin
  IA := NewPHIAAssistant;
  try
    // Texto de entrada do usuário
    TextoEntrada := 'A inteligência artificial vem sendo amplamente utilizada ' +
                    'em diversos setores, como saúde, educação e indústria, ' +
                    'trazendo ganhos de produtividade, automação de processos ' +
                    'e suporte à tomada de decisão.';

    IA.Texto := TextoEntrada;

    // Carrega configurações do assistente (modelo, temperatura, etc.)
    IA.AssistenteID := 1;

    // Define o papel da IA (System Role)
    IA.Instrucao := 'Você é um especialista técnico. Resuma o texto de forma objetiva em no máximo 2 linhas.';

    // Executa o processamento
    IA.Executar;

    // Retorno da IA
    Resposta := IA.TextoRetorno;

    Informacao('Resumo técnico:' + #13 + Resposta);
  finally
    IA.Free;
  end;
end;