Artificial Intelligence is a very broad term. Anything that in any way resembles human intellect falls into that category, so basically any automation does as well. However, you probably mean some deep learning algorithms, and the question could be generalized to using in geonodes any kind of an external program or library.
Geometry Nodes is a system programmed in C and compiled as part of Blender, that allows you to design a logical structure in a visual way - nodes - and also is able to traverse that node tree and based on that structure call particular functions passing the values from one function to another in the way described by the links between the nodes.
So if you want to use an algorithm that is not already programmed as a part of geonodes source (may be a part of Blender still, or may be an external program), you need to figure out an interface to communicate with it. Other than modifying the Blender source and adding your own "hook" by creating a custom node that then communicates with an external library, you can use a Python script.
You can, before or after the evaluation of a Geometry Nodes modifier, run a Python script. You can pip install any module, as well as you can use C bindings to run any external library. It may be connected to geonodes as a driver that controls a simple value (e.g. you can have a library that recognizes if an object resembles a dog and just drives a boolean value), or you can before/after the evaluation of the geonodes create some more complex data structure, that the goemetry nodes understands and can communicate with - for example by modifying a mesh of an object the geonodes setup reads from, kind of like I do in this answer. Keep in mind the value will be shared for all instances of the node tree, it will be evaluated once per tree per frame (not per modifier per frame).
Of course Python can also read the current object's state by accessing its evaluated state using evaluated_get() on the object.