RelationalAI / rai-sdk-javascript

The Relational Software Development Kit (SDK) for Javascript.
Apache License 2.0
6 stars 0 forks source link

Update `installModels` to go through the v2 API endpoints #38

Open NHDaly opened 2 years ago

NHDaly commented 2 years ago

https://github.com/RelationalAI/rai-sdk-javascript/blob/fdbf90dd33cd3de52f47aa1251d0c60b597e1551/src/api/model/modelApi.ts#L26-L41

It's currently using the v1 actions API. It should instead be issuing an exec() query that loads the models, similar to this implementation of load_json in the julia SDK: https://github.com/RelationalAI/rai-sdk-julia/blob/6c9ddf55fe791d82b15c8a9e9f80c0bcdec04064/src/api.jl#L650-L655

Ideally it should construct a query string + inputs, that would look something like either of these options:

query = `def insert:rel:catalog:model = model_insertions`;
inputs = {
    name: "model_insertions",
    value: models.map((m, index) => {
        [m.name, m.value],
    })
};

or like this (copied from the current Console code):

  models.forEach((m, index) => {
    const inputRelation = `__model_value__${index}__`;

    queryStrings.push(
      `def delete:rel:catalog:model["${m.name}"] = rel:catalog:model["${m.name}"]`,
      `def insert:rel:catalog:model["${m.name}"] = ${inputRelation}`,
    );
    queryInputs.push({
      name: inputRelation,
      value: m.value,
    });
  });

https://github.com/RelationalAI/rai-ux/blob/2ed5627959f793b19f5f968d8113509c8610e548/console/src/utils/sdkUtils.ts#L310-L330

NHDaly commented 2 years ago

@denisgursky I've assigned this one to you, and put it at medium priority. It would be great to have this converted so that we can see a dent in our v1 vs v2 numbers 😭

billscheidel-rai commented 1 year ago

Note: This issue has been migrated to https://relationalai.atlassian.net/browse/RAI-6246.

This link is only accessible to employees of RelationalAI.