[META] [DEMO] BringDrupalAIIntoyourDNA - AI Alt Text Evaluator and Suggestion Agent
>>> [!note] Migrated issue <!-- Drupal.org comment --> <!-- Migrated from issue #3561073. --> Reported by: [yautja_cetanu](https://www.drupal.org/user/626050) >>> <p>[Tracker]<br> <strong>Update Summary: </strong>Prahba has started working on the actual Agents themselves and getting things working with Tool API, a demo site exists but is very basic. Planning has happened into the FlowDrop UI for this but work not started yet.<br> <strong>Short Title: </strong>Bulk Alt Text Evaluation and Update Agents.<br> <strong>Short Description: </strong>Agents that can run through all the images on the site and check the quality of the alt text. If needed it can suggest a change in a list that editors can approve or reject.<br> <strong>Check-in Date: </strong>12/16/2025<br> <strong>Due Date:</strong> 01/13/2025<br> <strong>Additional Collaborators: </strong> @gxleano, @prabha, @anmolgoyal74, @lussoluca<br> <em>Metadata is used by the <a href="https://www.drupalstarforge.ai/" title="AI Tracker">AI Tracker.</a> Docs and additional fields <a href="https://www.drupalstarforge.ai/ai-dashboard/docs" title="AI Issue Tracker Documentation">here</a>.</em><br> [/Tracker]</p> <h3 id="summary-problem-motivation">Problem/Motivation</h3> <h3 id="summary-proposed-resolution">Proposed resolution</h3> <p>Goals:</p> <ul> <li>We first show how to build the AI Agents yourself using flowdrop UI, standard agents, Tools API, MCP and maybe guardrails. The main goal is to show off agent building not the best recipe or approach to this problem.</li> <li>We should it working with the chatbot and maybe making the change to a single page.</li> <li>We can then show a recipe of it working with a proper workflow approach. (But not setting that up from scratch) and how it could be automated across all content or on cron or on triggers).</li> </ul> <p>Demo Site: <a href="https://github.com/jamieaa64/BringDrupalAIDNA-NoAgents">https://github.com/jamieaa64/BringDrupalAIDNA-NoAgents</a></p> <p><strong>Basic Version of this</strong></p> <ul> <li>Create a Recipe and How to Guide for the Europa Web platform and eventually Drupal CMS.</li> <li>The Agent is able to take an image, see it in context, see if the alt text makes sense with image and rank its quality relative to the guidelines.</li> <li>The Agent connects to an MCP Server (We make this, its a demo one) that provides the EC rules on how to do Alternative text found here: <a href="https://op.europa.eu/en/web/webguide/alternative-text">https://op.europa.eu/en/web/webguide/alternative-text</a> </li> <li>If the quality is below a certain limit, it presents changes to the alt text that is a draft version of it</li> <li>There is a moderation page that shows a list of changes. It shows the scoring, why, previous text, new text, and reasons for the change. And button to approve individually or all together.</li> </ul> <p>Advanced Version of this:</p> <ul> <li>A workflow is created that allows you to enter a range of images and it will go through all images in that range.</li> <li>The moderation page sets off a background agent that sends a similar e-mail as from Vienna Demo.</li> </ul> <p><strong>Information Specific the the EC:</strong></p> <ul> <li>We can use this page: House of Museum History. - <a href="https://historia.europa.eu/en">https://historia.europa.eu/en</a> </li> <li>We need to get a copy of the site and the images and its existing alt text (perhaps with some images with deliberately bad alt text)</li> <li>It gets its rules from here: <a href="https://op.europa.eu/en/web/webguide/alternative-text">https://op.europa.eu/en/web/webguide/alternative-text</a></li> <li>If this agent only write an evaluation thats ok, editing is cooler.</li> </ul> <h3 id="Priorities">Priorities</h3> <p>The below issues are not dependent on each other and their priorities are:</p> <ul> <li><span class="drupalorg-gitlab-issue-link drupalorg-gitlab-link-wrapper"><a href="https://git.drupalcode.org/project/ai_initiative/-/work_items/3561988" class="drupalorg-gitlab-link">https://git.drupalcode.org/project/ai_initiative/-/work_items/3561988</a></span></li> <li><span class="drupalorg-gitlab-issue-link drupalorg-gitlab-link-wrapper"><a href="https://git.drupalcode.org/project/ai_initiative/-/work_items/3562629" class="drupalorg-gitlab-link">https://git.drupalcode.org/project/ai_initiative/-/work_items/3562629</a></span></li> <li><span class="drupalorg-gitlab-issue-link drupalorg-gitlab-link-wrapper"><a href="https://git.drupalcode.org/project/ai_initiative/-/work_items/3562010" class="drupalorg-gitlab-link">https://git.drupalcode.org/project/ai_initiative/-/work_items/3562010</a></span></li> <li><span class="drupalorg-gitlab-issue-link drupalorg-gitlab-link-wrapper"><a href="https://git.drupalcode.org/project/ai_initiative/-/work_items/3562613" class="drupalorg-gitlab-link">https://git.drupalcode.org/project/ai_initiative/-/work_items/3562613</a></span></li> <li><span class="drupalorg-gitlab-issue-link drupalorg-gitlab-link-wrapper"><a href="https://git.drupalcode.org/project/ai_initiative/-/work_items/3562614" class="drupalorg-gitlab-link">https://git.drupalcode.org/project/ai_initiative/-/work_items/3562614</a></span></li> <li><span class="drupalorg-gitlab-issue-link drupalorg-gitlab-link-wrapper"><a href="https://git.drupalcode.org/project/ai_initiative/-/work_items/3562623" class="drupalorg-gitlab-link">https://git.drupalcode.org/project/ai_initiative/-/work_items/3562623</a></span></li> <li><span class="drupalorg-gitlab-issue-link drupalorg-gitlab-link-wrapper"><a href="https://git.drupalcode.org/project/ai_initiative/-/work_items/3562625" class="drupalorg-gitlab-link">https://git.drupalcode.org/project/ai_initiative/-/work_items/3562625</a></span></li> </ul> <p>Follow up and option Tasks:</p> <ul> <li>Create a custom version of this agent as a workflow with a proper UI for selecting which Media to evaluate</li> <li><span class="drupalorg-gitlab-issue-link drupalorg-gitlab-link-wrapper"><a href="https://git.drupalcode.org/project/ai_initiative/-/work_items/3562625" class="drupalorg-gitlab-link">https://git.drupalcode.org/project/ai_initiative/-/work_items/3562625</a></span></li> </ul> <h3 id="summary-remaining-tasks">Target date or deadline</h3> <h3 id="summary-remaining-tasks">Remaining tasks</h3> > Related issue: [Issue #3562010](https://www.drupal.org/node/3562010) > Related issue: [Issue #3561074](https://www.drupal.org/node/3561074)
issue