PaLM API: Text Quickstart with Node.js

View on ai.google.dev Run in Google Colab View source on GitHub

Obtain an API Key

To get started, you'll need to get an API key. Set it as an environment variable:

import os
os.environ["API_KEY"] = "<YOUR API KEY>"

Installing the API Client

In a new directory, initialize a Node.js project using npm and install the google-auth library:

npm init -y

npm install google-auth-library
Wrote to /content/package.json:

{
  "name": "content",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "@google-ai/generativelanguage": "^1.0.1",
    "google-auth-library": "^9.0.0"
  },
  "devDependencies": {},
  "description": ""
}


+ google-auth-library@9.0.0
updated 1 package and audited 74 packages in 1.105s

3 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
npm WARN content@1.0.0 No description
npm WARN content@1.0.0 No repository field.

Next, you'll need to install the Generative Language client library:

npm install @google-ai/generativelanguage

+ @google-ai/generativelanguage@1.0.1
updated 1 package and audited 74 packages in 2.126s

3 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
npm WARN content@1.0.0 No description
npm WARN content@1.0.0 No repository field.

Generating Messages

Create a new file index.js and add the following code, supplying your API key through the API_KEY environment variable:

%%writefile index.js
const { TextServiceClient } =
  require("@google-ai/generativelanguage").v1beta2;

const { GoogleAuth } = require("google-auth-library");

const MODEL_NAME = "models/text-bison-001";
const API_KEY = process.env.API_KEY;

const client = new TextServiceClient({
  authClient: new GoogleAuth().fromAPIKey(API_KEY),
});

const prompt = "Repeat after me: one, two,";

client
  .generateText({
    model: MODEL_NAME,
    prompt: {
      text: prompt,
    },
  })
  .then((result) => {
    console.log(JSON.stringify(result, null, 2));
  });
Overwriting index.js

Then run the script:


node index.js
[
  {
    "candidates": [
      {
        "safetyRatings": [
          {
            "category": "HARM_CATEGORY_DEROGATORY",
            "probability": "NEGLIGIBLE"
          },
          {
            "category": "HARM_CATEGORY_TOXICITY",
            "probability": "NEGLIGIBLE"
          },
          {
            "category": "HARM_CATEGORY_VIOLENCE",
            "probability": "NEGLIGIBLE"
          },
          {
            "category": "HARM_CATEGORY_SEXUAL",
            "probability": "NEGLIGIBLE"
          },
          {
            "category": "HARM_CATEGORY_MEDICAL",
            "probability": "NEGLIGIBLE"
          },
          {
            "category": "HARM_CATEGORY_DANGEROUS",
            "probability": "NEGLIGIBLE"
          }
        ],
        "output": "One, two, three, four."
      }
    ],
    "filters": [],
    "safetyFeedback": []
  },
  null,
  null
]