AI Formats#
AI models can be stored in various formats. Konfuzio Server can store AIs as Python Objects and as Containers. We recommend to use Containerized AIs. Python Objects is the legacy option and not recommend to use anymore.
Containerized AIs#
Containerized AIs represent a modern approach to handling and deploying AI models, especially in scalable and distributed environments. By utilizing containerization, AI models are encapsulated along with their dependencies, making it easier to deploy, manage, and scale them effectively.
Isolation: AI models are run in separate containers, ensuring that they do not interfere with each other or with the Konfuzio environment.
Scalability: Containers can be easily scaled up or down, depending on the load.
Portability: Containers bundle their dependencies and their original project metadata, ensuring that they can be moved across environments without issues.
Consistency: The AI model is run in the same environment it was trained in, ensuring that the results are consistent.
Security: Containers can be run in a secure environment, with access controls and other security measures in place.
Resource management: Containers can be run with resource limits, ensuring that they do not consume too many resources.
To learn more about Containerized AI, visit out Blog
For instructions on setting up Containerized AIs for self-hosted Konfuzio Server click here
Python Object#
In addition to containerized AI models, Konfuzio Server allows the use of Python pickle-based models. While it is a simpler method for managing model states, this approach has some drawbacks and is mainly recommended for testing purposes.
Only for Testing: The “Python Object” format is primarily designed for testing environments. Although it is quick and familiar for Python developers, it’s not advisable for production scenarios due to its limited compatibility with future versions.
Incompatibility across Konfuzio Versions: Python objects serialized using the pickle format are not guaranteed to be compatible across different Konfuzio Server versions. This can make maintaining and updating models cumbersome when upgrading to newer versions of the Server.
Use in Kubernetes without Container Registry: Python object-based AI models can be useful, particularly in Kubernetes on-premise installations where a container registry is not available. Under such circumstances, pickled models can be easily stored and operated without the overhead of managing container images.
While it provides a quick-win solution for certain environments, relying on Python object storage severely limits portability, scalability, and security. It’s important to assess your deployment context before opting for this method.