Skip to content

Make ilab more of a model engine #815

@cdoern

Description

@cdoern

In containers, tools like podman and docker are container engines. The idea of a container engine involves bespoke management of container images and the ability to seamlessly deploy and monitor containers, pods, deployments etc.

If we are aiming for a tool like ilab and the models it creates to be the "golden standard" for open source AI, our tool needs to be all encompassing.

A first step in this is making a few more "secondary" level commands under ilab, these should be something like:

config
model
data
taxonomy

This means we will now have commands that have 2 nouns followed by a verb: ilab model list for example.

Here are a few examples of commands that would exist in this new structure:

ilab config edit: edit ilab's configuration initialized when ilab first runs.
ilab model list: lists all models on the system, defaulting to models/
ilab model push: push model to a qualified registry.
ilab model top: gives memory usage information about a chat session, this could be applicable to server as well.

this organization of sub-commands under ilab will naturally uncover new ideas, commands, and use cases for ilab and hopefully incite a lot of community pull requests!

Here is the full structure of what I am proposing:

ilab
|
|_______model
|       |
|       |____quantize *
|       |____convert
|       |____download
|       |____train (--convert)
|       |____top *
|       |____serve   (-i)
|       |____chat
|       |____inference
|       |____push *
|       |____rm *
|       |____ls *
|       |____tag *
|       |
|_______data
|       |____generate
|       |____mix *
|       |
|_______config
|       |
|       |____create *
|       |____edit *
|       |____rm *
|       |
|_______tax
|       |
|       |____diff
|       |____check
|       |____download

where the starred commands are new. This issue is to track the initial conversion of the current structure to the new structure with the existing commands.

Metadata

Metadata

Assignees

Labels

UXAffects the User ExperienceenhancementNew feature or request

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions