我的Gemini API密钥无法正常工作

我试图使用Google Gemini API,为此我在main.js中编写了以下代码 –

import { GoogleGenerativeAI } from "@google/generative-ai";// 初始化模型const genAI = new GoogleGenerativeAI(`${import.meta.env.GEM_API_KEY}`);const model = genAI.getGenerativeModel({ model: "gemini-pro" });async function getResponse() {    const message = await model.generateContent("hi");    const response = await message.response;    const text = response.text();    console.log(text);}getResponse();

我在根目录下有一个包含API密钥的”.env”文件。它的内容是这样的..

GEM_API_KEY=my_api_key

它不起作用.. 显示以下错误 –

main.js:9                        POST https://generativelanguage.googleapis.com/v1/models/gemini-pro:generateContent 400 (Bad Request)makeRequest @ @google_generative-ai.js?v=557eda8f:94generateContent @ @google_generative-ai.js?v=557eda8f:340generateContent @ @google_generative-ai.js?v=557eda8f:513getResponse @ main.js:9(anonymous) @ main.js:16Show 3 more framesShow lessmain.js:14 Uncaught (in promise) Error: [400 ] API key not valid. Please pass a valid API key. [{"@type":"type.googleapis.com/google.rpc.ErrorInfo","reason":"API_KEY_INVALID","domain":"googleapis.com","metadata":{"service":"generativelanguage.googleapis.com"}}]    at makeRequest (@google_generative-ai.js?v=557eda8f:113:13)    at async generateContent (@google_generative-ai.js?v=557eda8f:340:20)    at async getResponse (main.js:9:21)

您也可以在HTML渲染页面控制台中看到错误消息的屏幕截图..

HTML渲染页面控制台中的错误..

我希望从gemini得到”hi”的回应,可能会是类似于”你好,有什么可以帮助你的?”,在渲染页面的控制台中..我已经核对了api_key,我甚至从我的另一个Google账户创建了一个,并且..我没有将我的api_key分享给任何人..也没有在任何在线平台上托管它..

所以,我不知道原因和如何解决它。在浏览器或GPT上没有得到任何帮助..非常感谢您的帮助。


回答:

一般来说,该错误消息表明API密钥在您的代码中实际上不可用。调试的第一步是尝试在代码中获取该值并打印出它看起来是什么样的。

在这种特定情况下,听起来您在使用Vite。

出于安全原因,Vite默认只从.env文件中导入以”VITE_”开头的变量。因此,以”GEM_”开头会使其隐藏,而当您将其更改为”VITE_”时,它就起作用了。

有关详细信息以及如何解决此问题,请参见 https://vitejs.dev/guide/env-and-mode#env-files

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

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