从 Apps 脚本访问 Googles Palm api

问题描述 投票:0回答:1

目前有一些针对 Palm API 文本的快速入门。

PaLM API:文本快速入门

这些示例展示了如何在 Python 中执行此操作,但我还没有找到任何让它与 Google Apps 脚本一起使用的方法。

我可以直接使用 Apps 脚本向此 API 发送请求吗?还是需要等待他们创建库?

javascript google-apps-script urlfetch palm-api makersuite
1个回答
0
投票

我无法找到有关要调用的端点的任何直接信息,但Makersuite给了我一个curl示例,然后我能够弄清楚调用是什么样的

curl \
  -H 'Content-Type: application/json' \
  -X POST 'https://generativelanguage.googleapis.com/v1beta2/models/text-bison-001:generateText?key='${API_KEY} \
  -d '{ "prompt": { "text": "Write a poem about an adventure in an underwater castle\n\n"}, "temperature": 0.7, "top_k": 40, "top_p": 0.95, "candidate_count": 1, "max_output_tokens": 1024, "stop_sequences": [], "safety_settings": [{"category":"HARM_CATEGORY_DEROGATORY","threshold":1},{"category":"HARM_CATEGORY_TOXICITY","threshold":1},{"category":"HARM_CATEGORY_VIOLENCE","threshold":2},{"category":"HARM_CATEGORY_SEXUAL","threshold":2},{"category":"HARM_CATEGORY_MEDICAL","threshold":2},{"category":"HARM_CATEGORY_DANGEROUS","threshold":2}]}'

然后我就可以使用 UrlFetchApp.fetch 直接通过应用程序脚本访问 PALM api 中的数据。在他们为其创建一个库之前,这似乎很有效。

function myFunction() {
  
  // Make a POST request with form data.
  var data = {
              "prompt": {
                    "text": "Write a story about a magic backpack."
                    },
              "temperature": 1.0,
              "candidateCount": 2};
  var options = {
    'method' : 'post',
    'contentType': 'application/json',
    // Convert the JavaScript object to a JSON string.
    'payload' : JSON.stringify(data)
  };


  try {
      
      const response = UrlFetchApp.fetch('https://generativelanguage.googleapis.com/v1beta2/models/text-bison-001:generateText?key=REDACTED', options);
      Logger.log(response);
      const data = JSON.parse(response.getContentText());

      Logger.log(data.candidates[0].output);
  } catch (f) {
      Logger.log(f.message);
  }
}

棘手的部分是解析响应。它以数组形式返回,有时可能有多个候选者。

© www.soinside.com 2019 - 2024. All rights reserved.