Drupal AI Contribution meeting 2025-07-28
>>> [!note] Migrated issue <!-- Drupal.org comment --> <!-- Migrated from issue #3537593. --> Reported by: [valthebald](https://www.drupal.org/user/239562) >>> <p>Drupal AI Contribution meeting from July 28, 2025 at 16:00 UTC to July 29, 2025 16:00 UTC (Check your local time at <a href="https://www.timebie.com/std/universal.php?q=16">https://www.timebie.com/std/universal.php?q=16</a>)</p> <p>Previous meeting <span class="drupalorg-gitlab-issue-link project-issue-status-info project-issue-status-7"><a href="https://www.drupal.org/project/ai/issues/3536220" title="Status: Closed (fixed)">#3536220: Drupal AI Contribution meeting 2025-07-21</a></span><br> Next meeting <span class="drupalorg-gitlab-issue-link drupalorg-gitlab-link-wrapper"><a href="https://git.drupalcode.org/project/ai/-/work_items/3539026" class="drupalorg-gitlab-link">https://git.drupalcode.org/project/ai/-/work_items/3539026</a></span></p> <h2>Where</h2> <p>#ai-contrib channel in <a href="https://www.drupal.org/slack/">Drupal Slack</a></p> <h2>Agenda</h2> <h3>Attendees self-intro and interests</h3> <h3>Follow-up to topics of previous meeting</h3> <h3>Suggest your topic in comments</h3> <h3>Add the issue you want to discuss as a related issue to this meeting</h3> <h2>Transcript</h2> <p>Hello everyone, and welcome to the Drupal AI contribution meeting!This meeting:&#10148; Happens every Monday in #ai-contrib channel&#10148; Starts at 16:00 UTC (check your time at <a href="https://www.timebie.com/std/universal.php?q=16">https://www.timebie.com/std/universal.php?q=16</a>)&#10148; Is text only!&#10148; Happens in threads, which you can follow to be notified of new replies even if you don&rsquo;t comment in the thread. You may also join the meeting later and participate asynchronously.&#10148; New topics are posted at least 5 minutes after previous, to give attendees time to respond/suggest their (sub) topics&#10148; Refers to various issues and plans tracking in d.o project:<span class="drupalorg-gitlab-issue-link project-issue-status-info project-issue-status-7"><a href="https://www.drupal.org/project/ai/issues/3537593" title="Status: Closed (fixed)">#3537593: Drupal AI Contribution meeting 2025-07-28</a></span> Please comment there so we can grant you credit for attending/contributing! Please note, we will only give attributions for active engagement.&#10148; Transcript will be exported and posted* to the agenda issue. For anonymous comments, start with a &#128100; emoji. To take a comment or thread off the record, start with a &#128683; emoji.</p> <h2>0&#65039;&#8419; Roll call! Who's here? Please tell us your d.o. username, and if you're up for a small talk, do you believe we'll have GPT-4-level or better AI some day on our mobile phone?</h2> <table> <tr> <td>valthebald</td> <td>Val "valthebald" here, and I'll tell my opinion after adding a new power supply to an old Optiplex tower (that will be enough for a second GTX card :yum: )</td> </tr> <tr> <td>bryan</td> <td>:wave: b_sharpe on D.O.</td> </tr> <tr> <td>robertoperuzzo</td> <td>Roberto "robertoperuzzo" here :wave:</td> </tr> <tr> <td>Bisonbleu</td> <td>Hello from Renaud aka bisonbleu. And yes to &laquo;we&rsquo;ll have GPT-4-level or better AI some day on our mobile phone&raquo;. But that&rsquo;s the easy part, exactly when? is the tougher question; short term? maybe; medium term? likely &#128578;</td> </tr> <tr> <td>dan2k3k4</td> <td>dan2k3k4GPT-4-level local offline AI on mobile... Likely yes</td> </tr> <tr> <td>Nick Opris</td> <td>:raised_hands: <a href="https://www.drupal.org/u/unqunq">unqunq</a> here. The question is why? Without connectivity to the outside world it will just provide statistically relevant text it learned in advance. So then connectivity is critical and then we might not actually need it locally - or what we have today would be good enough. Too simplistic view?&nbsp;(edited)</td> </tr> <tr> <td>thejimbirch</td> <td>thejimbirch. The chatGPT app on my phone is enough for me currently.&nbsp; Is this poison ivy? What kind of bird is that? is about what I use it for.</td> </tr> <tr> <td>valthebald</td> <td>@thejimbirch beware, there are proven cases that chatgpt called poisonous stuff edible :nerd_face:</td> </tr> <tr> <td>thejimbirch</td> <td>lol, I am not eating, more staying away from!</td> </tr> <tr> <td>thejimbirch</td> <td>Most of the time I do find it is cautious and says things like "that looks like" or "that could be"</td> </tr> <tr> <td>d34dman</td> <td>d34dman on D.O.Not sure if "mobile" in the contemporary sense exists in the future. And in that future, the fastest computer that exists today will be slower than the chips on some clothes or parcels (akin to RFID tags).</td> </tr> <tr> <td>Kristen Pol (she/her)</td> <td>Kristen, California :wave:I feel like maybe I need to follow my oldest son's footsteps and switch to a flip phone (he's 22)... I already spend too much time on my phone and use chatgpt way too much :grimacing:But, yes, it'll be on our phones... I would assume in the next year or two&nbsp;(edited)</td> </tr> <tr> <td>Marcus Johansson</td> <td>marcus_johansson on D.O.I guess off board doesn't count, because in theory a USB 3.2 2x2 is the next frontier for Android gaming phones and with a root kit, you could load on an eGPU with linux on it - so soonish when models compress. Also see: <a href="https://www.jeffgeerling.com/blog/2024/llms-accelerated-egpu-on-raspberry-pi-5">https://www.jeffgeerling.com/blog/2024/llms-accelerated-egpu-on-raspberry-pi-5</a> &#128578;But on the actual phone, it will take a while :smile:</td> </tr> <tr> <td>beautifulmind</td> <td>Beautifulmind.with continues evolution, we would achieve better AI some day.</td> </tr> <tr> <td>matthews</td> <td>Matthew Saunders - matthews on D.O.</td> </tr> <tr> <td>breidert</td> <td>I am here &#128578;</td> </tr> </table> <h2>1&#65039;&#8419; Follow-up from the last week1&#65039;&#8419; 1&#65039;&#8419; Fixed priority issues</h2> <table> <tr> <td>valthebald</td> <td>Not so many this week, unfortunately :disappointed[#3538372]&nbsp;(edited)</td> </tr> <tr> <td>valthebald</td> <td>Base tools[#3528974]</td> </tr> <tr> <td>valthebald</td> <td>Two weeks waiting for review! Anyone? <a href="http://www.drupal.org/project/ai/issues/3487487">www.drupal.org/project/ai/issues/3487487</a></td> </tr> <tr> <td>valthebald</td> <td><a href="https://www.drupal.org/project/ai/issues/3534716">https://www.drupal.org/project/ai/issues/3534716</a></td> </tr> <tr> <td>valthebald</td> <td><a href="https://www.drupal.org/project/experience_builder/issues/3533079">https://www.drupal.org/project/experience_builder/issues/3533079</a> :status_needs_review:</td> </tr> <tr> <td>valthebald</td> <td><a href="https://www.drupal.org/project/ai_agents/issues/3528726">https://www.drupal.org/project/ai_agents/issues/3528726</a></td> </tr> <tr> <td>robertoperuzzo</td> <td>I'm a new entry in the AI-Initiative to support @lussoluca during his holiday period for issues[#3518963]</td> </tr> <tr> <td>breidert</td> <td>Awesome @robertoperuzzo - I left a <a href="https://www.drupal.org/project/ai/issues/3518963#comment-16209847">comment</a> in the guardrail issue. Besides having a technical solution, we also need to apply it in different places. Please keep this in mind, maybe we need follow up issues to address UX and intergration issues.</td> </tr> </table> <h2>1&#65039;&#8419; 2&#65039;&#8419; Work in progress</h2> <table> <tr> <td>valthebald</td> <td>Security enhancement[#3518963]</td> </tr> <tr> <td>robertoperuzzo</td> <td>I'm finalising and testing @lussoluca's work on the issue[#3532795]</td> </tr> </table> <h2>2&#65039;&#8419; Priority issues for this week</h2> <table> </table> <h2>2&#65039;&#8419; 1&#65039;&#8419; Base tools :construction:&nbsp;(edited)&nbsp;</h2> <table> <tr> <td>valthebald</td> <td>Already "featured" last week, @michaellander is going to work on this[#3528974]</td> </tr> <tr> <td>breidert</td> <td>Nice work. we spoke in the planning meeting about this. Once you have a version that can be reviewed please let us know, so we can find reviewers.</td> </tr> <tr> <td>michaellander</td> <td>I am aiming for a PoC for friday.&nbsp; I've been working with @Marcus Johansson and @yautja_cetanu (Jamie) on making a concrete plan.</td> </tr> </table> <h2>2&#65039;&#8419; 2&#65039;&#8419; Tool calling in streamed chat :construction:&nbsp;(edited)&nbsp;</h2> <table> <tr> <td>valthebald</td> <td>In the hands of @Marcus Johansson[#3528549]</td> </tr> </table> <h2>2&#65039;&#8419; 3&#65039;&#8419; Fibers for multitasking :construction:</h2> <table> <tr> <td>valthebald</td> <td>In the hands of @Andrew Belcher</td> </tr> <tr> <td>valthebald</td> <td>as well as[#3538341]</td> </tr> </table> <h2>2&#65039;&#8419; 4&#65039;&#8419; UI/UX for multiple automators on a field :blob_help:</h2> <table> <tr> <td>valthebald</td> <td><a href="https://www.drupal.org/project/ai/issues/3535824">https://www.drupal.org/project/ai/issues/3535824</a> and since it's UI-related, maybe to be picked by @artem or @breidert?</td> </tr> <tr> <td>Andy Marquis</td> <td>@mandclu - Thats the one we discussed ^ (i think that was you I discussed that with)&nbsp;(edited)</td> </tr> <tr> <td>Marcus Johansson</td> <td>I will add some more info on that issue tomorrow, its a little bit sparse</td> </tr> <tr> <td>mandclu</td> <td>Yeah the UX is a little odd right now because you can have multiple buttons on one widget, but in the field definition it seems like you can only associate one automator</td> </tr> <tr> <td>mandclu</td> <td>So you couldn't have one button that generates an image, and then another one that generates the alt text</td> </tr> <tr> <td>Andy Marquis</td> <td>Would you want a button for each action or a single button that does everything you want it to via settings? Seems like multiple buttons could get really clunky unless we did some sort of drop button type element.</td> </tr> <tr> <td>mandclu</td> <td>Personally I would want separate buttons so you could redo a specific step if you weren't happy with the initial result</td> </tr> <tr> <td>Andy Marquis</td> <td>Yeah that makes sense. Probably a dropbutton style element then would be something to consider. I&rsquo;ll be working on these widget actions eventually for custom field soon so will come up with something if it hasn&rsquo;t already been solved by then.</td> </tr> <tr> <td>breidert</td> <td>I understand that the issue is for the config form. At the moment you can only add a single automator. In the example, the automator fills out the alt text. But potentially you want to add more automators. For this we need an "Add more" option to allow to configure additional automators.</td> </tr> <tr> <td>breidert</td> <td>Would anyone of you like to take this issue?</td> </tr> </table> <h2>2&#65039;&#8419; 5&#65039;&#8419; Security module and guardrail agents :construction:</h2> <table> <tr> <td>valthebald</td> <td>as already mentioned in another thread, in the hands of @robertoperuzzo</td> </tr> <tr> <td>valthebald</td> <td>(cross-posting here to have this in transcript)</td> </tr> </table> <h2>2&#65039;&#8419; 6&#65039;&#8419; Artifacts collection :blob_help:</h2> <table> <tr> <td>valthebald</td> <td>This one is up for grabbing[#3528726]</td> </tr> <tr> <td>bryan</td> <td>Added some questions here</td> </tr> </table> <h2>2&#65039;&#8419; 7&#65039;&#8419; Documentation on how to use :blob_help:</h2> <table> <tr> <td>valthebald</td> <td><a href="https://www.drupal.org/project/ai_agents_test/issues/3538297">https://www.drupal.org/project/ai_agents_test/issues/3538297</a></td> </tr> <tr> <td>dan2k3k4</td> <td>Should the docs go into the AI module docs? Such that we have one central developer docs or do we spin up another docs site for agents or just use a README.md file? @Marcus Johansson</td> </tr> <tr> <td>Marcus Johansson</td> <td>The idea is to have a simpler documentation in a README.md in the module and more extensive in the AI module docs under AI Agents section</td> </tr> <tr> <td>Marcus Johansson</td> <td>the README.md can point there for more detailed information, but it should have basics to get started at least</td> </tr> <tr> <td>Marcus Johansson</td> <td>If you want to test the testing (hah!) you can use this: <a href="https://www.drupalforge.org/template/drupal-cms-ai-agents-testing-framework">https://www.drupalforge.org/template/drupal-cms-ai-agents-testing-framework</a>. The recipe is linked there as well, if you want to setup something similar on Amazee.</td> </tr> </table> <h2>3&#65039;&#8419; General discussions</h2> <table> </table> <h2>3&#65039;&#8419; 1&#65039;&#8419; Symfony AI</h2> <table> <tr> <td>valthebald</td> <td><a href="https://www.drupal.org/project/ai/issues/3535779">https://www.drupal.org/project/ai/issues/3535779</a> is marked as fixed, but we'll need some follow-up to this. When do you think?</td> </tr> <tr> <td>valthebald</td> <td>How can we cooperate with the Symfony team for mutual win?&nbsp;(edited)</td> </tr> <tr> <td>dan2k3k4</td> <td>I'm not sure if @yautja_cetanu (Jamie) met with Christopher Hertel (of Symfony core/AI)</td> </tr> <tr> <td>valthebald</td> <td>@dan2k3k4 are you in contact with him?</td> </tr> <tr> <td>dan2k3k4</td> <td>Chris? Yeah on Symfony Slack and padded him on LinkedIn</td> </tr> <tr> <td>valthebald</td> <td>or, more generic, is anyone from Drupal community participates in Symfony meetings (if there are any)</td> </tr> <tr> <td>dan2k3k4</td> <td>I didn't see any Symfony Slack meetings, but maybe they do things elsewhereI'll aim to get more involved with the Symfony community and meet up with the local Symfony group in Zurich</td> </tr> <tr> <td>valthebald</td> <td>please keep us in the loop @dan2k3k4!</td> </tr> <tr> <td>yautja_cetanu (Jamie)</td> <td>Yes @dan2k3k4 - we had a call it was an hour long.Right now its just chrstopher on his own in his spare time so its not quite as much work happening as we have in Drupal AI.The key place where he wanted some help is "Tasks" or what we call operation types in Drupal AI. This was an immediate place we could get involved in the issue queues.There is moer we could do, but it is unlikely we will be able to move to symfony ai until Drupal AI module 3.0 (2.0 is targetting vienna, either before, or after or around). So its not going to be something likely we can do until January.Marcus is away for about a month and so there isn't much we can do at freelygiveBut we could arrange a Drupal call where I could talk about strategies of symfony ai verses our approach and people could talk about how much they want to get involved with that?</td> </tr> <tr> <td>yautja_cetanu (Jamie)</td> <td>Would htat be interesting?</td> </tr> <tr> <td>valthebald</td> <td>@yautja_cetanu (Jamie) I think so!</td> </tr> <tr> <td>dan2k3k4</td> <td>Yeah, that would be interesting.I think for Wordpress, they are quite heavily tied to Wordpress Core so I don't think they will be able to implement Symfony under the hood (cc @Felix Arntz).But as Drupal already relies on Symfony, it would hopefully be easier for us to collaborate :eyes:Starting a v3 "rewrite/refactor" to build on top of Symfony AI (and in turn also help build out / improve the rest of their AI packages) could be a good future plan.At least the talk could see if things are feasible and if anyone has any points for/against a future plan to involve Symfony</td> </tr> </table> <h2>3&#65039;&#8419; 2&#65039;&#8419; Star forge site is live! <a href="https://www.drupalstarforge.ai/">https://www.drupalstarforge.ai/</a></h2> <table> <tr> <td>valthebald</td> <td>Idea is to have clear overview is who is working on what.If you're working on something, please assign the issue(s) to yourself (but don't overuse!)</td> </tr> <tr> <td>valthebald</td> <td>There is no policy at the moment, but probably issues that were assigned to someone but were not changed, will be moved back to unassigned</td> </tr> <tr> <td>valthebald</td> <td>for now, let's try to be cooperative and not abuse the system &#128578;</td> </tr> <tr> <td>breidert</td> <td>The new tool is awesome. Here is a screenshot:</td> </tr> </table> <h2>4&#65039;&#8419; Open Mike! Suggest your topics (and discuss them in threads) for another 23.5 hours. Start the topic with a numberlike 4&#65039;&#8419; 1&#65039;&#8419; , 4&#65039;&#8419; 2&#65039;&#8419; etc.</h2> <table> </table> <h2>4&#65039;&#8419; 1&#65039;&#8419;&nbsp; I created a meta issue for the SEO Track.&nbsp; If you have SEO tool, integrations, ideas and want to help formulate a plan, please contribute to[#3538378].&nbsp; I will be working more on it later this week.</h2> <table> <tr> <td>breidert</td> <td>Nice !I left a <a href="https://www.drupal.org/project/ai_initiative/issues/3538378#comment-16209882">comment</a> with my thoughts in the issue.</td> </tr> <tr> <td>thejimbirch</td> <td>Thank you!&nbsp;(edited)</td> </tr> <tr> <td>thejimbirch</td> <td>Replied.</td> </tr> </table> <h2>4&#65039;&#8419; 2&#65039;&#8419; We are introducing a new issue management process that is documented here[#3534360]</h2> <table> <tr> <td>Kristen Pol (she/her)</td> <td>Some of this has already been rolled out (e.g. issue Components restructure)</td> </tr> <tr> <td>Kristen Pol (she/her)</td> <td>Some people like @breidert have already been using the new tags</td> </tr> <tr> <td>Kristen Pol (she/her)</td> <td>We will be adding tags and updating metadata on existing issues that are a priority for the AI initiative soon, including closed issues from June+July to show what was worked on that aligns with the roadmapHopefully this will happen this wee[#3535026]</td> </tr> <tr> <td>breidert</td> <td>Here is the link to the <a href="https://project.pages.drupalcode.org/ai/1.2.x/contribute/issue_guidelines/">issue guidelines for the AI module</a>, please follow when adding issues.</td> </tr> </table> <h2>4&#65039;&#8419; 3&#65039;&#8419; I'm working on[#3538398]"}}ai_dev_recipe{{/a}}. I take a look at <a href="https://www.drupal.org/project/ai_provider_amazeeio_recipe">https://www.drupal.org/project/ai_provider_amazeeio_recipe</a>, but I found it a bit tricky to set up due to the many input fields that need to be entered. I was wondering if we can use the same "setting path" we have in the web UI:Enter your email address,then enter the activation code you received. by email,finally, the connection to <a href="http://amazee.ai">amazee.ai</a> has been made.Does anyone have suggestions?</h2> <table> <tr> <td>Marcus Johansson</td> <td>hmm, I didn't think of the actual implementation part of this - or rather that its so different in setup. Its very hard to have Amazee a recipe unless you are preregistered. That's recipe is mainly for internal use for Amazee.The issue is that its using an api to get the api keys, you can see it here: <a href="https://git.drupalcode.org/project/ai_provider_amazeeio/-/blob/1.0.x/src/Form/AmazeeioAiConfigForm.php?ref_type=heads">https://git.drupalcode.org/project/ai_provider_amazeeio/-/blob/1.0.x/src/Form/AmazeeioAiConfigForm.php?ref_type=heads</a>. Its using the amazee client service for all interactions.This requires back and forth calling with input, something that is not really offered by recipes at the moment.The three options I can see right of the bat:Ask the user to perform this ahead of time, but that sucks if they do not want to use Amazee to be asked for a lot of data.Add a configuration form as part of installation, similar to how we solved it here: <a href="https://github.com/FreelyGive/drupal-starforge/tree/1.0.x/project_template/web/profiles/drupal_cms_installer/src/Form">https://github.com/FreelyGive/drupal-starforge/tree/1.0.x/project_template/web/profiles/drupal_cms_installer/src/Form</a>. Right now that only works with installation over web. Then we can replicate the logic from the provider.Add another Drush command that sets up any providers after installation, where you can pick and it asks input depending on what you choose, and have a similar solution as #2 for the web or something like <a href="https://www.drupal.org/project/ai_initiative/issues/3538350">this</a>.The problem with #3 is that you can not install any recipes that requires providers as part of the installation process. That might be fine though, since in this case its meant for developing the AI module firstly and testing out AI secondly.Pinging @dan2k3k4 @matthews if you have any ideas on how to solve this? @artem and @breidert also since we have a meeting next Wednesday.&nbsp;(edited)</td> </tr> <tr> <td>dan2k3k4</td> <td>The recipe at <a href="https://www.drupal.org/project/ai_provider_amazeeio_recipe">https://www.drupal.org/project/ai_provider_amazeeio_recipe</a> is also a bit outdated compared to the 1.2.x branch of the AI module and <a href="http://amazee.ai">amazee.ai</a> providerThe auth requires just an email that receives a magic link, which you just have to click on to authenticate your connection with the provider.I believe the other fields should default to getting the required information from the API such as which VectorDB host you should be using/connected to.I think an AI recipe that uses the <a href="http://amazee.ai">amazee.ai</a> provider just needs to redirect to the provider login page if it's not authenticated or if it's a fresh recipe being run?</td> </tr> <tr> <td>dan2k3k4</td> <td>Also pinging @pmelab and @schnitzel</td> </tr> <tr> <td>Marcus Johansson</td> <td>The problem with recipes is that there is no pre-validation and the input is taken before the recipe starts running.&nbsp;The auth requires just an email that receives a magic link, which you just have to click on to authenticate your connection with the provider.I think the issue here is that the provider right now auto-authenticates that right with a username and password, with some backend magic in the AmazeeClient. I do wonder though, if we can move that into a ConfigAction for recipes that assumes username and password and then autopopulates the configurations?We need to have the option for people to leave it empty there, if they want to install another provider.</td> </tr> <tr> <td>Marcus Johansson</td> <td>But this goes back to the installation process and who this is for, that we discuss next week. I think if its for developers mainly and having the option for each provider as a recipe to install after installing the website, maybe with a nice ddev helper command where you can pick the one you want would help them.And for anyone that wants to get the environment up and running with demo content and integrations to showcase/test it, we can have another helper command that automatically installs and runs the Amazee recipe and a selections or recipes, if the above is fixed in the Amazee provider?&nbsp;(edited)</td> </tr> <tr> <td>breidert</td> <td>We have a recipe for that (created by @artem), you only enter username and password. Let's discuss this next week.</td> </tr> </table> <p>Participants:</p> <p>valthebald, bryan, robertoperuzzo, Bisonbleu, dan2k3k4, Nick Opris, thejimbirch, d34dman, Kristen Pol, Marcus Johansson, beautifulmind, matthews, breidert</p>
issue