Skip to content

Latest commit

 

History

History
130 lines (100 loc) · 4.22 KB

File metadata and controls

130 lines (100 loc) · 4.22 KB

Gemini Enterprise Agent Platform SDK for Node.js quickstart

The Agent Platform SDK for Node.js lets you use the Gemini API to build AI-powered features and applications. Both TypeScript and JavaScript are supported.

For the latest list of available Gemini models on Agent Platform, see the Model information page in Agent Platform documentation.

Before you begin

  1. Make sure your node.js version is 22 or above.

  2. Select or create a Google Cloud project.

  3. Enable billing for your project.

  4. Enable the Agent Platform API.

  5. Install the gcloud CLI.

  6. Initialize the gcloud CLI.

  7. Create local authentication credentials for your user account:

    gcloud auth application-default login

A list of accepted authentication options are listed in GoogleAuthOptions interface of google-auth-library-node.js GitHub repo.

Install the SDK

Install the Agent Platform SDK for Node.js by running the following command:

npm install @google-cloud/agentplatform

Instantiate the Agent Platform client

First, import the Client class:

import { Client } from '@google-cloud/agentplatform';

Then instantiate a client:

const client: Client = new Client({
  project: 'my-cloud-project',
  location: 'my-cloud-location',
});

Prompts

First define your prompt as a JS object or Prompt object. Then call createVersion.

const prompt = {
  promptData: {
    contents: [{ parts: [{ text: 'Hello, {name}! How are you?' }] }],
    systemInstruction: { parts: [{ text: 'Please answer in a short sentence.' }] },
    variables: [
      { name: { text: 'Alice' } },
    ],
    model: 'gemini-2.5-flash',
  },
};

const promptResource = await client.prompts.createVersion({
  prompt: prompt,
});

Note that you can also use typed objects to define your prompt. Some of the types used to do this (Content, Part) are from the Gen AI SDK (@google/genai).

import { Prompt } from '@google-cloud/agentplatform';
import { Part, Content } from '@google/genai';

const prompt: Prompt = {
  promptData: {
    contents: [{ parts: [{ text: 'Hello, {name}! How are you?' } as Part] } as Content],
    systemInstruction: { parts: [{ text: 'Please answer in a short sentence.' } as Part] } as Content,
    variables: [
      { name: { text: 'Alice' } as Part },
    ],
    model: 'gemini-2.5-flash',
  },
};

const promptResource = await client.prompts.createVersion({
  prompt: prompt,
});

Retrieve a prompt by calling get() with the promptId.

const dataset = (promptResource as any)._dataset;
const promptId = dataset?.name?.split('/').pop() || 'YOUR_PROMPT_ID';

const retrievedPrompt = await client.prompts.get({
  promptId: promptId,
});

After creating or retrieving a prompt, you can call models.generateContent() with that prompt using the Gen AI SDK (@google/genai).

import { GoogleGenAI } from '@google/genai';

// Create a Client in the Gen AI SDK
const genaiClient = new GoogleGenAI({ vertexai: true, project: 'your-project', location: 'your-location' });

// Call generateContent() with the prompt
if (retrievedPrompt.promptData?.contents) {
  const response = await genaiClient.models.generateContent({
    model: retrievedPrompt.promptData.model || 'gemini-2.5-flash',
    contents: retrievedPrompt.promptData.contents,
    config: {
      systemInstruction: retrievedPrompt.promptData.systemInstruction,
      ...(retrievedPrompt.promptData.generationConfig || {}),
    },
  });
  console.log(response.text);
}

License

The contents of this repository are licensed under the Apache License, version 2.0.