I had a pleasant email this morning from a user who has installed the AI Powered Chatbot for WordPress plugin. I’ve had several other email exchanges with them about how the chatbot might function. And those conversations have guided my development in a couple of different areas.
The email from this morning was about file uploading – a feature that was just released earlier in the week with version 1.7.9 of the plugin. In this version of the plugin, I programmed file upload to Assistant on the OpenAI platform. I added an option to allow file uploads which would then include a paperclip icon in the user interface.
Their email included a short video showing the user interface alongside the OpenAI assistant. I could see in the video the message “File uploaded”. So, while they didn’t think that it worked, it worked as designed. In the early days of my software development career we called those WADs.
Let me explain how file upload has been implemented in the current version of the plugin.
When you click on the paperclip icon to initiate file upload, the software will first move the file to the server where WordPress is installed and then move the file from there up to the OpenAI platform. There’s probably a way to do it one step, but as implemented it two steps. After uploading to the OpenAI platform, the file is then deleted on the local server. And, finally, after the file is incorporated into the conversational thread, the file is deleted from the OpenAI platform. This keeps things tidy, leaving very little to cleanup unless the process abended.
Once the file is uploaded to the OpenAI platform, the assistant incorporates the uploaded file into the conversation with the user. They can ask questions about the contents of the file, use Code interpreter or Functions with the file and its contents.
As you can see in the illustration below, I highlighted several different areas.
The one on the left (marked “A”) is where the author of the assistant has uploaded files. In this example, I have uploaded the OpenAI API documentation in PDF form as specialized knowledge that the assistant can use to answer my questions about how the API works.
The one in the “Enter your message …” (marked “B”) is where the user can upload files. In this case attached a file called “Upload test.txt” and asked a question “In this file I’ve includes some code, is it correct?”
And, after the user has input a file, it finds its way into the conversation (marked “C”). In this case, I’ve illustrated that I’ve uploaded a file call “Upload test.txt” which has some code that I needed help with and thought the assistant would be able to aid in solving.
So, behind the scenes the assistant has some specialized knowledge that I had previously uploaded in the form of PDF, then I can asked question about the API, upload files, and returns answers, insights and recommendations.
When thinking about the use case this user had in mind, they want to be able to add knowledge to the assistant. They want to let the user upload a file, which the assistant then could use in answering future questions.
While I didn’t program the assistant for this use case, I think it will be relatively easy to adapt the implementation and allow for this alternative use of uploaded files. The functionality of the file upload today mirrors the current UI between user and assistant.
There are risks associated with retaining files as part of the assistant when uploaded by users. Consider if you will that someone might create a file that injected code into the assistant causing nefarious and unexpected outcomes. That’s a big risk in the chatbot plugin is deployed in an unrestricted environment. Not to mention that any information added to the assistant by a user becomes available to another user of the same assistant.
But, back to their implementation, I like the idea of allowing users to upload files and retrieve them as part of their conversation with the assistant. Since their implementation will be to create a tailor assistant that has a one-to-one relationship with the user.
All risks aside, this is doable. It will take some extra programming, but I think I can offer this as an option.
They also suggest adding a parameter to the shortcode enabling/disability file uploads for that specific instance of an assistant. This is also easily done. In addition to a global setting that allows upload, I’ll add an override to the shortcode so that when an assistant is called, you’ll be able to allow or disallow file uploads.
So, I’ll queue these up for the next release. These enhancements will provide a more tailored and interactive experience for users engaging with the assistant. As always, I want to thank users who share their valuable feedback, as it help me continually improve the AI Powered Chatbot for WordPress plugin and provide a better experience for the installed base.
#ChatGPTPlugin #ChatbotInnovation #WordPressAI
About the Author
Stephen Howell is a multifaceted expert with a wealth of experience in technology, business management, and development. He is the innovative mind behind the cutting-edge AI powered Kognetiks Chatbot for WordPress plugin. Utilizing the robust capabilities of OpenAI's API, this conversational chatbot can dramatically enhance your website's user engagement. Visit Kognetiks Chatbot for WordPress to explore how to elevate your visitors' experience, and stay connected with his latest advancements and offerings in the WordPress community.