⚖️ Старый vs Новый: ключи и SDK

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

⚡ Что меняем

  • Ключ в коде → .env + .gitignore + os.getenv
  • Старый SDK google-generativeai → новый google-genai

Сравнение 1: хранение ключа

🟡 Плохо (из лекции, демо)

# main.py
client = genai.Client(api_key="AIzaSy...")
# ключ виден всем, попадёт в git-историю

🟢 Хорошо

# .env (в .gitignore)
GEMINI_API_KEY=AIzaSy...

# main.py
load_dotenv()
client = genai.Client(api_key=os.getenv("GEMINI_API_KEY"))

Сравнение 2: SDK Google для Gemini

🟡 Старый SDK (google-generativeai)

import google.generativeai as genai
genai.configure(api_key=KEY)
model = genai.GenerativeModel("gemini-pro")
resp = model.generate_content("Hi")
print(resp.text)

🟢 Новый SDK (google-genai)

from google import genai
client = genai.Client(api_key=KEY)
resp = client.models.generate_content(
    model="gemini-2.0-flash", contents=["Hi"])
print(resp.text)
⚠️ Google перешёл со старого пакета google-generativeai на новый google-genai (клиентский подход genai.Client). В новом коде используйте новый SDK; сверяйтесь с гайдом миграции.