Heard it here. So thanks all of you for joining us for this first session. After lunch, I'm going to talk about Prompt engineering, Generative AI and Drupal. All those things can work together. My name is Martin Anderson-Clutz. I'm a senior solutions engineer at Acquia. And if you ever need to reach out on all the Drupal and social platforms, I go by mandclu. So there is a stat recently from the International Monetary Fund. They did an analysis where they figured that 40% of jobs globally, or 60% of jobs in advanced economies, will be impacted by the growing adoption of AI. So I think the pertinent question is, who does that scare in the room? Anybody concerned for their jobs? All right. So, um, this is sort of to paraphrase a meme that I saw recently, in order to replace developers, customers will need to clearly state their requirements. I think we're going to be safe. So that being said, let's talk about some of the ways that that we can sort of each adopt AI in our Drupal sites to potentially, you know, mitigate some of the potential risks.
But to start, I thought we should do a bit of a primer, make sure we all have kind of a common understanding of exactly what is artificial intelligence. So there's some terminology here. Some of it gets a little bit wordy. Um, I'm not going to dwell on it too much. Definitely will make the slides available later if people want to sort of pore through it in more detail. Uh, simply put simply, uh, artificial intelligence is a field in computer science that studies intelligent machines mimicking human responses or automating sophisticated behaviors. So it's really about starting to create more and more sophisticated sort of, you know, artificial machines to mimic human behavior. Natural language processing is about working with text provided in more of a conversational format. So not sort of like keyword searches, being able to understand the underlying intended meaning and provide a relevant response. Uh, machine learning is a subset of AI which allows systems to act without explicit intent, without explicit instructions, by leveraging statistical algorithms to extrapolate existing data to unknown use cases.
So all about being able to go from sort of the known, uh, situations that it was programmed for, to extrapolate that out into sort of new and different situations. And then deep learning is a subset of ML using artificial neural networks, representation learning. I'm not even getting into those, uh, which allows them to develop and leverage their own means of classification. So actually starting to develop its own sort of understanding of the world, uh, sort of proactively that way. And then finally large language model, which is, you know, ChatGPT and all of those exciting models that we hear about is an AI algorithm that uses deep learning techniques to accomplish natural language processing tasks, such as responding to unstructured user prompts, which is probably what a lot of people in the room have already, you know, played around with on ChatGPT. Llms are trained on massive data sets often gathered from the internet, but sometimes using more specialized data, and we'll see an example of that later.
So, um, as we start to, to adopt and interact with some of these large language models, what are some ways that we can get the best output from them? So there is this sort of growing field of prompt engineering, which is really about sort of understanding how can we tailor the prompt that we feed into the machine to sort of get the best results back? So a lot of times it's about providing structure and maybe some additional information. Um, it can be things like providing some examples. So it could be saying um, you know if this is input A, this is the expected result back, giving it a few examples and then saying, now here's the new novel input and follow that same pattern to give me what I want. Sometimes it's as simple as just specifying a format in which you want that returned. Here's an example from the Nielsen Norman Group, where they sort of take an example prompt and sort of break that out into the different elements in terms of, you know, something that's going to be specific enough to get a very targeted output.
As an exercise, I thought it would be fun to ask ChatGPT to write a sonnet about Drupal. Um, I think it did a pretty nice job. Uh, and then just to sort of give a quick example by just adding four words to that prompt to, say, mentioning trees, it's it completely rewrote the sonnet, um, which I thought was just kind of interesting. So again, just by making small adjustments, you can get very, very different output from these models. So, uh, we're at a Drupal conference. Let's get into how Drupal can adopt some AI technologies. So the first one that I want to talk about is text generation. Uh, I. Some of the the things that we should be aware of in terms of limitations of text generation in AI is that for me, I find it tends to do a reasonable job on general topics. So if you were to ask it a question like, you know, what is Drupal or you know, what's the history of AI, it can probably do a credible job of those. But if you start to ask it more of for prompts that that should return very specific information, then you run the risk of encountering these hallucinations.
So it'll basically just make up facts to make it sound more authoritative. And if you rely on those, I think we probably all heard anecdotes of, you know, the lawyer who lost his license because he just, you know, took a brief that was written by AI. Those kinds of things that certainly leads into, you know, the ethical considerations of potentially taking something generated by AI using sources that you don't know where those where like sort of what data that it ingested to be able to output that. And then if you pass that off as your own. Uh, there's definitely ways that that can get you into some hot water. And then as of today, there's still some limitations on the recency of data that it's working with. So last time I heard ChatGPT was around 18 months. So if you're asking about something that happened six months ago, it's probably not going to be able to to give you much good output on that. So those are some of the limitations. And I think that's actually the other side of prompt engineering is really just understanding what are the limitations in terms of what it's going to be able to give you.
Uh, I text augmentation is, to me a much more useful way of using AI in Drupal. So rather than saying, have I, you know, create an article for me, maybe you're going to get your author to to write the article, but then have I, you know, suggest a title or suggest some meta tags or summarize it a lot of things that I feel like, um, you know, when like a Drupal architect builds out a content model, they have all these aspirations of like, we can build out these cool teaser views that will, uh, you know, filter things in all of these interesting ways, but it sort of depends on people, like actually tagging content or like actually writing summaries as opposed to just truncating them or some of these different things that oftentimes those content creators are just too busy to do. So being able to fill those gaps with AI is actually a really good use of this kind of technology. So I'm going to talk about a couple of modules that you can use for this. So the first one being OpenAI, it's probably the one if anybody anybody use OpenAI module.
Yeah quite a few. So this is definitely the most popular I would say right now of the existing AI modules for Drupal obviously works specifically with OpenAI and its APIs. It has options to do things like generate content, change style, and more. It does have a content tool submodule, that can do some of those manipulations that we just talked about. One of the things that I think is great about the module is it's super easy to set up. So once you install it, you put in your API key, your API key from OpenAI, and then you just enable submodules, install submodules for any of the features that you want. Uh, one caveat is that it does require Drupal ten. So if you're still running like Drupal nine, um, this is not going to be a solution for you. Uh, another one that that I really like is called Augmentor AI. Um, it actually works with multiple large language models. So if you have needs that go beyond ChatGPT, this can be a good option. It also defines what it calls Augmentors as configuration entities.
So basically you build out the ways that you want to interact with those models. And that actually becomes part of your site configuration. And you can optionally include some prompt structure elements. And we'll see an example of that in a couple of minutes. So last thing this also works with Drupal nine. So again if you haven't yet made the leap to Drupal ten even though you should. Um, this can be an option for you. So let's get into a demo and actually see some of these tools firsthand. So you can see here in the WYSIWYG toolbar, we've got a couple of options. Both the OpenAI and the Augmentor module are installed. So let's start with um, the OpenAI version. So it's really like your chat GPT prompt. So you could say write article. About the Drupal CMS. And you can see it's going to generate all that text for us. Again, for, you know, general topics like this, it's probably going to do a perfectly fine job. Now let's see how the Augmentor module is a little bit different. So we could use it for the same kind of, you know, very general things.
So let's go ahead and say actually just something very simple CMS and I've actually set up a couple of those augmenters to um, to do very specific things. So we could do something like, say, make an article about whatever text I have selected and we're going to see it's going to go ahead and generate that out. The other thing I'll do is scroll down at the bottom to show for this particular augmenter I've built into the prompt to say. Also include citations for any references used. That's actually a tip when you're generating content with AI, because it can sort of help to mitigate some of those hallucinations you can end up with. And then it also becomes a fairly easy way if you click through those links and it's sort of like is actually a existing and then be relevant to wherever it was cited, then, then that can help to sort of, um, give you an opportunity to at least validate some of the content that's been generated. So in this case, I'm just going to copy this to use later and then also show in this case I've also set up another augmenter that whatever I pass in as the subject, it's going to generate a Shakespearean sonnet about that.
So probably not something that's going to be super practical in day to day use, but there's lots of different sort of, you know, structures and formats that you could do the same kind of thing for. So let's go back to our article that was written and talk about that idea of sort of augmenting this now so we could do things like, um, if we go in here to the open AI module, adjust the tone of voice, summarize, translate correct HTML, and so on. In this particular module, there's also I've installed the content tools submodule which exposes similar kinds of capabilities but but puts them in the sidebar. So we could say, you know, analyze if this particular article sort of contravenes any content policies which, you know, this is pretty, uh, benign. So no worries there. We could adjust the tone. So let's copy that and say, um, explain it to me like I'm five. And there you have it. It's like having a secret weapon to make your website look professional and cool. Um, so, I mean, obviously there's lots of different ways you might want to make it sound more professional, different things like that.
So it can be really useful. Same idea for, you know, summarizing it. Um, let's actually look at an example of suggesting a title. So one thing you might notice with all of these, it's going to do a pretty nice job of actually generating that content for you. Um, but as of today, it's sort of a manual process for your content author to sort of like, you know, select it, copy and paste it into whatever field they would ultimately put that in. So now contrast that with the way the augment or AI module was designed. So when you integrate it into your forms, you actually create new fields where you basically build a widget that's going to incorporate a chosen augmenter. And then you have ways to configure how you want it to sort of parse the output. So as an example, I've made one here that is going to suggest five different titles. And then when you choose one it automatically puts that directly in the title field. So to me from a content creator sort of experience that's way ahead of sort of, you know, expecting them to go to some other place that's down in the sidebar.
You know, once they get the result, copy and paste it back in and so on. And it's a similar example. We can look at suggesting taxonomy. So we can see here it's got some suggestions. But if we look at the way the augmenter tags widget works, it does a pretty nice job of actually making these interactive elements. So we can say, let's just grab a couple of different ones and then as we choose them, it's going to put those directly into the tags field. So again, to me that feels like a much nicer experience for your content authors. So the last thing that I wanted to do here is actually go into the Augmenters to, to give you a bit of a sense of what the configurations can look like for some of these. So we've already seen how the article and the sonnet work, but here's an example of how you would structure that prompt. And you can see you're sort of effectively building in some of that prompt engineering as a site builder, so that your content authors aren't required to have that same kind of technical knowledge.
Um, in the same way. Uh, let's go back. If we look at how the title options. Is structured. In this case it's got a couple of different messages. So again you can you can build multiple if you want to do things like provide additional context that again that um, some of those richer ideas around prompt engineering. And in this case we're saying, um, you know, telling the model to provide five different title suggestions. And then within the widget, we're parsing those out to to drop into that drop down widget. So that's hopefully illustrates some of the differences between the OpenAI module and the augmented AI. Any questions maybe before we move on.
>>:
Yes. So you're configuring your augmenter things almost like they're like almost like content fields that you're defining. And then do you assign them to different content types or how how do they show up. Yeah, exactly. So if I go into content types article and go, um, manage fields, you can see them listed there. There's in terms of this part of the field configuration, not much to them. Most of what you're going to do here is in the manage form display. So if I open this up for suggested title you're going to set sort of where it's taking the text from, where it's going to put it into. If there's more than one response key, then you can sort of change that. But usually the default in my experience is good. And then um, you can set. So again having those different augmenters defined, you can choose which one you want to use for a particular widget control, sort of the label. In this case it uses a regex pattern which everybody loves. And um, you know, that becomes a fairly sophisticated way that you can extract out whatever information it is that you want from the, the AI result.
All right. That's another question. Yeah.
>>:
Do you have a choice in which? An engine or. Model to use? Yeah, absolutely. So the, um, for the recording. Thank you. So the question was, do you have a choice on which engine to use? And so essentially the the choice on which kind of like large language model as an example, you're connecting with that would be part of the augmented configuration. And then um as part of the widget configuration you choose which augmenter. So that's how you sort of connect those back to whatever large language model you want to provide the result.
>>:
And how do you know which? Is there someplace you can go to? Language models do. Um, so let me just go back here. Services vector. So this when you list the augmenters, it says which type of, um which type of augmenter it is. And that basically, you know, is going to tell you which large language model it's for. But you could also develop a naming convention if that would help in terms of that as well.
>>:
Although other like submodules or something for each different engine that's supported or how does that work. They're actually completely separate modules. And then if there was one that you wanted to connect to that didn't have an existing one, then it's not typically a lot of code to be able to do that. Yeah. All right. Uh, there's one other Drupal module that I wanted to mention here. Oh, actually, let's let's start with, uh, maybe a high level comparison then of OpenAI and Augmentors. So open the question. Um, did. You do any custom code for that example you just showed, or was that all configured within the script to fix anything? So the the question was, was there any custom code in the previous demo or was it all configuration? So that was all configuration. Um, I think I ended up playing around with the regex a little bit because, you know, reasons. But yeah, all configuration. So at a high level then uh, OpenAI as we talked about, very easy to set up. It does have lots of submodules.
So different capabilities in terms of like if you want to play around with Dall-E for image generation or just do queries within the back end, it has lots of different ways to sort of try out all of the different things that OpenAI makes available. Um, also because it's fairly targeted, I do find the maintainers are really good about updating it. So as an example, if OpenAI, I think when they released the chat, GPT four, um, APIs pretty quickly afterwards, OpenAI had had an updated version to reflect that. Uh, augmented AI, as we've seen, is is very configurable. You can support multiple large language models. Um, and I like the fact that you can sort of build in the prompt engineering so that it becomes very, very easy for your content creators to, to get some potentially very sophisticated results. Uh, one other module we should probably mention is more recent. It's called AI Interpolator. This one really doesn't provide any sort of, you know, widgets or anything for content creators.
It's really meant to be more of a pure back end tool. So you can say, um, you know, as an example, if you were using AI Interpolator in our previous example, you might not even show the tags field to the, uh, author and then have that automatically populated once the content was submitted. Um, it does have quite a few different service integrations. I think of all of the AI modules I've looked at. This one is probably the best in terms of like being able to use different image services and so on. So um, again, lots of options in terms of finding what best suits your needs. So I mentioned image generation. Let's dive into that next. Um, there are lots of different large language models to be able to generate images. Probably the three that I hear talked about the most are Midjourney, uh, Dall-E, which is a service by OpenAI, and Stable Diffusion. I thought this was a good quote to maybe think about the differences between them. So Midjourney might produce the best looking images, even without sophisticated prompts.
But stable diffusion will act more consistently and make fewer errors. On the other hand, Dall-E is likely to make the most accurate semantic interpretation and interpolation judgments. So another way to think about these Dall-E is part of your paid OpenAI plan. So to be able to use this, you're going to have to shell out probably a minimum of $20 a month. But you know, you're also getting ChatGPT and other services available with that. And it does have API access. Uh, Midjourney, you can start off on a free tier. It gives you a certain number of credits. And then once you use those up, you're going to have to pay for ongoing use. Um, at this point all of the access is through discord, which is, you know, if you don't use discord, otherwise, not super convenient. Um, and there is currently no direct API, but I have a feeling those things are in the works. Um, there is also a model called stable diffusion, which is open source. Um, there are different websites that you can go to. So there's like I think it's called Dream Source hugging face.
Um, a few different others, but you can also download it and run it locally. So it runs in Python. Um, sounds like the setup. I haven't actually tried it myself. Is is not for the faint of heart, but you know, it definitely can be an option. Um, if that's something that you want to sort of geek out on, uh, in terms of how you would structure prompts for images, certainly you're going to want to try and be descriptive about what you want to include. But I have heard there are some cases where, particularly if you don't have a very specific idea of what you want, maybe leaving things a bit more open ended can also generate some interesting results. Um, you can also add some additional elements, like what resolution of output you want. If there's a style or artist that you want to emulate, if there is, you know, tone or lighting considerations in terms of what you want it to look like. Um, there are also some great outputs I've seen by specifying sort of photographic equivalents of things.
So like focal length, um, depth of focus, film style and some of those kinds of things as potentially ways to get a certain look for the image that you generate, uh, if you want to sort of play around, actually. Midjourney. On their website has this showcase, which is pretty cool because if you go to any of these images, it will actually show you the prompt that was used to create this particular picture. So you can see in this one, um, there's a little bit around sort of, you know, this, uh, futuristic version of Sean O'pry wearing ragged desert clothes in a contemplative stance. Um, but a lot of the remaining parts of the prompt are really, again, talking about sort of, uh, you know, photographic equivalents of 35 millimeter macro, f three, f 2.8, and so on. And then here's the prompt for a very different image, where again, you can see that it's talking about, uh, ultra high quality line drawing where in surreal white lines on black backgrounds. So, um, you can get very different results if you sort of start to develop the capability to, um, to prompt it in the right ways in terms of getting the result that you're after.
The other thing that you can do, which is interesting, is start to to use some of these different models together. So, um, I think it was official, I saw give a lightning talk at, uh, drupalcamp, Florida last year about how he uses ChatGPT to generate his Midjourney prompts to get, um, you know, much better output with sort of a low level of effort. I see that, um, now that there are sort of specially trained ChatGPT models, there is actually one that somebody created called this image Prompt Generator, again, specifically designed for Midjourney. Um, but I'll maybe pause for a second to just say this idea of chaining um is something that, you know, I think we're going to start to see a lot more sophistication with ChatGPT or like AI models in general, and in particular, starting to actually have AI models do the thinking around how to break things up into sort of individual tasks and then allocate those out to, you know, different models to, to get the end result. And as we start to see it able to do more and more of that on its own, it's going to be able to take on more and more sophisticated tasks.
So for AI image generation in Drupal, I should add, uh, AI interpolator to this list. Um, but the OpenAI Dall-E submodule is definitely something you can use. There's also a module called OpenAI images. And to me, the the nice thing about this one is that if you get a result that you like, you can save it to your image library, which is something we're going to see right now. So if we do a prompt, let's say zebra. So this one is fairly simple. Let's take a second. So this is again using the Dall-E model. Uh, if we wanted to actually let's change it up a little, uh, adjust our prompt to say in a studio.
>>:
Please style. So again, passing it a little bit of information in terms of the style that we wanted to use. Do. Not hugely different, but you can see that by, you know, passing it more information along those lines. You can get very different output. So let's go ahead and save that just to sort of be able to validate that's now saved into our media library. And now that can be used you know articles whatever else that we want. I also wanted to sort of quickly show the dolly submodule for OpenAI, so we can put the same prompt in. Notice that it has a lot more sort of options in terms of how you want this generated. You can choose which dolly model you want, what quality, what size, even some style controls here. And then when we save it, the difference here being that rather than showing it to you directly, what it's going to give us when it completes is actually a link out to where we can access the high res version of the image. So give it a second. There we go. And now we can see the results.
So I think it's using a newer version of Dall-E, which is why the quality looks so much better. Um, but you know, just interesting to see how those two, two tools potentially working or notionally working with the same, um, AI API give very different results. All right. A couple more topics that I want to cover. So vector search, um, being something that I think has the potential to provide much more robust search results within websites like Drupal. So there's a definition here. I'm not going to sort of stand here and read it. But again we'll definitely make these um, available later. But I think that the key idea here is that, um, by being able to, to use this, uh, vectorization of, of, you know, concepts and text and other media, um, it can provide much more relevant results and execute faster. So the way that it does that is, again, by converting things into numbers that sort of represent the meaning, uh, across a variety of matrices. And then that makes it able to find things that are a better match.
Um, again, at a much deeper level. So I've heard an example. People talk about vector search as if you had like a municipal website. You could have it ingest all of the council meeting notes over several years, and then you could provide a prompt to say, you know, give me a list of the meetings that this particular councillor didn't attend and return it to me as a bulleted list, and it'd be able to give you that in, you know, a few seconds, whereas, you know, you're not really going to be able to do the same kind of, you know, sort of deep analytical query using sort of, you know, simple keyword matching. Uh, here's a bit of a simple version of, of how the vectorization kind of works. So the idea of, in this case, just three dimensions, you know, plotting out some of these different concepts and then the vectors being housed, sort of these different things are connected together. And then a common example you'll see online is this idea of saying, you know, if you take the concept of king and you, you know, subtract men from it, but add woman, you're effectively flipping the gender.
But that idea of, you know, combining different relationships to arrive at sort of, um, different concepts is really how sort of the whole idea of vectorization allows AI models to, to achieve that deeper understanding. In terms of Drupal integrations, there's a variety of search API, um, modules that you can use. Um, a lot of these connect to different third party services. Uh, pinecone probably being one of the best known, um, OpenAI embeddings being a submodule again of the OpenAI module. There is also a module called search API, which works with pinecone and OpenAI. And finally, for something a little less sophisticated, again, we talked at the beginning about natural language processing. There is a search API solar module that will allow you to at least do natural language processing in solar. So, um, last area that I wanted to talk about is actually writing code. So probably a few of us in the room have played around with some of the ways that you can get AI models to write code, even for your Drupal website.
Um, ChatGPT can do some of that. Again, it may be limited by the recency of Drupal it has in its sort of core model, but there are at least a couple of different sort of specially trained Drupal modules, this one being by Mike Miles, where you can ask it questions. So I went in and said, you know, create an up hook for me. The thing that I thought was really interesting here was that it actually asked kind of a clarifying question. It said, this is how I interpret what you're asking me. Does that align with with what you're expecting? And then once I validated that, it actually went through the process of generating code, it had an explanation of why it had done what it what why it had done what it did, and then also had some suggestions in terms of like how the overall module could be structured, structured, other classes I might implement, and so on. So, um, I think particularly in terms of easing the transition for people to, to maybe adopt Drupal and be able to understand how to implement certain things.
Having these kinds of tools available is going to be really super useful. So I did also include some resources here in terms of if you want to do some additional reading about some of these topics, so have some things in here around prompt engineering. The there's an excellent article in the bottom left. It's actually not an article. It's a there's a thread in Drupal.org, but that's a specific comment in there where somebody has gone through and done kind of a very in-depth summary of all of the different AI modules for Drupal and sort of, you know, what areas they. A cover and so on. Some things in here around vector search and some of the things we talked about before in terms of the job market impacts of AI. Some things around, um, image generation prompts and then also this one in here about that idea of being starting to chain together different large language models in more and more sophisticated ways. So to wrap things up, uh, hopefully the takeaway is that, you know, if we can all start to to use some of these AI tools, um, to, to be better at our jobs, then that should make this less worried about, you know, AI taking our jobs away.
Um, please provide your feedback. It's probably I'm not sure if the form is available yet, but at some point before you go, don't forget there is a contribution day on Friday, so hopefully we'll see you out. And with that, I will open up for any other questions. I don't know if you have the answer or anyone in the room has the answer, but if you start using some of these, like let's say you set up a site for a client and you're hooking them into the open AI API like you. Just thinking like, do I use my account? Do I have them set up an account? Is there? I mean, that's kind of a not a super sophisticated question, but it's something I immediately thought of, like. How you manage that. So the question was, if you're using one of these models on a client project, um, are there sensitivities around, um, where that data is going? Is that. Yeah. Or just, you know, who's, you know, whose account have a limit to how much you get to use your account for. Right. So you'd have to set up. You pay for one for your clients or anyone thought through that thought through yet.
Right. So um, the add on then being it's really more about like who's um, who's account that would be used for. I mean, my own perspective would be if you're doing customer work on behalf of like an agency or something like that, then, um. At a minimum, we should be able to expense that if you're using it for client work. Um, I would say there's probably a discussion that should happen, at least with your leadership, if not the customer, in terms of making sure that they're comfortable with you using those tools. Because, uh, probably not all will be. But, um, you know, I feel like some customers would be excited that, you know, they're they're going to be able to see their new website was partially built by AI. So, uh, probably case by case basis. I'll say one thing to consider when you have the paid API, it's a private model, not the public model if you're using the chat. So that is one thing to consider. Like when you're generating the content and refining it, that's not going and training like the general model that the chat GPT would be doing, but it will be like in your own sandbox.
So for the sake of the recording and to paraphrase and say, um, if you're using the private account on ChatGPT, it's that data is going into your private model as opposed to the publicly accessible one. Uh, I think that was okay. I know on some of the, uh, the image generation ones, like, they'll give you, like, four examples or whatever. Have you run across any of those image generation ones? Like, kind of like, you know, I like how you did the titles where. So the five you could pick. Are there any images generation ones you saw where it would give the client like four options to pick instead of just one? So the question was with image generation, um, what are some examples of models that will generate more than one option. So you can present that to the client as opposed to just giving them one. So actually the the one that we saw earlier, the OpenAI images, there actually is a tab where you can create variations. Um, Midjourney will also do that where when you create a prompt by default it'll give you four.
And then you have choices of you can pick one and say, you know, give me four variations of that one. You can say maybe upscale that one because I want a bigger version. So there's lots of different options. Stable diffusion. I haven't played around with that much. I have to think there's probably something similar, but I can't say for sure. At least one of those models. Can generate out different results depending on the options that you pass in. Like Midjourney for instance. If you pass in aspect ratios or resolutions, it will only generate one image. And I saw the configuration. Like some of those options got passed in, so it's possible it's only asking for one inch. So the clarification that was provided is that when you pass in certain information as part of your prompt, it may restrict the model from generating some of those variations for you. Uh.
>>:
You know, if there is any initiatives when you can like say I want on this page using for example, layout builder, uh, three columns layout and this type of blog there. And. ChatGPT will create the layout and you just feel that. I remember the trees was talking about that on in Toronto. Um, I know that Microsoft. Already did that feature in their stack. If there is any initiative or anybody works on that. So the question was, is there any existing AI integration that could build out layouts using something like Layout Builder? So I'm not aware of anything that's sort of as Drupal specific as Layout Builder. I recall hearing about a, um, a third party service that sort of built out layouts, kind of more for like scaffolding websites, um, that had some AI capabilities. And there was actually at Evolve Drupal in Ottawa, a presentation about how one agency was basically generating demo websites by using ChatGPT to create the overall structure and then putting the result of that into that tool that would sort of create AI based layouts with content.
And that way it can be very sort of customer specific. So, um, nothing Drupal specific that I'm aware of at this point, but maybe somebody in the room will get inspired and build it for us. So.
>>:
Um, yes, you know, if there are any initiatives to have AI write Drupal documentation since we as a community are so bad at writing it. So the question is, uh, are there any initiatives to auto generate or not? Maybe auto generate, but have AI generate Drupal documentation since the community, um, doesn't seem to have a lot of enthusiasm for it? Um, I wish I did, but I feel like I mean, when you look at some of the ways in which things like the, um, the Drupal model that we saw, the Drupal droids, uh, can explain code. Um, maybe that's an avenue to explore for sure. Um. Reggie started a similar question. Could you suggest a prompt to read the comments on the Drupal.org issue and suggest updates that should be made to the summary? So the question was, um, is there a prompt that we could use to effectively automate the work of updating an issue? Summary. When a thread has several hundred comments, as we've all seen multiple times. Um, I don't know of that prompt, but it would be an interesting exercise.
And, um, it's entirely possible that that would be a much easier way to do it. Although, that being said, I also feel like having that type of issue is, is a way for people to get their feet wet with contribution is probably not a terrible thing either. So, uh, yes.
>>:
I wanted to comment on this question. I'm sure the ChatGPT can generate you the summary, but somebody needs to make a decision on this long list. Somebody needs to say decision. Is that out of the summary? This what goes and if ChatGPT is making. This decision or Drupal person is making this decision. How to update. So the the comment on the previous question is that, um, oftentimes the process of updating the issue summary, um, is actually also a process of deciding on, you know, which of the potential routes that have been discussed should really be reflected in the ultimate issue summary, and that giving AI the power to make those decisions is potentially a fraught path. Let's say. Uh, did you make a prompt that could summarize questions and comments.
>>:
That happen often? Talk. We need a better microphone. Um. You're not going to repeat. I was waiting. To see if I would do it. Right. What's your current understanding on the legalities of all this? When all this I and all that first came out, I read a bunch of articles that said if you generate it, it's yours. You quote unquote own it. And now I'm reading articles that say just because you generated doesn't mean you own it. So what are the what's your understanding there? So the question was, what are the legal implications of using AI generated content? Because initially and in particular, a lot of the image services that you can use will say that as long as you're using a paid plan that you sort of own copyright, but it's legally more murky because a lot of them have ingested so much content, not all of which has been released to the public domain. Um, yeah, I would say, you know, if you're like, you know, Nestle and you're doing an advertising campaign, we've already seen examples of where companies get in hot water by using AI generated imagery.
Um, at the end of the day, if you have the resources to, you know, pay photographers or illustrators or, you know, those good things, I feel like, you know, maybe it's just a good idea to sort of like, add to, uh, the support of those creative individuals anyway. But, um, you know, that's. Just want to add on to that the United States Copyright Office. Last I read, does not recognize copyright for AI generated content. Because it is not created by a human, it is not able to be copy written. So the image, you know, the zebras and the sombreros could be used on the site, but they are not. You can't own a copyright on it because it is dynamically. But you can't have. What's the what's the infamous, uh. The monkey? The monkey? Monkey took the picture well enough to get a copyright on it. No, no, I was talking about what's the infamous, uh, like, photo agency that, you know, they're infamous for going out. They find something on the web, they claim it as the real, and then they sue the original person, like.
Getty Images Getty Images Yeah. They're bastards. Yeah. All right. Before we go any further, I feel like I'm way behind on my, uh, recorded audio. So there was a clarification that US law doesn't recognize copyright on AI generated images. So if you were to use that on some kind of a campaign, then it's it's not you don't own it in the sense of it being restrictive. So um, and then there was a comment that Getty Images is very aggressive about going out and suing people. And so if somehow part of their image ends up in something you're using as part of one of your campaigns, there's potentially issues there. Uh, so I got one quick.
>>:
Question about, um, saying the use of AI generated information and like, what would you qualify as, like best practice if, say, you're getting information for like, we'll just stick with like the image generation. Um, and then you give it to a client and then they use it a little bit more beyond what your, uh, what your like. The target work that you were supposed to do, um, was used like, do you have or do you have any recommendation of best practice to say, like this information was used or was created with? So the question was, if you provide a customer with AI generated imagery and they decide to go ahead and use that imagery beyond the intended use, um, is there a process to follow? It sounds like, or maybe some recourse in terms of of them using that. It sounds like once you you generate that using AI, they there's no recourse for them to use it beyond the intended use. So as long as it's sufficient resolution, they can use it. But anyone else can use it too. So, you know, you definitely want to make sure that they're aware of that, because if they, you know, put up posters all over town and people take the same image and do you know, a bunch of unsavory things with that same image, they may not be happy.
So. This maybe should be the last one. Are we at time or. Okay, so one thing. I've heard a bit about in prompt engineering is retrieval. Augmented generation, where you're feeding information along with your prompts is going to get more domain specific knowledge. Put in any of the tools you shared. Do they employ that whether it's something as simple as shipping taxonomy term's from a vocabulary or shipping other articles. Accounts. So the question was relating to the practice and prompt engineering of providing sort of additional information to provide a better context for the model to provide results. Do any of the tools that we've seen allow for that? So I would certainly say if you think about something like the augmented eye, where you define that and you can add different things to the prompt, you certainly have the opportunity to do that. It's just it would be fairly, you know, narrow. It might even be bordering on single use. But but maybe if there's let's say you're working on I don't want to say law blog, but just as an example, something that's very topic specific, you could provide context so that, you know, people creating content that relates to that topic would at least have some level of additional information that that might help to create better responses.
Right. I think that's time. Thanks, everyone.