Skip to content

๐Ÿ› ๏ธ ืžื“ืจื™ืš ืฉืœื‘-ืฉืœื‘: ืฉื™ืžื•ืฉ ื‘"ืกื•ื“ื•ืช" ื‘-Google Colab (ืขื“ื›ื•ืŸ 2024)

๐Ÿ“Œ ื“ืจื™ืฉื•ืช ืžื•ืงื“ืžื•ืช

  • ื—ืฉื‘ื•ืŸ Google ืคืขื™ืœ.
  • ื’ื™ืฉื” ืœ-Google Colab.

1๏ธโƒฃ ื’ื™ืฉื” ืœืคืื ืœ ื”ืกื•ื“ื•ืช

  1. ืคืชื—ื• ืืช ื”ืžื—ื‘ืจืช ื‘-Colab.
  2. ื‘ืžืกืš ื”ืขืจื™ื›ื”:
  • ืœื’ืจืกื” ื—ื“ืฉื”: ืœื—ืฆื• ืขืœ ๐Ÿ”‘ ืกืžืœ ื”ืžืคืชื— ื‘ืกืจื’ืœ ื”ื™ืžื ื™ โ†’ "Secrets".
  • ืœื’ืจืกื” ื™ืฉื ื”: ืœื—ืฆื• ืขืœ ืกืžืœ ื”ืชื™ืงื™ื™ื” ื‘ืฆื“ ืฉืžืืœ โ†’ ื‘ื—ืจื• ื‘ืœืฉื•ื ื™ืช ๐Ÿ” Secrets.
ืชืžื•ื ื” ืฉืœ ื—ืœื•ืŸ ื”ืกื•ื“ื•ืช

2๏ธโƒฃ ื”ื•ืกืคืช ืกื•ื“ ื—ื“ืฉ

  1. ืœื—ืฆื• ืขืœ + Add new secret.
  2. ืžืœืื• ืืช ื”ืฉื“ื•ืช:
  • ืฉื ื”ืกื•ื“ (ื‘ืื ื’ืœื™ืช, ืœืœื ืจื•ื•ื—ื™ื!):
    ื“ื•ื’ืžื”: GEMINI_API_KEY, OPENAI_KEY.
  • ืขืจืš ื”ืกื•ื“: ื”ื”ืžืคืชื—/ื˜ื•ืงืŸ ื”ืจื’ื™ืฉ.
  1. ืœื—ืฆื• Save.

โš ๏ธ ืื–ื”ืจื•ืช

  • ืื™ืŸ ืœื”ืฉืชืžืฉ ื‘ืฉืžื•ืช ื’ื ืจื™ื™ื ื›ืžื• KEY1!
  • ืœื ืœืขื“ื›ืŸ ืกื•ื“ ืงื™ื™ื โ€” ืžื—ืงื• ื•ื”ื•ืกื™ืคื• ืžื—ื“ืฉ.

3๏ธโƒฃ ืฉื™ืžื•ืฉ ื‘ืกื•ื“ ื‘ืงื•ื“

ืฉื™ื˜ื” ืžื•ืžืœืฆืช (ืžืžืฉืง ื—ื“ืฉ):

from google.colab import userdata

# ืžืฉื™ื’ื™ื ืืช ื”ืกื•ื“
api_key = userdata.get('GEMINI_API_KEY')  # ๐Ÿ›ก๏ธ

# ื“ื•ื’ืžื” ืœืฉื™ืžื•ืฉ ื‘-Gemini AI
import google.generativeai as genai
genai.configure(api_key=api_key)

ืฉื™ื˜ืช ื’ื™ื‘ื•ื™ (ืžืฉืชื ื™ ืกื‘ื™ื‘ื”):

import os

key = os.environ.get('OPENAI_API_KEY')  # ืขื‘ื•ืจ ืฉื™ืจื•ืชื™ื ืื—ืจื™ื

4๏ธโƒฃ ื ื™ื”ื•ืœ ืกื•ื“ื•ืช ืงื™ื™ืžื™ื

  • ืžื—ื™ืงืช ืกื•ื“: ื‘ืคืื ืœ ื”ืกื•ื“ื•ืช โ†’ ืœื—ืฆื• ืขืœ ๐Ÿ—‘๏ธ ืœื™ื“ ื”ืฉื.
  • ืฉื™ืชื•ืฃ ืกื•ื“: ืจืง ื“ืจืš ื‘ื—ื™ืจืช "Allow this secret in other notebooks" ื‘ื”ื•ืกืคืช ืกื•ื“.
  • ืื™ืžื•ืช: ื”ืจืฆืช ืงื•ื“ ื‘ื“ื™ืงื” โ†’ ื”ื“ืคืกืช ื”ืื•ืจืš ืฉืœ ื”ืžืคืชื—:
  print(len(userdata.get('MY_KEY')))  # ืืžื•ืจ ืœื”ื—ื–ื™ืจ ืžืกืคืจ ืชื•ื•ื™ื

๐Ÿšจ ื›ืœืœื™ ืื‘ื˜ื—ื” ืงืจื™ื˜ื™ื™ื

  1. ืœืขื•ืœื ืืœ ืชืฉืœื‘ื• ืžืคืชื—ื•ืช ื‘ืงื•ื“ ื’ืœื•ื™!
  2. ื”ื’ื‘ื™ืœื• ื”ืจืฉืื•ืช ืžืคืชื—ื•ืช ื‘Google Cloud Console.
  3. ื”ืฉืชืžืฉื• ื‘-Try/Except ืœื˜ื™ืคื•ืœ ื‘ืฉื’ื™ืื•ืช:
try:
    key = userdata.get('MY_KEY')
except userdata.SecretNotFoundError:
    print("โŒ ื”ืกื•ื“ ืœื ืงื™ื™ื! ื‘ื“ืงื• ืืช ื”ืฉื.")

๐Ÿ“ ื˜ื™ืคื™ื ืœืžืฉืชืžืฉื™ื ืžืชืงื“ืžื™ื

  • ืกื•ื“ื•ืช ื‘ืงื•ื‘ืฅ: ื ื™ืชืŸ ืœื™ื™ื‘ื ืกื•ื“ื•ืช ืžืงื•ื‘ืฅ JSON ื“ืจืš Google Drive (ืœื ืžื•ืžืœืฅ ืœืจื’ื™ืฉื™ื).
  • ืื•ื˜ื•ืžืฆื™ื”: ืฉื ื• ืกื•ื“ื•ืช ื“ื™ื ืžื™ืช ื“ืจืš API ืฉืœ Colab (ื“ืจื•ืฉ ืงื•ื“ OAuth).
  • ื’ื™ื‘ื•ื™: ืฉืžืจื• ืขื•ืชืง ืžื•ืฆืคืŸ ืฉืœ ื”ืกื•ื“ื•ืช ืžื—ื•ืฅ ืœ-Colab (ืœื“ื•ื’ืžื” ื‘-1Password).

๐Ÿ†˜ ืคืชืจื•ืŸ ืชืงืœื•ืช

ื‘ืขื™ื”ืคืชืจื•ืŸ
SecretNotFoundErrorื‘ื“ืงื• ืจื™ืฉื™ื•ืช ื•ื ื•ื›ื—ื•ืช ืกื•ื“ ื‘ืคืื ืœ
PermissionErrorืืคืฉืจื• ื’ื™ืฉื” ืœืกื•ื“ ื‘ืžื—ื‘ืจืช ื”ื ื•ื›ื—ื™ืช
ืžืคืชื— ืœื ืคืขื™ืœืขื“ื›ื ื• ืืช ื”ืกื•ื“ ืขื ืขืจืš ื—ื“ืฉ

ื›ืชื™ื‘ืช ืชื’ื•ื‘ื”

ื”ืื™ืžื™ื™ืœ ืœื ื™ื•ืฆื’ ื‘ืืชืจ. ืฉื“ื•ืช ื”ื—ื•ื‘ื” ืžืกื•ืžื ื™ื *