{"id":30094778,"url":"https://github.com/davidsantana06/ai-evaluation","last_synced_at":"2026-05-04T00:31:51.097Z","repository":{"id":307199381,"uuid":"980227284","full_name":"davidsantana06/ai-evaluation","owner":"davidsantana06","description":"Aplicação web que compara imagens de IAs com base em avaliação humana e métricas do ChatGPT.","archived":false,"fork":false,"pushed_at":"2025-09-20T11:10:07.000Z","size":147245,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-04T22:29:29.308Z","etag":null,"topics":["ai","bulma","chatgpt","civitai","css","flask","fontawesome","google-gemini","html","jinja2","python","runware","stability-ai","web"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/davidsantana06.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-08T19:25:18.000Z","updated_at":"2025-09-29T13:08:44.000Z","dependencies_parsed_at":"2025-07-30T01:39:20.915Z","dependency_job_id":"9b769d6e-1db9-41a3-b26f-c90af040697e","html_url":"https://github.com/davidsantana06/ai-evaluation","commit_stats":null,"previous_names":["davidsantana06/ai-evaluation"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/davidsantana06/ai-evaluation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidsantana06%2Fai-evaluation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidsantana06%2Fai-evaluation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidsantana06%2Fai-evaluation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidsantana06%2Fai-evaluation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/davidsantana06","download_url":"https://codeload.github.com/davidsantana06/ai-evaluation/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidsantana06%2Fai-evaluation/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32590159,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T22:12:39.696Z","status":"ssl_error","status_checked_at":"2026-05-03T22:09:10.534Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","bulma","chatgpt","civitai","css","flask","fontawesome","google-gemini","html","jinja2","python","runware","stability-ai","web"],"created_at":"2025-08-09T11:01:26.777Z","updated_at":"2026-05-04T00:31:51.079Z","avatar_url":"https://github.com/davidsantana06.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg\n  src=\"./static/img/_banner.png\"\n  alt=\"AI Evaluation\"\n  style=\"width: 100%\"\n/\u003e\n\n\u003cimg\n  src=\"./static/img/_usage.gif\"\n  alt=\"AI Evaluation — Uso\"\n  style=\"width: 100%\"\n/\u003e\n\n**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.\n\nApó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.\n\n![Python](https://img.shields.io/badge/python-3670A0?style=for-the-badge\u0026logo=python\u0026logoColor=ffdd54)\n![Flask](https://img.shields.io/badge/flask-%23000.svg?style=for-the-badge\u0026logo=flask\u0026logoColor=white)\n![Jinja](https://img.shields.io/badge/jinja-white.svg?style=for-the-badge\u0026logo=jinja\u0026logoColor=black)\n\n![JavaScript](https://img.shields.io/badge/javascript-%23323330.svg?style=for-the-badge\u0026logo=javascript\u0026logoColor=%23F7DF1E)\n![HTML5](https://img.shields.io/badge/html5-%23E34F26.svg?style=for-the-badge\u0026logo=html5\u0026logoColor=white)\n![CSS3](https://img.shields.io/badge/css3-%231572B6.svg?style=for-the-badge\u0026logo=css\u0026logoColor=white)\n![Bulma](https://img.shields.io/badge/bulma-00D0B1?style=for-the-badge\u0026logo=bulma\u0026logoColor=white)\n\n![Font Awesome](https://img.shields.io/badge/Font_Awesome-%23FFFFFF.svg?style=for-the-badge\u0026logo=fontawesome\u0026logoColor=528DD7)\n![SQLite](https://img.shields.io/badge/sqlite-%2307405e.svg?style=for-the-badge\u0026logo=sqlite\u0026logoColor=white)\n\n## 💡 Modelos de IA Selecionados\n\n| Plataforma   | Modelo(s)                                   | Documentação                                                                                               |\n| ------------ | ------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |\n| OpenAI       | `dall-e-3` e `gpt-4.1`                      | [platform.openai.com/docs/overview](https://platform.openai.com/docs/overview)                             |\n| Google AI    | `gemini-2.0-flash-preview-image-generation` | [ai.google.dev/gemini-api/docs](https://ai.google.dev/gemini-api/docs)                                     |\n| Runware      | `civitai`                                   | [runware.ai/docs/en/getting-started/introduction](https://runware.ai/docs/en/getting-started/introduction) |\n| Stability AI | `stable-image-core`                         | [platform.stability.ai/docs/getting-started](https://platform.stability.ai/docs/getting-started)           |\n\n\u003csub\u003eOs 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.\u003c/sub\u003e\n\n## 🛠️ Instalação e Execução\n\nA 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.\n\n### 1️⃣ Configurar as Variáveis de Ambiente\n\nAntes 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`.\n\n### 2️⃣ Instalar as Dependências\n\n```bash\npip install -r requirements.txt\n```\n\n### 3️⃣ Executar a Aplicação\n\n```bash\npython -m app\n```\n\n\u003csub\u003eAs 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.\u003c/sub\u003e\n\n## 🚀 Fluxo de Funcionamento\n\nA aplicação funciona por meio de três etapas principais que ocorrem sequencialmente e são interdependentes.\n\n### 🖼️ Geração das Imagens\n\nNa 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`.\n\nSe o banco de dados apresentar registros de imagem, essa etapa é ignorada em execuções futuras.\n\n### 🤖 Avaliação do ChatGPT\n\nApó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.\n\nEssa etapa também é ignorada em execuções futuras, caso já exista algum registro de avaliação feita pelo ChatGPT.\n\n### 👤 Avaliação do Usuário\n\nCom 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:\n\n- Quantidade de votos por IA (ChatGPT e usuário);\n- Tamanho total e médio das imagens por IA;\n- Tempo total e médio de geração por IA.\n\n## ⚖️ Licença\n\nEste 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.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidsantana06%2Fai-evaluation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdavidsantana06%2Fai-evaluation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidsantana06%2Fai-evaluation/lists"}