Генеративный запрос Google 403 имел недостаточные области аутентификации. [причина: «ACCESS_TOKEN_SCOPE_INSUFFICIENT»

Я попробовал простой 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

https://github.com/google-gemini/generative-ai-python/blob/v0.7.0/google/generativeai/client.py#L272-L311

Где у вас установлен GOOGLE_GEMINI_API? Был ли ключ API создан в студии Ai?

Linda Lawton - DaImTo 10.07.2024 10:48

Он был создан в AI Studio даже под другой учетной записью.

Win Myo Htet 10.07.2024 10:54

Учетная запись не должна иметь значения, если у нее есть действительный ключ API. Можете ли вы выполнить печать (GOOGLE_GEMINI_API). Я видел эту ошибку только тогда, когда у меня возникали проблемы с неправильным чтением переменной ENV.

Linda Lawton - DaImTo 10.07.2024 11:43

Привет, Линда, ты абсолютно права. Переменная среды GOOGLE_GEMINI_API не находится в среде выполнения PyCharm. Я уже проверял это в оболочке Linux с помощью echo $GOOGLE_GEMINI_API, и оно там. поэтому я подумал, что провел должную осмотрительность... для этого мне нужно перезапустить PyCharm. (Есть ли другой способ?) В любом случае, пожалуйста, напишите реальный ответ, и я отмечу его как ответ.

Win Myo Htet 10.07.2024 16:12
Создание приборной панели для анализа данных на GCP - часть I
Создание приборной панели для анализа данных на GCP - часть I
Недавно я столкнулся с интересной бизнес-задачей - визуализацией сбоев в цепочке поставок лекарств, которую могут просматривать врачи и...
0
4
135
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Каждый раз, когда я видел ошибку «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

Другие вопросы по теме

Застрял на openAuthSessionAsync – как закрыть браузер после успешного входа в Google OAuth?
Ошибка в API Google oAuth2 — valid_request «Вы не можете войти в это приложение, поскольку оно не соответствует политике Google OAuth 2.0»
Требуется ли секрет клиента для Google OAuth 2.0 с использованием потока авторизации PKCE? Должен ли я публично раскрывать секрет клиента?
Конфигурация единого клиента OAuth 2.0 для веб- и мобильных приложений
Ошибка подключения API календаря Google Cloud
Скрипт Google Apps, пытающийся использовать OAuthScopes, выдает ошибку без каких-либо подробностей и не позволяет сохранить
Laravel 11.x Аутентификация Google с использованием Socialite: целевой класс [google.auth] не существует
Аутентификация Google OAuth 2.0 не работает в приложении React: что я делаю не так?
Как исправить сообщение «Предупреждение CSRF! Состояние не равно в запросе и ответе». ошибка при попытке войти в Google с помощью FastAPI?
Как протестировать экран детального согласия Google OAuth