A arquitetura da plataforma HarpIA é composta por módulos independentes:
- HarpIA Survey: permite a realização de avaliações do desempenho de grandes modelos de linguagem a partir da análise realizada por avaliadores humanos.
- HarpIA Lab: o desempenho de grandes modelos de linguagem é avaliado a partir da execução de medidas e procedimentos de avaliação automatizados.
- HarpIA Chatbot: o desempenho de grandes modelos de linguagem que estão acoplados a sistemas que implementam agentes conversacionais é avaliado mediante a qualidade dos diálogos produzidos.
- HarpIA Modelos e Conjuntos de Dados: módulo dedicado a oferecer casos de uso para construção do ecossistema da plataforma HarpIA.
HarpIA Survey
A arquitetura do módulo HarpIA Survey conta com três servidores principais: o servidor Moodle, responsável por disponibilizar os recursos da plataforma Moodle, o servidor de banco de dados, que acoplado ao servidor Moodle, faz a persistências dos dados, e o servidor Web, que suporta o uso do HarpIA Survey via ambiente Web. A interação dos avaliadores, e proponentes de tarefas de avaliação, com o módulo é realizada via uma inteface Web, e a comunicação com um grande modelo de linguagem se dá por meio de um ‘gateway’ suportado por serviços de rede.
Os plugins para a plataforma Moodle implementados no HarpIA Survey são:
- Plugin HarpIA Interaction: adiciona um campo às atividades de ‘Banco de Dados’ (originalmente oferecida na plataforma Moodle), onde os usuários podem interagir com um modelo de linguagem externo. O objetivo principal deste plugin é implementar um sistema de avaliação de LLM: (a) é possível configurar uma tarefa de avaliação de modelo de linguagem em um contexto específico; (b) avaliadores (humanos) leem as instruções, enviam uma mensagem ao modelo de linguagem e avaliam sua saída preenchendo os campos definidos para a tarefa. O plugin pode ser usado em qualquer situação em avaliadores precisem enviar uma solicitação a um modelo de linguagem e realizar algumas ações com base em sua saída.
- Plugin HarpIA Ajax: implementa uma interação AJAX com um provedor de respostas arbitrário, como um modelo de linguagem externo. As chamadas reais para os modelos de linguagem são realizadas no servidor. Atualmente, o plugin envia as requisições para um servidor HTTP (geralmente local) que implementa uma API simples, demonstrada nos exemplos abaixo (alterar o host e a porta conforme necessário).
Além dos plugins citados, o módulo HarpIA Survey também conta com a implementação do ‘gateway’ no componente Python API LLM Gateway. Esse componente implementa a comunicação entre o Moodle e serviços relacionados a modelos de linguagem. Basicamente, este plugin aceita um arquivo de configuração no qual um ou mais prompts são especificados para alcançar o comportamento desejado do modelo de linguagem, juntamente com os comandos de ativação para o modelo. Para cada comportamento desejado e cada modelo invocado, é necessário anexar um arquivo de configuração separado neste componente.
HarpIA Lab
A arquitetura do módulo HarpIA Lab conta com três componentes principais: o HarpIA Lab Frontend, que oferece uma inteface gráfica web para facilitar a interação com o módulo; (b) o Harpia Lab Server, que permite a disponibilização do módulo como um serviço que pode ser invocado pela interface gráfica ou via linha de comando (e neste caso, possibilitando o uso para experimentações massivas); a HarpIA Lab Library, onde são organizados os submódulos responsáveis por oferecer funções que implementam métricas ou procedimentos para avaliação de grandes modelos de linguagem.
HarpIA Chatbot
… em breve!
Harpia Modelos e Conjuntos de dados
… em breve!