如何为Google JS客户端库的加载中的Beta端点添加API密钥

我正在尝试获取对betav1版本中文件上传端点的支持,该端点尚未添加到generative ai js库中。

我可以加载发现文档并调用文件端点

require('dotenv').config();const API_KEY = process.env.API_KEY; // 从环境变量中获取API密钥const MODEL_NAME = process.env.TEXT_MODEL_NAME_LATEST; // 从环境变量中获取模型名称// 从"@google/generative-ai"包中导入GoogleGenerativeAI类const { GoogleGenerativeAI } = require("@google/generative-ai");// 将API密钥作为环境变量访问(见上文“设置您的API密钥”)const genAI = new GoogleGenerativeAI(process.env.API_KEY);async function run() {    // 对于仅文本输入,请使用gemini-pro模型    const model = genAI.getGenerativeModel({ model: MODEL_NAME},{apiVersion: 'v1beta',});    const prompt = "写一个关于魔法背包的故事。"    const result = await model.generateContent(prompt);    const response = await result.response;    const text = response.text();    console.log(text);}run();

结果出现了错误,因为没有添加API密钥。

 errors: [    {      message: "方法不允许未注册的调用者(没有建立身份的调用者)。请使用API密钥或其他形式的API消费者身份来调用此API。",      domain: 'global',      reason: 'forbidden'    }  ],

有谁知道如何添加API密钥吗?


回答:

经过多次尝试后,似乎可以直接将密钥加载到服务中

const service = google.discoverAPI(discoveryUrl, { auth : apiKey});

完整示例

const { google } = require('googleapis');require('dotenv').config();const API_KEY = process.env.API_KEY; // 从环境变量中获取API密钥async function createService(apiKey) {  const discoveryUrl = `https://generativelanguage.googleapis.com/$discovery/rest?version=v1beta&key=${apiKey}`;  try {    const service = google.discoverAPI(discoveryUrl, { auth : apiKey});    return service;  } catch (error) {    console.error('获取发现文档时出错:', error);    throw error;  }}// 使用createService(API_KEY)    .then(async service => {        // 您可以在这里使用服务对象        const res = await service.files.list({            pageSize: 100,        });        console.log(res)        const files = res.data.files;        if (files.length === 0) {            console.log('未找到文件。');            return;        }        console.log('文件:');        files.map((file) => {            console.log(`${file.name} (${file.id})`);        });        //console.log('服务已创建:', service);    })    .catch(error => {      console.error('创建服务时出错:', error);    });

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注