 Hvala, vse. Moje kratilje. Zdaj sem vzaj, da se začem z AI-časke dative in zvukovati, da se dažem, da se načinim, da se načinim, da se začem. Časke, da so vse so izgledati, da se začem. In zazaj, da se začem. Zazaj, da se začem in dačem, da se začem. Prometo so bodo. Ja bo začem, da se začem vzaj. in tukaj o dve obježenje. Jedno je generacija. To je imeč, ki je generacija v meženju, izgledaj na moje imeče. Zvukovane imeče. Zvukovana generacija. Zvukovana imeča kodin in ui, problem in zvukovana, in zvukovana, kako je dobro. Zvukovana imeča. Prvo, me. Zvukovana imeča z Izrael, vse zestaj vseh je, ko se je, tako, z jazem, naredo v svojih podjev, da je, je hradnja company, ki je vseh, zelo začel na vseh projekte in universiti, na koddiči, vseh, na vseh, začel na vseh, na vseh, na vseh, na vseh, na vseh, na vseh, na vseh, na vseh, na vseh, in da se močmouthel napraviti database, In v elefi, ki se seatuje, je vsi vsožitepo bil bo nečo veliko toča tudi, da je danes človek na vseloke, ker je za to, da je bil počerit, auto upustite vsi dijede ko je počeriti. Vse ne musel biti skujišam, nekem, daoma bom pozviti država v GitHub a pa zajte na malo, ... početit ili mudele database, ... pedestrianr. Zagroje, pa je dama 4 ključiči, da je značen, značen tudi, značen AI tudi, zači vršanje glas in doma komputer in tudi zači vršanje glas in vzelo. V this cases we will use AI images, AI resources in in our course, we will do it through repositories, that is an easy way to do it directly for model In bilo. We will create and generate questions for quizzes for having much more quizzes. Much more questions in quizzes in this way we can have random questions. You can give every student different questions and have better questions and better quizzes. So, let's start first on image generation. So basically, everyone can generate the image using AI. Mocno je frej. Mocno je pretjelo. Ale da je več težko dobaro, ki imamo ta ekzemplar, da znašelem Dali, da generuje PingWin, da je vse namaz Freddie in neč vezanjo načine. Proste se vse in neče nekaj z Global in ne zelo, zelo. Zelo se prišel način, daži način pri taj prisj, da nekaj neče zatvorila, bude mi svičite stranje nekaj delt oči, da všeč je izgledat. To je zelo komplikatno. Česka je začala in izgleda. Vsih servicjeri je začala in začala in začala in začala in začala in začala in začala in začala. Zato sem bilo informacije, ki se zelo si. Ne znam, Česka zelo se informacije, zelo možne zelo se načinje. To je nisem, ki se začala in izgleda, parte neね. To je začala in začala in začala in začala in začala in začala in začala. nelygajulta hrojnja, če v webu postojarit, nek irritu, kako se na nekaj mene od tomato, poseznaje v se drugih in što je neki, svoj se potrebno vsi však. Tristaj tako, da bi se naprejdu, da so nekaj nekaj neko, da bejdaš na svarcovicu, je zelo to, da bi se pod professionally, ... and you just click on it, and you get it directly in your course. It needs OpenAI, API Registration and billing. I mean you have to put some credit card or some way of paying them. And as you know, the file picker exists almost everywhere in model, in files, in areas, in course image, in tiles and everything. I will just show later some options. Spolajte občanje, da vereme postavljenje in setih, ker pa je počriti občanje, ali v formallyni tabra ne se više odvijate, ker zdajte,在 pri file peakiru vse najšelj nje bi bil više kored. Se spotakje se, za to, da je je občas na zvorme aračne glasbo in ne može potreba odpojava, zelo se forbislee, v hovoštivu zabijuje občanje, je to občas na zorme aračne glasbo, je je je ne moročen. Vse da bi se naprejče občas, je imek je s stayedv, veliko je ne jenovno vjeli, in hvalitva, zelo je zelo počkaj. In maybe take more time to generate. So you can just play with it. And of course you have to give the key for an open AI. And you can also choose how many images would be generated on each prompt. I mean you give a prompt and it creates two images. The default is four, that is a nice number in those of the defaults of open AI. But if you like to have more or less for paying more, paying less, or having more options, the options is open and you can do it. And what is nice when you put plugins on Moodle plugin database that you get statistics, you can know that 93 sites already use it and it's growing nicely. And I believe that after this presentation it will have a very high growing. And you can also know which versions of Moodle use it. The repository didn't really change between 3.x and 4.y. So it works on Moodle 3 version and 4 version. And you can see that it's widely used on a lot of versions of Moodle. Of course more on 4 than 3 that is less and less used. But it's used on a lot of versions. And that's very happy to see that people are using the plugins. And here are some usage examples. As you can see on course images, you can just choose and generate the course images or if you use one of the course formats that use images like tiles or grid, then you can use it for generating the images. So that's some simple examples that I made for showing. Now let's talk about question generation. Question generation is very interesting. Basically I'm working on generating multiple choice questions that are the most used questions as far as I know. And it's also for teachers that don't want to check their quizzes. It's very easy. The computer checks the quiz for itself and if it makes nice quizzes. So let's have some words about ChargedGPT. I hope everyone know it. I'm not going to read all the Wikipedia definitions of ChargedGPT. But basically it's a conversation between the user and the computer. You just ask him to do stuff and it writes back what he does. And there is also other language model, but we will focus on ChargedGPT that is on OpenAI. And the idea is to ask ChargedGPT to generate questions but in a possible format. I mean in formats that Moodle can parse and create automatically questions inside the question bank of the course. So basically you can use it. And here is an example how to use this logic and I have to thanks Ruthi Salomon that helped me to get the idea of doing this. And you can just use the web interface of ChargedGPT and to ask him to generate it. Now there is already maybe there could be better prompt to generate better questions, but that's a prompt that I play with it and it works. And the idea is ask ChargedGPT to create questions in gift format. I don't know if you know gift format. Gift format is one of the formats that Moodle uses for questions. It's a very simple and clean format. Much shorter than XML or other ones, so it's very useful. And you can see here on the right how it looks. The questions start with columns, then brace the brackets, then equal for the right answer and tilde for the wrong answers. And I'm just asking ChargedGPT create me a question. I'm explaining him how is gift format, what is the format of gift format. And I'm giving it here just an example of Barcelona from Wikipedia. I just took it where, copy and paste from there. And it gave me questions. It doesn't work always on the first time. And sometimes it takes more than once to generate a possible and clean gift output. And I will talk about it later because my plugin do it automatically and automatically check if the gift is accurate or not accurate and if it will work or not. But the idea is you can just do it without my plugin, without paying anything to OpenAI API. You just use the web interface of ChargedGPT. And you get the nice prompt. And if you have other ideas for better prompt, I will be happy to hear. And you get this answer. When you get this answer of the questions that it generates, here I ask for getting four multiple choice questions. You can just use your favorite editor to save it in a file. And then you can just upload it into model. You save it to a file. Assuming it's a gift well-formatted format, a well-formatted one. And then you can just use the import questions from file. You choose the gift one. You drag and drop the file. Next, next, next. And you have questions in your question bank. That's free and easy way. Not easy way. It's a free way. It's a nice way. The interesting way is AI text to question generator. That's the plugin. And the plugins simply do exactly the same, but inside model you do not have to exit model in any case. You just go from the course menu. So it's an option called AI questions. You choose it. Then you get to this page. I will have another slide. Here you have an option to use also resources from course. Not implemented yet. It's planned for the new version. I mean, you don't even have to copy and paste your resources. It just read your resources from the course and generate question based on the resources that you have on the course. Not working yet. One time, one day it will work. And you can also define how many questions you want. Technically it's a local plugin. And you can just use it and call it from the course menu at the top of the course. And it looks like that. You type here on the left the text you want and the number of questions you want to generate. And then it starts to work. Now as I told you before, it's not always working on the first time. I mean, it's always not working on the first time. But sometimes it does work on the first time. And it just goes. So I will explain later what was the problem that we had. But it's just trying and trying and trying until it gets the questions. And it works. It gets the question and it's working. What are the settings of this plugin? Here you can understand all the features. So first of all, you need an API key. As I told before, you have to pay and get a building agreement with OpenAI. And there is also an option here called OpenAI endpoint. Interesting option. If you have your private OpenAI instance on Azure, sometimes you have problems with privacy. You don't want your data spedding out. So you can have your private endpoint on Azure of OpenAI. Then you define your private endpoint and you can use it. And there is the number of tries. If you don't want that OpenAI will try and retry and retry, every try costs money. You define here, I just found that 10 is nice. Is almost every time working. But it could be that in other languages, other than English, you will need to have more tries. And you can here also choose the language. Basically it could work in any language that would support. I think it's something like 100, 70 languages, something like that. But I can't assure that OpenAI would generate questions in every language. I can tell you, I use it in English. It works very well. In French, not bad. In Hebrew it works not really good. This is not enough Hebrew in the language models. And also probably in other languages that have less information on the web. But you can choose. And it will write the prompt to OpenAI to generate questions in this language. If it will work or not, we will see. And again, on this plugin, it's there for a few months. And you can see it's in use. This plugin works only on a model 4.x, 4.1, 1.2, 4.3 and hopefully other versions, future version. And you can see it's in use. People are using it and it's working well and nicely. Now some thoughts about the coding I would like to share with you. During the development, we had a problem that asking chargeGPT to generate could take time. You send a question to chargeGPT and you are waiting for an answer. So if it works on the first try, it's great. But most of the time, it doesn't work on the first try. And then you wait and wait and wait. And it depends on your server definition. It can get to timeouts. So we did something technical for getting it to work well. We created an ad hoc task. An ad hoc task is a task that is running on server side. And then when you just ask to create a question, there is a task that will run in a few seconds or less on your server. And then the web page just check on the server are my questions ready or not. And that's why you have these round things and the bar. It just check every 20 seconds the state of the task. And it telling you how many times it already asks chargeGPT to generate it. So you can see, okay, it's already asked four times or three times or seven times. And you can know how much tries were there for getting your questions. Some conclusion and thoughts about the plugins. First of all about chargeGPT. So here is this two plugins that I showed. We use OpenAI tools that have a good API and works well. We use the chargeGPT turbo model. The chargeGPT is 3.52 model. It's a fast and cheap model. And that's very important because if you want to give it to all your teachers, you don't want to get a bill that you are not a well fit. We can use maybe later GPT-4 that should be much better even in other languages. I know that in Hebrew GPT-4 is much, much better. But it could cost more time, more money and maybe it could take also more time. So it's interesting to check. But I'm really right now focused on using GPT-3.5 and maybe making it better. As I showed you before course content inclusion is still in development. I would like the teachers to use it in an easy way. Just copy the course content and directly send it to the plugin. We are thinking about letting the user to change the prompt. Meaning I made a prompt. Maybe you can have a better one. Maybe you can have a better one. And even if I can collect the statistics and get how many times it sends the request to open AI and get the question generated maybe I can improve the prompt that is inside the plugin. So we can make the prompt inside the plugin settings and let the user generate and define his own prompt. Currently you just ask for questions and you get the question. Sometimes when you get real quiz you would like to have questions in multiple levels. Hard questions, easy questions and things like that. So it's an option to have also this ability to define which kind of question which level of question you want and then you can have better question bank and with this you can have better quizzes. Right now when you ask to create a question you don't have the ability to check and to see and to decide if you want it to be on the question bank or not. You don't have to use it on quizzes. On your quizzes you can choose what question you want to use and what not. But it's directly make everything in your question bank and sometimes the question bank become dirty and big. So we are thinking about an option of to add to the question bank and just add them after that. And as I said before we would like also to use other AI engines like Google Bards, Stable Diffusion. Stable Diffusion is interesting because it's something that you can run on your own GPUs on your own hardware. So if you don't want to be to be on someone else and to have billing to someone else it could be interesting even so cost money, GPUs are not free and finally everything cost money. That's it. I'm just sharing you also other plugins that my plugins that are on model database. This QR just go to model database my plugins you can see all these plugins that I talk now and also other plugins I will be happy if everyone will use it if everyone will share ideas thoughts and everything for making it better and useful whatever. That's it. Anyone have some questions I think? There would be. Hi, really great plugin and I was just wondering if I understood correctly you showed that you copy pasted the Wikipedia article for Athelona to generate the questions. Is there a character limit? Yeah, there is a character limit. There is a limit of tokens on chat GPT 3.5 If I remember well it's about 4,000 tokens. Now tokens are not words, it depend on root language but it's based on on chat GPT limits. So there is a limit of 4,000 tokens. If you work in English for about 4,000 words and in other languages it will be less. Ok, words not characters so that's right. Yes. Ok, that's a great idea of generating content. I don't remember what I asked. Did you consider? Yeah, it's a random question. Did you consider creating the entire course out of a prompt? Or maybe just a module? Ok, so I didn't concentrate yet but it's a great idea to have the world course created, the world content created right now focused on the questions and the images. But for the future it's a great idea. If we'll have more time maybe I'll do some demo and just have the demo of what I showed. Yeah. Not yet. Thank you very much, that was brilliant. So I have a question about the question generation. I was looking at your plugin last week actually. It was looking very interesting. We have less of a problem on automating our questions in so much as trying to automate or at least get good feedback into the question from our teams. So are you just generating the prompt and the options or is that including sort of hint text for multiple tries, that sort of thing? Currently currently I just developed the basic of the multi-choice question. These are questions and for answers. One is correct and three are not correct. But it could be easy to have more data. I mean we can define how many correct and how many non-correct. We can do true false questions for the feedback and we can also ask chatGPT to give us a feedback. That's not too complicated. I'm not sure, I have to check how it's going inside the gift format but assuming that it exists in the gift format so we can just ask it and play with it. It's a problem when we complicate it that there is less chance that it will work. So it's a play between complexity and simplicity and it's interesting to test, not tested yet. Thank you. Thank you for your presentation. It's actually very useful for what we do. We create courses for in the public domain but my question is regards the image generator. Currently we pay for picture bank and very often we don't really find pictures actually we want. So generating picture is very useful. But my concern is how can we be sure that it's not subject to copyrights. In other words the image is not so we don't want to run into problems in other words the image is actually generated and it's not copied from someone else and then might run into issues of copyright. So that's a good question and it's a lower question, not technical question so it's hard me to answer and as far as I know I don't know exactly what are the copyrights of OpenAI and the dali image generation that I use in this plugin. So that's a question I don't want to answer that kind of question that I'm not aware. Now I have another plugin that's called Pixabay repository that use free full free images in the same way of repository. This way is proof full free. So it could be also an option, it has very nice pictures. Just an idea, sorry if I'm here on providing open feedback. So for example you can get the student to give like a written essay for example and then judge it is not too bad in giving feedback on the style and the content as well. So you could then feedback into Moodle like some subjective feedback so that can also come. So just an idea for having an open ended plugin beyond the multiple choice as well. That's a great idea. I already play with it a little bit and it's working very well with ChargeGPT to give great and even details about the grade. It could be for the next projects. Thanks for a great talk and really great work with the plugins and regarding gift format and feedback. Hacked on plugin on Monday in the dev jam and we made a version of the prompt so that the resulting questions have feedback for false and correct answers as well. So if you will accept our pull request it will be a feature soon in the plugin. So that's great to work with github and pull request. I like it and everyone is really encouraged to use it and I will be happy to have more features and to develop together such idea of open source and it is working. You can hear even once the questions are created you can edit them and add whatever you want but it's a lot of work later. Of course everything that is created at the beginning is great.