🐛 Частые ошибки

← К оглавлению урока

⚡ Топ-3 ошибки

  • Ключ в коде / закоммичен в git
  • Забыли load_dotenv() → ключ None
  • Превышен лимит контекста

1. Ключ в коде или в git

Симптом: ключ виден в репозитории/истории; провайдер может его отозвать, со счёта спишут чужие запросы.
# ❌
client = genai.Client(api_key="AIzaSy...")
# ✅
client = genai.Client(api_key=os.getenv("GEMINI_API_KEY"))  # + .env в .gitignore

2. Забыли load_dotenv()

Без load_dotenv() переменные из .env не подгрузятся, и os.getenv(...) вернёт None → ошибка авторизации. Вызывайте load_dotenv() до чтения ключа.

3. Превышение лимита токенов

Слишком длинный промпт/история → ошибка или обрезка. Считайте токены (count_tokens), сокращайте контекст, выбирайте модель с большим окном.

4. Неверное имя модели

model="gpt-4" в Gemini-клиенте не сработает. Используйте имена Gemini (gemini-2.0-flash и т.п.) — актуальные смотрите в документации.

5. Хардкод ключа «на минутку»

«Вставлю на тест и потом уберу» — частый путь к утечке. Сразу настройте .env; это занимает минуту.

⚠️ Тексты ошибок и имена моделей зависят от версии SDK/провайдера.