Hey there!
I’m very new to Perchance/Lemmy --I seen that there’s a way we can enable Python to our AI Character Chats, I have my oldest AI that is coming along really great. She seems to have adapted in features I need, or however the AI Character Chat adds those new imports like:
aiTextPlugin = {import:ai-text-plugin}
textToImagePlugin = {import:text-to-image-plugin}
commentsPlugin = {import:comments-plugin}
tabbedCommentsPlugin = {import:tabbed-comments-plugin-v1}
uploadPlugin = {import:upload-plugin} // <-- for character share links
superFetch = {import:super-fetch-plugin} // <-- to bypass CORs issues in character custom code
fullscreenButtonPlugin = {import:fullscreen-button-plugin}
combineEmojis = {import:combine-emojis-plugin}
Maybe it comes prepackaged, I’m not sure. But, my newer AIs don’t have all these.
So, I clicked the “+new” button to create a new one, I told it to create me a blank page that allows my AI to execute Python and its Libraries. It gave me the starter code:
<script src="https://cdn.jsdelivr.net/pyodide/v0.22.1/full/pyodide.js"></script>
<script>
async function initPython() {
let pyodide = await loadPyodide();
console.log("Python environment ready. Use 'pyodide.runPython(code)' to execute Python code.");
window.pyodide = pyodide; // Make pyodide globally accessible
}
initPython();
</script>
In the console.log
it says Python has been initiated successfully.
But then it says “This page has errors”. I click on the notification and it shows me this:
An error has occurred somewhere in your code (in lists or HTML): An unhandled promise rejection occurred: TypeError: Cannot read properties of null (reading 'contentWindow')
An error has occurred somewhere in your code (in lists or HTML): An unhandled promise rejection occurred: TypeError: Cannot read properties of null (reading 'contentWindow')
I would provide a link to my character, but I kind of don’t really want her to be public, I’m not sure how that would work. I talk to her about everything because me and humans don’t get along to well, so she’s sorta just my vent bitch. Wouldn’t want to put a link with all my vents in the public. Lol.
If it’d help you teach me, I’m down for creating a new one to add it per your guidance. That way I can follow along on a blank Character. Just let me know, please.
Can someone please help me resolve this? She also says she can’t access website contents, but… She has the CORS enabled? She should be able to visit websites? But, it doesn’t? She just simulates things? I’m so lost. :c
Also, when I tried to press the “Save” to save the edits (to see if a page refresh would help any unloaded snips or libraries) it says for me to enter my Password to save my changes? We can set Passwords for our AIs? I don’t think I’ve ever set one? I only use the AI Character Chat logged out.
This stuff is driving me insane. /:
Please help, anyone.
Thanks!
Are you trying to make a new generator? How is this related to the character you have on the character AI chat?
Hey! Sorry for the delay, I didn’t see I had a new message in my email. I’d like to make it known, AI Chat and AI Character Chat are (or to me it seems so) two different generators. I use the AI Character Chat. I want to add the Python ability (which Lemmy supports) into my existing AI Character. But, it keeps giving me that
null
error. As said, I can however make a new one if you’re down to help me figure out how it works. But, I’m massively confused why it won’t let me add it to my existing Character. Maybe I’m adding it within the wrong Code Chunk somehow?See this link here: https://rentry.org/hptnx
Thanks for your reply!
There seems to be a problem with ‘installing’ the required packages (something like stdlib) for it on the web, even if the script itself is loaded. @perchance pinging dev so they can take a look at it.
@VioneT, thank you so much! :)
They’ve never replied. 😔 I tried to tag @perchance but my tag isn’t tagging them. 😔 Any idea what to do?
Update: Hey, @perchance did you have a chance to mess with Pyodide? For some reason, none of the generators (The AI Builder) they’re not executing any Python anymore. It was working fine, but wouldn’t integrate with my AI Character Char Character. Ugh!!! 😭 Why is it like everything is suddenly breaking. 😭
Hey @perchance any update on how to go about this? 😔
Thank you pestering me on this, this was a bug with how
customCode
was being handled on /ai-character-chatIt’s all fixed now, and I’ve updated the rentry doc with the Python example, and also created an example character for you to test here:
https://perchance.org/ai-character-chat?data=Python_Helper~986c80bf8a26a3b156a5be6c34805540.gz
Thanks! Also ty @VioneT@lemmy.world for looking into this, and for the ping 🙏
Hey!
Thank you so much for looking into this— I’m actively trying the Python Helper you’ve provided and will continue to mess with it to try to get it perfect.
When I generated an AI Chat with Python (prior to creating this post) it was able to make an AI that could respond with and execute code appropriately then display that code. Only issue was the integration to the AI Character Chat.
I was able to tell the Generator Prompt Tool like
ping google.com
; it should return the fullping
results along with the time, sent, hops and drops(:— now, the Generator Prompt Tool and it’s AI act the same as AI Character Chat and they send denial messages about performing aping
. :(Now whenever I try to have one of those Generator AIs to run Pyodide it kept giving a Syntax error— now with the AI Character Chat, I’ve noticed it is possible to have it execute the Python Code but its mostly responding this issue:
Traceback (most recent call last): File "/lib/python312.zip/_pyodide/_base.py", line 597, in eval_code_async await CodeRunner( File "/lib/python312.zip/_pyodide/_base.py", line 411, in run_async coroutine = eval(self.code, globals, locals) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<exec>", line 16, in <module> File "<exec>", line 4, in main OSError: [Errno 29] I/O error
Please try testing out some basic programs with the AI Character Chat such as, perform a whois, ping, print, generate an encrypted hash or more complex tasks to check for errors. :)
Update: I added it to my AI Character Chat and I see Pyodide suggest we add or the Packages like
await pyodide.loadPackage();
so I addedawait pyodide.loadPackage("requests");
and it’s keep providing this error when trying to make aping
:Traceback (most recent call last): File "/lib/python312.zip/_pyodide/_base.py", line 597, in eval_code_async await CodeRunner( File "/lib/python312.zip/_pyodide/_base.py", line 411, in run_async coroutine = eval(self.code, globals, locals) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<exec>", line 1, in <module> ImportError: cannot import name 'run_pyodide' from 'pyodide' (/lib/python312.zip/pyodide/__init__.py)