Bumalik sa blog

PagsisimulaGabay

Unang request mula sa Google Colab: itago ang API key sa Secrets

Magpadala ng iyong unang chat completion mula sa isang Colab notebook na ang key ay naka-imbak sa Colab Secrets, pagkatapos basahin ang sagot at token usage.

Ni CheapTokens TeamNai-publish noong 6 min na pagbabasa

Cell ng Google Colab notebook na nagbabasa ng key mula sa Colab Secrets at tumatawag sa CheapTokens API
Sa pahinang ito
  1. Ano ang kailangan mo
  2. Ilagay ang key sa Colab Secrets
  3. Patakbuhin ang unang request
  4. Magkano ang request
  5. Kapag nabigo ang isang cell
  6. Pag-share at pag-rotate

Maaari mong patakbuhin ang iyong unang request sa isang Colab notebook nang walang ini-install sa iyong computer. I-save ang key sa Colab Secrets, basahin ito gamit ang userdata.get(...), ituro ang openai package sa https://api.cheaptokens.dev/v1, at i-print ang choices[0].message.content at usage. Hindi kailanman nakaupo ang key sa isang cell, kaya ang pag-share ng notebook ay hindi nagsh-share ng iyong key.

Ang huling bahaging iyon ang dahilan kung bakit ito pinag-aabalahan. Sabihin nating natapos mo ang notebook at ipinadala ang link sa isang kaklase. Kung ang key ay na-paste sa isang cell, mayroon na sila nito. Kung ito ay nasa Secrets, nakukuha nila ang code at wala nang iba.

Ang gabay na ito ay nagbubuo sa ang unang request gamit ang plain requests. Dito ang tanging bago ay kung saan nakaupo ang key at paano ito binabasa ng isang notebook. Para sa parehong ideya sa isang laptop, tingnan ang pag-iimbak ng key sa isang environment variable.

Ano ang kailangan mo#

  • Isang Google account at isang bagong notebook sa colab.research.google.com.
  • Isang CheapTokens API key at isang na-top-up na balanse. Ang mga key at balanse ay nasa iyong account; ipinapakita ng docs ang eksaktong mga hakbang.
  • Limang minuto.

Ang API ay OpenAI Chat Completions compatible, kaya gumagana ang standard na openai Python package sa ibang base_url. Ang openai-python README (sinuri noong 5 Nobyembre 2026) ay naglilista ng Python 3.10 o mas mataas at pip install openai.

Ilagay ang key sa Colab Secrets#

Sa kaliwang sidebar ng notebook mayroong key icon, na nagbubukas ng Secrets panel. Magdagdag ng bagong secret, pangalanan itong CHEAPTOKENS_KEY, i-paste ang iyong key bilang value, at i-on ang notebook access para sa notebook na iyong ginagamit. Maaaring magbago ang wording ng mga button, kaya hanapin ang key icon sa halip na isang menu path.

Piliin ang pangalan na gusto mo ngayon: ito ang string na ipapasa mo sa code. Ang maling pangalan ay madaling pagkakamali, at ipinapakita ng errors section kung paano ito lumalabas.

Bago at pagkatapos: isang key na na-paste sa cell versus userdata.get
Kaliwa: nakaupo ang key sa cell at naglalakbay kasama ng notebook. Kanan: pinapangalanan lang ng cell ang secret.

Patakbuhin ang unang request#

Binabasa ng Colab ang mga secret gamit ang google.colab.userdata.get(name), isang function sa colabtools module ng Google (sinuri ang docstrings noong 5 Nobyembre 2026). I-install ang SDK, basahin ang secret, magpadala ng isang request.

Hakbang-hakbang

Ang iyong unang request sa tatlong cell

I-install ang package

Patakbuhin ito sa unang cell. Pinapanatili ng -q flag na maikli ang output, at gumagana ito kahit na ang package ay nasa runtime na o wala.

python
!pip install -q openai

Basahin ang key at gumawa ng client

Ang key ay nagmumula sa Secrets. Walang naka-paste dito.

python
from google.colab import userdata
from openai import OpenAI

client = OpenAI(
    api_key=userdata.get('CHEAPTOKENS_KEY'),
    base_url='https://api.cheaptokens.dev/v1',
)

Magpadala ng isang request at i-print ang resulta

Gamitin ang buong model id kasama ang developer prefix. Hindi tinatanggap ang mga short id.

python
resp = client.chat.completions.create(
    model='deepseek-ai/DeepSeek-V4-Flash-0731',
    messages=[{'role': 'user', 'content': 'Explain a token in one sentence.'}],
    max_tokens=200,
)
print(resp.choices[0].message.content)
print(resp.usage.prompt_tokens, resp.usage.completion_tokens)

Ang unang print ay nagpapakita ng sagot ng model. Ang pangalawa ay nagpi-print ng dalawang numero: mga token na ipinadala mo at mga token na isinulat ng model. Iyon ang buong bill para sa request, kaya ipiniprint namin ito tuwing beses.

Magkano ang request#

Ang mga token ang binabayaran mo, kaya tingnan ang pangalawang linya ng output. Sabihin nating ang isang maikling tanong tulad ng nasa itaas ay gumagamit ng mga 40 token in at ang sagot ay 150 token out. Ang request na iyon ay nagkakahalaga ng $0.000016 sa kasalukuyang presyo, at ang isang libo nito ay nagkakahalaga ng $0.0156. Palitan ang 40 at 150 ng dalawang numero na ini-print ng iyong notebook.

Ang DeepSeek-V4-Flash ang default dito para sa isang dahilan: 380K context, hanggang 32,768 output token bawat sagot, at isang presyo sa anumang oras ng araw, walang peak hours. Isang balanse ang sumasaklaw sa bawat model, kaya maaari mong palitan ang model sa cell na ito nang walang binabago pa. Subukan ang zai-org/GLM-5.3-Flash (390K context, hanggang 8,192 output token) at patakbuhin muli ang cell. Tingnan ang lahat ng model at presyo para sa buong listahan.

Subukan mo mismoSubukan: ano ang resp.choices[0].finish_reason?Ipakita ang sagot

Idagdag ang print(resp.choices[0].finish_reason) sa ilalim ng iba pang print. Kung natural na natapos ang sagot makikita mo ang stop. Itakda ang max_tokens=5 at patakbuhin muli: naputol ang sagot at makikita mo ang length, na nangangahulugang ang limit ang pumigil dito, hindi ang model.

Kapag nabigo ang isang cell#

Ang mga error mula sa secrets side ay nauuna, bago pa man umalis ang anumang request sa Colab. Sinasabi ng colabtools source (sinuri noong 5 Nobyembre 2026) na ang userdata.get ay maaaring magtaas ng tatlong error.

Colab error: SecretNotFoundError
Ang SecretNotFoundError ay nangangahulugang ang pangalan sa code ay hindi tumutugma sa anumang secret.
  • SecretNotFoundError: walang secret na may ganoong pangalan. Ihambing ang string sa userdata.get('...') sa pangalan sa Secrets panel, titik sa titik. Mahalaga ang case.
  • NotebookAccessError: umiiral ang secret, ngunit walang access ang notebook na ito dito. I-on ang access toggle sa Secrets panel at patakbuhin muli ang cell.
  • TimeoutException: hindi sinagot ng Colab ang request para sa secret. Sinasabi ng error message na ang mga secret ay maaari lamang makuha kapag ang code ay tumatakbo mula sa Colab UI, kaya patakbuhin ang cell sa Colab notebook mismo, hindi sa isang na-export na script.

Kung nag-load ang secret at nabigo pa rin ang request, ang problema ay nasa API side. Ang 401 ay nangangahulugang mali o kulang ang key; ang 404 ay karaniwang tumutukoy sa maling base URL o model id. Ang API 401 o 404: key, base URL, model id ay dumadaan sa pareho, at ang pag-lista ng mga model gamit ang GET /v1/models ay nagpapakita kung paano kopyahin ang eksaktong id.

Pag-share at pag-rotate#

I-share ang notebook at kasama nito ang code na tumatawag sa userdata.get; ang key ay wala sa anumang cell o output, kaya walang ma-leak. Ang sinumang magbukas ng notebook ay kailangan ng sarili nilang secret na may parehong pangalan, kung hindi makakakuha sila ng SecretNotFoundError (tingnan sa itaas).

Kung gumawa ka ng bagong key, i-update ang value sa Secrets panel; nananatiling pareho ang code dahil pinapangalanan lang nito ang secret.

May isang ugali pa ring mahalaga: huwag kailanman i-print ang key. Ang isang cell tulad ng print(userdata.get('CHEAPTOKENS_KEY')) ay naglalagay nito sa output, at ang mga output ay naka-save kasama ng notebook.

Mabilisang pagsusuri

Saan dapat nakaupo ang API key sa isang shared Colab notebook?

Ipakita ang sagot

Sagot: Sa Colab Secrets, binabasa gamit ang userdata.get

Ang isang cell at ang output nito ay naka-save kasama ng notebook at na-share kasama nito; pinapangalanan lang ng code ang secret.

Susunod na hakbang: ilagay ang sagot sa isang loop, isang chat o isang maliit na tool. Sinasaklaw ng docs ang natitirang bahagi ng API.