Я попробовал простой POC для generativeai, чтобы выполнить «generate_content», и он работает. Теперь я пытаюсь интегрировать генеративы в существующий проект и просто пытаюсь получить только модель, а она выдает это.
import google.generativeai as genai
genai.configure(api_key=GOOGLE_GEMINI_API)
model_name = "gemini-1.5-flash"
model = genai.GenerativeModel(model_name=model_name)
response = model.generate_content('Hello there.')
# Error
google.api_core.exceptions.PermissionDenied: 403 Request had insufficient authentication scopes. [reason: "ACCESS_TOKEN_SCOPE_INSUFFICIENT"
domain: "googleapis.com"
metadata {
key: "service"
value: "generativelanguage.googleapis.com"
}
metadata {
key: "method"
value: "google.ai.generativelanguage.v1beta.GenerativeService.GenerateContent"
}
Я подозреваю, что существует конфликт проблемы ADC (учетные данные приложения по умолчанию). Причина в том, что существующий проект настроен с помощью ADC. Однако я хочу оставить это в покое и хочу, чтобы ключ API Google Gemini был отдельным модулем, и я не хочу, чтобы он был привязан к существующему проекту. (И я не хочу, чтобы на этом этапе управлялся еще один облачный проект Google.) Тем не менее, получив ключ Google Gemini, он, тем не менее, создал облачный проект Google. Есть ли способ сделать так, чтобы генеративный API не получал учетные данные от существующего ADC? Я использую библиотеку Python. Я думаю, мне нужна помощь эксперта по учетным данным oauth на облачной платформе Google в этой печально известной области.
Вот генеративный код Google на GitHub
Он был создан в AI Studio даже под другой учетной записью.
Учетная запись не должна иметь значения, если у нее есть действительный ключ API. Можете ли вы выполнить печать (GOOGLE_GEMINI_API). Я видел эту ошибку только тогда, когда у меня возникали проблемы с неправильным чтением переменной ENV.
Привет, Линда, ты абсолютно права. Переменная среды GOOGLE_GEMINI_API не находится в среде выполнения PyCharm. Я уже проверял это в оболочке Linux с помощью echo $GOOGLE_GEMINI_API, и оно там. поэтому я подумал, что провел должную осмотрительность... для этого мне нужно перезапустить PyCharm. (Есть ли другой способ?) В любом случае, пожалуйста, напишите реальный ответ, и я отмечу его как ответ.
Каждый раз, когда я видел ошибку «ACCESS_TOKEN_SCOPE_INSUFFICIENT», это происходило из-за того, что я не отправлял ключ API или что отправляемый мной env был нулевым.
genai.configure(api_key=GOOGLE_GEMINI_API)
Лично я обычно использую файл .env для своих переменных env и использую pip python-dotenv.
Однако я считаю, что если вы загружаетесь из среды Linux, вы можете использовать
my_var = os.environ.get('MY_ENV_VAR')
Поскольку лично у меня уже была такая проблема. Я отправил запрос на добавление функции в клиентскую библиотеку #450
Где у вас установлен GOOGLE_GEMINI_API? Был ли ключ API создан в студии Ai?