Skip to content

Commit

Permalink
Merge branch 'main' into renovate/c8-8.x
Browse files Browse the repository at this point in the history
  • Loading branch information
pattishin committed Jun 22, 2023
2 parents 7a58084 + 62b70e8 commit 5dd981f
Show file tree
Hide file tree
Showing 3 changed files with 106 additions and 1 deletion.
58 changes: 58 additions & 0 deletions ai-platform/snippets/list-tuned-models.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
/*
* Copyright 2023 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
'use strict';

async function main(project, location, model = 'text-bison-001') {
// [START aiplatform_list_tuned_models]
/**
* TODO(developer): Uncomment these variables before running the sample.\
* (Not necessary if passing values as arguments)
*/
// const project = 'YOUR_PROJECT_ID';
// const location = 'YOUR_PROJECT_LOCATION';
// const model = 'text-bison@001';
const aiplatform = require('@google-cloud/aiplatform');

const {ModelServiceClient} = aiplatform.v1;
const clientOptions = {
apiEndpoint: 'us-central1-aiplatform.googleapis.com',
};

// Instantiate the service client.
const modelServiceClient = new ModelServiceClient(clientOptions);

async function listTunedModels() {
// Configure the parent resource
const parent = `projects/${project}/locations/${location}`;
const filter = `labels.google-vertex-llm-tuning-base-model-id=${model}`;

const request = {
parent,
filter,
};

const [response] = await modelServiceClient.listModels(request);
console.log('List Tuned Models response');
for (const model of response) {
console.log(`\tModel name: ${model.name}`);
console.log(`\tDisplay name: ${model.displayName}`);
}
}
await listTunedModels();
// [END aiplatform_list_tuned_models]
}

exports.listTunedModels = main;
3 changes: 2 additions & 1 deletion ai-platform/snippets/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
"c8": "^8.0.0",
"chai": "^4.2.0",
"mocha": "^10.0.0",
"uuid": "^9.0.0"
"uuid": "^9.0.0",
"sinon": "^15.1.2"
}
}
46 changes: 46 additions & 0 deletions ai-platform/snippets/test/list-tuned-models.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
/*
* Copyright 2023 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

'use strict';

const {assert} = require('chai');
const {describe, it} = require('mocha');
const sinon = require('sinon');

const LOCATION = 'us-central1';
const project = process.env.CAIP_PROJECT_ID;

const {listTunedModels} = require('../list-tuned-models');

describe('List tuned models', async () => {
const stubConsole = function () {
sinon.stub(console, 'error');
sinon.stub(console, 'log');
};

const restoreConsole = function () {
console.log.restore();
console.error.restore();
};

beforeEach(stubConsole);
afterEach(restoreConsole);

it('should list all tuned LLM models', async () => {
await listTunedModels(project, LOCATION);
assert.include(console.log.firstCall.args, 'List Tuned Models response');
});
});

0 comments on commit 5dd981f

Please sign in to comment.