govCMS / GovCMS

Current Drupal release of the main GovCMS distribution, with releases mirrored at https://www.drupal.org/project/govcms
GNU General Public License v2.0
147 stars 41 forks source link

Add Drupal Augmentor (plugin manager) and the plugin itself, Drupal Augmentor chatGPT modules to GovCMS #1085

Open Kfoot opened 6 months ago

Kfoot commented 6 months ago

Our customer is planning on enhancing its ability to generate training material with the help of Generative AI. It wants to train ChatGPT with public domain documentation so that personnel can request information to add to training packages. This capability will speed up the time required to create this information by 95%, which will ultimately help improve training delivery and make the army more agile in preparing for conflict.

The problem

As a Site Administrator, I want to enable the OpenAI ChatGPT Augmentor module, so I can support my website's audience with generative AI capabilities. This can be used to support the editor interface on the NODE Edit screen or potentially to act as an endpoint in decoupled client side apps.

The client this will benefit is the Department of Defense, Australian Army. They desire a progressively decoupled app that will be able to make use of a ChatGPT Augmentor endpoint to provide content summaries to users based on how they have interacted with the application.

The site in question: [https://date.army.gov.au/]

The unit in charge of this site is called TASCC. The Training Adversary System Support Centre (TASSC) was set up in 2019 as a sub-unit of the Australian Army Training and Doctrine Command in order to support the development and delivery of the Decisive Action Training Environment, and related training products and services.

** Is the module Drupal 10 compatible? Yes, see https://www.drupal.org/project/augmentor https://www.drupal.org/project/augmentor_chatgpt

** Please provide a brief outline of what this module does. Augmentor provides a plugable ecosystem for managing a variety of AI services such as GPT3, ChatGPT, NLP Cloud, Google Cloud Vision and many more. The ChatGPT Augmentor is a submodule of Augmentor. It allows Augmentor to interface with the ChatGPT API

** Who does this module benefit: X end users [ ] content editors [ ] site builders [ ] themers [ ] developers

Augmentor: The module is a plugin manager and is therefore a foundational component. Augmentor ChatGPT: Army personnel will access the site as unauthenticated users, as they prepare training material. Future plans will open this capability to personnel in the field so they can be more agile in responding to a changing landscape. More generally, the module could benefit sites that have the need for summarisation and generation of content.

** How could you provide/replicate the functionality of this module using alternative methods, eg in your theme? This cannot be done through the theme layer. The main reason is that the module needs to use a private API to communicate with OpenAI. It is not desireable to expose these credentials to the public.

** If this module styles or alters HTML or JavaScript output, can the functionality be provided via the theme? What alternatives have you considered.

** What is the maintenance and support status of the module. Describe the issue queue activity. These modules is actively supported and maintained by Morpht. https://www.drupal.org/project/augmentor https://www.drupal.org/project/augmentor_chatgpt

** What permissions are needed to utilise the module (and are any new permissions provided by the module)? The module introduces a new permission as to who can access the endpoint. Generally speaking, this would be set to logged-in users. However, in the case of a client-side application, the endpoint would be available to anonymous users.

Does the module modify the database structure and/or store additional metadata on nodes or other entities? If so, why? What are the risks for future updates? NO Is the module designed to capture anonymous user data? No ** Is the output of the module typically fully cacheable? Would the inclusion of this module potentially render pages uncacheable. The module has no output as such. It is mainly used to augment content in the Node Edit screen. When the Augmentor endpoint is accessed a POST request is sent to OpenAI and then this is returned to the user. This payload will not be cached as the response from OpenAI will be different depending on the prompt and input.

** What is your assessment of the quality of this module, the contribution history of the module's maintainers, and the uptake of the module within the Drupal community? The module is stable, has security coverage and is being used by the community.

** Additional information This is the plugin manager ; it is to be used in conjunction with the plugin iteserlfhttps://www.drupal.org/project/augmentor_chatgpt Submitted by Murray Woodman at Morpht

thisisalistairsaccount commented 5 months ago

It's important to note that these may not see progress at the current stage noting the information published and how these AI modules could be included and appropriate use is met for a government focused product:

As always, we're keen to see interest from the community if these fill a need :)