I agree the composer suggest method is better, but should also point out you already can't install a module if its dependencies aren't there so there's no need to do any additional work on that count.
mrdalesmith → created an issue.
Also needs branch updating and tests to pass.
Tests have multiple fails, so knocking back to needs work: the branch is out of dateso it may be as simple as updating the fork to fix.
I'm not sure I personally can see a use case for this agent, since the ability to take a site offline isn't something I can see most people wanting to defer to an AI. Might this be better as a separate module, or at least with some documentation in the new docs folder to detail when you would see it being used?
CSV at least could be supported just with barebones PHP.
Looks good to me.
I'd still say that is something for the site's GDPR and consent management to worry about, not this specific module, but if you want to do it have at it.
I think I've found and fixed the same issue in https://www.drupal.org/project/ai_agents/issues/3493312 🐛 [ai_agents_form_integration] Blueprint forms Active - could you test there?
Turns out the blueprint forms aren't used, so that was easier than I thought.
The changes now in dev rename every file created with a unique file name, so the question is academic in any case.
Can't recreate this issue on a clean install of Drupal with the ai_ckeditor module installed and configured: generation, summary, tone and translation all work without generating error.
Updated with details on the new module.
mrdalesmith → created an issue.
Can this error be recreated on the dev version of the AI module?
I can't recreate this error, but I did find https://www.drupal.org/project/ai/issues/3493498 🐛 Text to Speech fails if default provider used Active which may be having an impact. Otherwise it looks likely that this is related to your specific set-up (possibly that you're using s3?) so we might be reliant on you getting to the bottom of it and letting us know if there's something we need to do.
mrdalesmith → created an issue.
mrdalesmith → created an issue.
No problem with this idea, but it may make more sense as its own project rather than being part of the core AI module.
mrdalesmith → created an issue.
I don't believe this is an issue for the AI module to resolve: consent management is an issue that affects a website globally, and all organisations are required to come up with a solution for it. It is a complex area legally, needs to take into account the specific data and staff requirements of the organisation processing the data (ie the website owner). Any solution we put in place just for the AI module could conflict with the policy elsewhere, would be onerous to maintain and would give the impression we give legal indemnity for data-related issues, which we don't.
Drupal has some modules designed to assist with GDPR management: we would be better letting them handle this issue.
@jbuttler it would be useful for recreation purposes if we had an idea of how much audio OpenAI is trying to create: can you let us know your automator prompt and the number of words in the text being sent to the AI for turning into audio? That we we can try and recreate exactly what is happening for you.
My testing was exclusively using OpenAI so I suspect the underlying changes here aren't the issue but that we have a general vulnerability to OpenAI timing out (particular if a cron job is used as you note in https://www.drupal.org/project/ai/issues/3492998 🐛 "Queue worker starting to fill out field Cron Job" Breaks Site Active ). I think we should probably postpone closing this issue but unless other isers report the same issue from the dev branch I do n't think we need to go to the trouble of undoing the merge.
mrdalesmith → created an issue.
mrdalesmith → created an issue.
Code has merge conflicts that need to be resolved.
Tests currently failing.
This already had a fix pending review, which has now been overwritten with code that recreates the original incorrect assumption in the code: at this point $term is NOT a taxonomy term so $term->description will never be set. Correct fix is in https://git.drupalcode.org/project/ai/-/merge_requests/288/diffs?commit_... - the string value always exists in the database, but is empty if no description provided.
mrdalesmith → created an issue.
There currently is no Automator to directly generate any media entity except image content, so this is a feature request not a bug.
This issue is resolved by https://www.drupal.org/project/ai/issues/3490970 🐛 Generating Multiple Text-to-Speech Fails in AI Explorer Active but there are some improvements we can make to the process, so I'll do those as part of this issue.
You could try these https://jaybeaton.com/blog/how-use-version-module-drupal-issue-fork-comp... - otherwise I tend to just download the fork using git and copy the files into my site manually.
mrdalesmith → created an issue.
OK using tmp doesn't work - I didn't take into account that files in tmp don't have a public URL to play the file from.
Instead, I've fixed a bug in the media creator and told it to always use the settings in the media field - which is much better because we can trust users to decide where their files should save. For the rest of it, it will just store them in the default file system, which for most people will still be ://public
You are right and I am wrong: the automator isn';t using core's recommended method for rendering the token help but is directly rendering a Token module's token tree on the page.
Looks fine to me.
Will that approach still work with the "Save as Media" functionality in some of the plugins? That also seems to assume a public file system.
Would it not be better (and easier) for the player to store the file in the temporary file system? All Drupal sites must have a tmp folder somewhere, and this means the unneeded files will eventually get cleaned up as well? Presumably there's a way of asking Drupal what the defauilt file system is and using that as well, before we start having to roll our own media players with custom javascript.
Like I say, that's how the Core token module is generating it: this isn't our code to change or an issue we can resolve.
The token browser isn't part of this module, so isn't ours to do anything about. Other modules have been developed that mitigate this issue for larger sites so if you are having this issue you may wish to investigate them, or raise it as an issue with the Token module's team (although I suspect it has been raised before so search their issue queue first).
Just to say, I'm not a maintainer :)
mrdalesmith → created an issue.
It may be worth bearing in kind https://www.drupal.org/project/ai/issues/3482645 ✨ AI Translate Module Leaves Fields Empty When No Translation is Found Active - currently the AI translations don't run for non-text fields and what you are seeing is Drupal Core's default behaviour for the image/entity reference fields.
"Where do we put this documentation?" is a question that has already been answered.
I would say that:
- How do I contribute?
- How do automated tests work (Unit Tests, Kernel Tests, Tests that need Mock LLM calls, Tests that need real LLM calls)
- How do I get started locally (Eg DDEV recipes for Milvus, LMStudio)?
- How do I get evaluations running and test Drupal CMS?
are all questions for Drupal to answer, not one specific contrib module. None of those will have answers that are specific to this module and wouldn't be the kind of thing a maintainer would want to get bogged down keeping up to date.
mrdalesmith → created an issue.
Nothing to review as you haven't provided any code changes. Think the screenshots should give us enough to work on though: thanks.
Looks good to me.
How confident are we that if we ask the AI to give us an explanation for why it has done what it has done, that it will actually give us one?
I'm nowhere near an expert on this, but my understand is that when you query an LLM it is generating a response based on the probability of the word it chooses to be next in the sentence being similar enough to ones that were used in similar questions in its context and training data? If you ask the AI for an explanation, would it need a degree of self-aware to have actually decided on a course of action and then be able to accurately explain its reasoning for choosing that response? Aren't you more likely to get back the most likely kind of response to the question "Why did you do that?"
mrdalesmith → created an issue.
Can you provide details of your specific AI set up? The "Providers" don't do anything to entities on save, so I'm assuming you must be using one of the other sub-modules to alter the content of the comment?
Can you retest this as the AI Explorer has just had a major refactor merged.
Can you re-test this as the AI Explorer has just had a major refactor merged.
Looks good
Looks good to me.
mrdalesmith → created an issue.
mrdalesmith → created an issue.
Your branch is still way behind so the tests aren't running: you need to update the fork and rebase your branch so this can be reviewed properly.
mrdalesmith → created an issue.
This should be resolved in https://www.drupal.org/project/ai/issues/3481156 🐛 AI API Explorer hardcodes forms that require undeclared dependencies Active if that gets accepted.
OK, updated. There's probably a discussion to be had about updating the project page to explain under what circumstances you'd want to use which modules (like I say, I can't see how this does anything that you couldn't do with ECA - you seem to be saying that ECA needs advanced knowledge to use, which sounds like a reason to imp[rove the ECA module rather than a reason to create the AI Automators one).
Should the module be a part of an "AI Core" module then? Feels like what you have here is a module that lets you automate adding or editing content into fields, and part of what it can do is integrate with the AI module. I'm not quite seeing the criteria for this being a part of the main module when essential things like providers are separate projects? Equally I'm not sure why you would use this module and not the ECA/AI integration?
There was an issue with the default config for the AI Assistant not having this required value set, which has been resolved. Not dsure if we need to add further fixes to handle existing configurations given this is an experimental module in an alpha release?
mrdalesmith → created an issue.
Just to note https://www.drupal.org/project/ai/issues/3484358 📌 AI Content needs refactoring to use plugins Active introduced the ability to select values from fields held within paragraphs. I'm not sure about the proposed solution to this - generating an AIO version of a full page may lead to confusion when it comes to copying the right bit of the AI content into the right fields on the edit page, and getting suggestion for (non-Paragraph) referenced entities could get very confusing.
Not a maintainer: just throwing in my 2p.
Coding standards fails on the MR
This MR is 148 commits behind the upstream repository, and adds an AI Provider within the AI module structure: AI Providers should now be separate projects of their own (see https://www.drupal.org/project/openai → as an example) and all the providers within the codebase are deprecated.
I think this should be reworked to meet the issue raised (improve documentation) and remove any changes not related to that (implementing a new provider).
Re-upping as merge conflicts resolved.
Knocking back to needs work because tests are failing (Coding Standards) and MR is still marked as draft.