TPHIAAssistant
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 (tabela 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;