https://github.com/davidsantana06/ai-evaluation
Aplicação web que compara imagens de IAs com base em avaliação humana e métricas do ChatGPT.
https://github.com/davidsantana06/ai-evaluation
ai bulma chatgpt civitai css flask fontawesome google-gemini html jinja2 python runware stability-ai web
Last synced: about 2 months ago
JSON representation
Aplicação web que compara imagens de IAs com base em avaliação humana e métricas do ChatGPT.
- Host: GitHub
- URL: https://github.com/davidsantana06/ai-evaluation
- Owner: davidsantana06
- License: mit
- Created: 2025-05-08T19:25:18.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-09-20T11:10:07.000Z (9 months ago)
- Last Synced: 2025-10-04T22:29:29.308Z (9 months ago)
- Topics: ai, bulma, chatgpt, civitai, css, flask, fontawesome, google-gemini, html, jinja2, python, runware, stability-ai, web
- Language: Python
- Homepage:
- Size: 140 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README


**AI Evaluation** é uma aplicação dedicada à análise comparativa de imagens geradas por diferentes IAs. Para isso, quatro modelos distintos foram selecionados. Cada um deles cria imagens a partir do mesmo prompt, e cabe a você avaliar qual foi o melhor, por meio do seu voto.
Após a avaliação, os resultados ficam disponíveis para visualização, mostrando quais serviços tiveram o melhor desempenho. Além disso, você pode comparar sua avaliação com a do próprio ChatGPT, que também analisa as imagens geradas.









## 💡 Modelos de IA Selecionados
| Plataforma | Modelo(s) | Documentação |
| ------------ | ------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| OpenAI | `dall-e-3` e `gpt-4.1` | [platform.openai.com/docs/overview](https://platform.openai.com/docs/overview) |
| Google AI | `gemini-2.0-flash-preview-image-generation` | [ai.google.dev/gemini-api/docs](https://ai.google.dev/gemini-api/docs) |
| Runware | `civitai` | [runware.ai/docs/en/getting-started/introduction](https://runware.ai/docs/en/getting-started/introduction) |
| Stability AI | `stable-image-core` | [platform.stability.ai/docs/getting-started](https://platform.stability.ai/docs/getting-started) |
Os modelos e suas documentações podem ser atualizados após a construção do projeto. As informações apresentadas são referentes ao período de junho de 2025.
## 🛠️ Instalação e Execução
A aplicação foi desenvolvida em **Python 3.10**, recomendando-se o uso dessa versão para garantir compatibilidade. Para configurá-la, siga estas instruções a partir do diretório raiz do projeto.
### 1️⃣ Configurar as Variáveis de Ambiente
Antes de instalar e executar a aplicação, é necessário configurar as chaves de acesso aos serviços de IA como variáveis de ambiente. Para isso, crie um arquivo `.env`, com base no `.env.example`, e atribua os valores de `GEMINI_KEY`, `OPENAI_KEY`, `RUNWARE_KEY` e `STABILITY_AI_KEY`.
### 2️⃣ Instalar as Dependências
```bash
pip install -r requirements.txt
```
### 3️⃣ Executar a Aplicação
```bash
python -m app
```
As imagens são geradas durante a primeira inicialização do servidor, o que causa um tempo de espera maior. Esse processo ocorre apenas uma vez, a menos que a base de dados seja apagada.
## 🚀 Fluxo de Funcionamento
A aplicação funciona por meio de três etapas principais que ocorrem sequencialmente e são interdependentes.
### 🖼️ Geração das Imagens
Na primeira execução da aplicação, o arquivo `generation_entries.json` é lido para resgatar os atributos `group`, `theme` e `prompt`. A partir dessas informações, são feitas requisições para cada serviço de IA em ordem aleatória. As imagens geradas são salvas no banco de dados SQLite, situado na raiz do projeto, e armazenadas como arquivos PNG no diretório `static/img`.
Se o banco de dados apresentar registros de imagem, essa etapa é ignorada em execuções futuras.
### 🤖 Avaliação do ChatGPT
Após a geração, as imagens são avaliadas pelo ChatGPT. Elas são agrupadas e enviadas sem o nome do modelo gerador, contendo apenas o identificador e o conteúdo binário. Para cada grupo, uma imagem é escolhida como a melhor, e o resultado é registrado no banco de dados.
Essa etapa também é ignorada em execuções futuras, caso já exista algum registro de avaliação feita pelo ChatGPT.
### 👤 Avaliação do Usuário
Com as imagens e avaliações do ChatGPT prontas, o usuário pode acessar a interface da aplicação e votar nas melhores imagens por prompt. O processo é intuitivo e ao final é possível visualizar:
- Quantidade de votos por IA (ChatGPT e usuário);
- Tamanho total e médio das imagens por IA;
- Tempo total e médio de geração por IA.
## ⚖️ Licença
Este projeto utiliza a **Licença MIT**, que permite que você use e modifique o código como desejar. O único requisito é dar o devido crédito, reconhecendo o esforço e o tempo dedicados à sua construção.