Agentic Research

This article is not yet available in English. You are reading the Traditional Chinese original. The English edition will appear here once it is translated.

Browse articles that do have an English edition

五分鐘設置你的 LLM 開發環境

2026/09/3015 min readBryan Chan閱讀中文原文
TopicsLLMAPITutorial

這篇文章解決一個問題:讓你的電腦在幾分鐘內具備「用指令呼叫 LLM API」的能力。你會依序完成:安裝 Python、建立虛擬環境、取得 API key、用環境變數安全地保存它,最後用一條 curl 指令驗證整條鏈路是通的。macOS 與 Windows 的操作都會給。全程不需要寫程式基礎,照著指令貼上即可。

開始前先理解你要準備的四樣東西,這樣每一步在做什麼你都不會糊塗:

東西是什麼為什麼需要
Python直譯式程式語言的執行環境後面所有程式範例都用它
openai SDK一個 Python 套件(SDK 是「幫你把呼叫細節打包好的工具包」)用程式呼叫 LLM API 最通用的方式
API key供應商發給你的一串秘密字串你的通行證與計費憑證,等同密碼
編輯器寫程式的軟體,本文用 VS Code可有可無,但早點裝好省事

第一步:安裝 Python

macOS

macOS 通常已內建 Python 3。打開「終端機」(Terminal,在應用程式 → 工具程式裡,或用 Spotlight 搜 Terminal),輸入:

python3 --version

看到類似 Python 3.x.x 的版本號就可以往下走。如果系統提示需要先安裝命令列開發者工具,照著裝即可(等同執行 xcode-select --install)。想要更新版的 Python,用 Homebrew 安裝:brew install python。

一個習慣要養成:在 macOS 上打 python3,不要打 python——後者在某些系統上不存在或指向舊版本,會造成「為什麼我的指令沒反應」的困惑。

Windows

到 python.org 下載官方安裝程式。安裝畫面的第一頁有一個勾選框:Add python.exe to PATH,務必勾選再按安裝。這是最多人漏掉的一步,漏掉的症狀是之後在終端機打任何 python 指令都顯示「不是內部或外部命令」。

安裝完,打開 PowerShell(開始功能表搜 PowerShell),驗證:

py --version

看到版本號即成功。Windows 上習慣用 py 這個啟動器指令。

版本方面:openai SDK 對 Python 版本有最低要求,以它的官方 GitHub 頁面(github.com/openai/openai-python)為準;實務上直接裝官網最新的穩定版就不會遇到問題。

第二步:虛擬環境與相依套件

虛擬環境(virtual environment)一句話解釋:給這個專案一個獨立的 Python 空間,裝的套件只屬於它,不會跟其他專案互相污染。這是 Python 社群的標準做法,跳過它遲早會遇到「A 專案裝的套件版本把 B 專案弄壞」。

先建一個專案資料夾並進入:

mkdir llm-demo
cd llm-demo

建立並啟用虛擬環境:

# macOS / Linux
python3 -m venv .venv
source .venv/bin/activate
# Windows (PowerShell)
py -m venv .venv
.venv\Scripts\Activate.ps1

啟用成功後,命令提示字元前面會出現 (.venv) 字樣。Windows 若出現「無法載入,因為系統停用指令碼執行」的錯誤,先執行下面這行再重試激活:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

然後安裝本篇與後續文章需要的兩個套件:

pip install openai python-dotenv

openai 是呼叫 API 用的 SDK,python-dotenv 是稍後讀取環境變數檔案用的。

第三步:API key 與環境變數

取得 API key

本文以 DeepSeek 為例(中文支援好、門檻低),OpenAI 相容端點的做法完全相同:

  1. 到 DeepSeek 開放平台(platform.deepseek.com)註冊帳號。
  2. 進入 API Keys 頁面,建立一組新的 API key。
  3. key 的完整內容通常只在建立當下顯示一次,立刻複製存到安全的地方。

若要用 OpenAI,則到 platform.openai.com 建立 API key。兩家的計費方式與單價各不相同,充值門檻與價格一律以各自官網的控制台為準,本文不列金額——價格會變,文章會過時,官網不會騙你。

為什麼要用環境變數,而不是寫進程式碼

環境變數(environment variable)是作業系統層級的「名字 → 值」設定,程式執行時可以讀取。把 API key 放進環境變數而不是寫死在程式碼裡,原因只有一個但足夠致命:程式碼會被分享、上傳、commit 進 git,環境變數不會。

這不是理論風險。GitHub 上有自動化程式日夜掃描公開倉庫裡洩漏的 API key,撿到就拿去挖礦或轉賣算力,帳單寄給你自己。任何一家供應商的文件都會叫你別把 key 寫進程式碼,原因就在這裡。

方法 A:專案內的 .env 檔案(推薦)

在專案資料夾建立 .env 檔案(前面的點是檔案名稱的一部分),內容一行:

DEEPSEEK_API_KEY=sk-你複製過來的金鑰

同一資料夾建立 .gitignore,把 .env 列進去,讓 git 永遠不要追蹤它:

.env
.venv/

再建立一個 .env.example 作為給別人看的範本(只有變數名、沒有值,這個可以進 git):

DEEPSEEK_API_KEY=sk-your-key-here

之後 Python 程式用剛裝好的 python-dotenv 讀取:

from dotenv import load_dotenv
load_dotenv()  # 把 .env 的內容載入成環境變數

方法 B:寫進 shell 設定(全域生效)

如果你希望電腦上所有終端機都能直接用,macOS 把它寫進 ~/.zshrc:

echo 'export DEEPSEEK_API_KEY="sk-你的金鑰"' >> ~/.zshrc
source ~/.zshrc   # 讓當前終端機立即生效

Windows PowerShell 用 setx:

setx DEEPSEEK_API_KEY "sk-你的金鑰"

注意:setx 只對「之後新開的」終端機視窗生效,當前視窗讀不到,這是很常見的困惑來源。

驗證

# macOS / Linux
echo $DEEPSEEK_API_KEY
# Windows PowerShell
echo $env:DEEPSEEK_API_KEY

印得出金鑰就成功了。

第四步:編輯器與第一個測試指令

安裝 VS Code

到 code.visualstudio.com 下載安裝,打開後用它「開啟資料夾」功能打開你的 llm-demo 資料夾,再安裝左側擴充功能面板裡的 Python 擴充(搜尋 Python,安裝微軟官方那個)。最後按 Cmd+Shift+P(Windows 是 Ctrl+Shift+P)叫出命令面板,輸入 Python: Select Interpreter,選擇 .venv 裡的那個——這一步讓 VS Code 的終端機與除錯都用你的虛擬環境。

第一個測試:curl

curl 是一個「用指令發 HTTP 請求」的工具,macOS 與 Windows 10 以後都內建。用它繞過所有程式碼,直接驗證「key 有效、端點可達、模型有回應」:

# macOS / Linux
curl https://api.deepseek.com/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $DEEPSEEK_API_KEY" \
  -d '{
        "model": "deepseek-chat",
        "messages": [
          {"role": "user", "content": "你好,請用一句話回覆,證明連線成功。"}
        ]
      }'

Windows 的 PowerShell 中,curl 是另一個指令的別名,必須打完整的 curl.exe,而且引號跳脫規則很折磨人。務實做法是把請求內容先存成檔案:

# 先建立 body.json(用記事本或 VS Code 存檔即可)
# 內容:{"model":"deepseek-chat","messages":[{"role":"user","content":"你好,請用一句話回覆。"}]}

curl.exe https://api.deepseek.com/chat/completions `
  -H "Content-Type: application/json" `
  -H "Authorization: Bearer $env:DEEPSEEK_API_KEY" `
  -d "@body.json"

成功的話你會收到一大段 JSON 回應,其中三個欄位值得看懂:

  • choices[0].message.content:模型的回覆文字。
  • usage:這次請求消耗的 token 數(token 是 LLM 計費與長度的單位,下一篇會詳細講)。
  • model:實際處理請求的模型名稱。

要改呼叫 OpenAI 官方端點,把網址換成 https://api.openai.com/v1/chat/completions、金鑰換成 OpenAI 的 key、model 換成該平台目前提供的模型名(以官網清單為準)即可——這就是「OpenAI 相容端點」的意思:同一套請求格式,多家供應商通用。

常見錯誤與踩坑

一、把 .env commit 進 git。 最嚴重也最常見的錯誤。預防:.gitignore 先於 .env 建立。若已經 commit:光刪檔沒用——git 歷史裡還留著。正確處置是立刻到供應商控制台撤銷那把 key、換發新的,再把舊的從歷史清除。把「撤銷重發」當成唯一可靠的補救。

二、Windows PowerShell 的 curl 不是 curl。 打 curl 會呼叫 Invoke-WebRequest,參數完全不相容,錯誤訊息讓人一頭霧水。記住打 curl.exe。

三、setx 之後當前視窗讀不到變數。 setx 寫入的是登錄值,只影響新開的視窗。重開一個 PowerShell 再試。

四、401 / Authorization 錯誤。 通常是:key 複製時前後帶了空格或換行、用了 A 家的 key 打 B 家的端點、或帳號尚未開通 API 權限。逐一排查。

五、ModuleNotFoundError: No module named 'openai'。 十有八九是虛擬環境沒激活——看提示字元前面有沒有 (.venv)。激活後重裝即可。

六、把 curl 指令裡的金鑰直接寫成字面值。 教學截圖、分享指令給同事時,-H "Authorization: Bearer sk-abc123..." 這種寫法等於當眾洩漏。永遠用 $DEEPSEEK_API_KEY 這類變數引用。

下一步