PYTHON + LANGCHAIN 實戰課程

Unit 1: LangChain 環境建置

從零開始建立你的 AI 開發環境

Python 3.10+ LangChain OpenAI API

本單元學習目標

1環境建置

安裝 Python、LangChain 及相關套件

2API 設定

取得並設定 OpenAI API Key

3第一個程式

執行第一個 LangChain 程式

4核心概念

理解 LangChain 的基本架構

Step 1: 安裝必要套件

開啟終端機,執行以下指令安裝所需套件:

# 安裝 LangChain 核心套件
pip install langchain langchain-openai

# 安裝資料處理套件
pip install pandas numpy matplotlib

# 安裝環境變數管理套件
pip install python-dotenv
提示:建議使用虛擬環境 (venv) 來管理套件,避免版本衝突。

Step 2: 取得 OpenAI API Key

1前往 platform.openai.com 註冊帳號

2進入 API Keys 頁面,點擊 Create new secret key

3複製 API Key(只會顯示一次!)

建立 .env 檔案

# .env 檔案內容
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxx
注意:絕對不要將 API Key 上傳到 GitHub!請將 .env 加入 .gitignore

Step 3: 載入環境變數

# 匯入作業系統模組(用於讀取環境變數)
import os
# 匯入 dotenv 套件(用於載入 .env 檔案)
from dotenv import load_dotenv

# 載入 .env 檔案中的環境變數到系統環境
load_dotenv()

# 從環境變數取得 OpenAI API Key
api_key = os.getenv("OPENAI_API_KEY")

# 檢查 API Key 是否成功載入
if api_key:
    print("API Key 載入成功!")
    # 只顯示前 8 個字元(安全考量)
    print(f"Key 開頭: {api_key[:8]}...")
else:
    print("錯誤:找不到 API Key")
執行後應該看到 "API Key 載入成功!"

Step 4: 第一個 LangChain 程式

# 匯入 LangChain OpenAI 聊天模型類別
from langchain_openai import ChatOpenAI
# 匯入 dotenv 載入環境變數
from dotenv import load_dotenv

# 載入 .env 檔案中的 API Key
load_dotenv()

# 建立 ChatOpenAI 語言模型實例
llm = ChatOpenAI(
    model="gpt-5.6-luna",   # 使用 GPT-5.6 Luna 模型
    temperature=0.7           # 設定創意程度(0=保守,1=創意)
)

# 發送請求給 LLM,傳入提示詞
response = llm.invoke("用一句話介紹 LangChain")

# 輸出 AI 回應的內容
print(response.content)
預期輸出:LangChain 是一個用於開發由語言模型驅動的應用程式的框架。

LangChain 核心架構

Model I/O

處理與 LLM 的輸入輸出,包含 Prompts、LLMs、Output Parsers

Chains

將多個元件串聯,建立複雜的處理流程

Agents

讓 LLM 自主決策,動態選擇執行的工具

Memory

保存對話歷史,實現多輪對話

實作練習:建立多輪對話

# 匯入 LangChain OpenAI 聊天模型
from langchain_openai import ChatOpenAI
# 匯入三種訊息類型:人類訊息、AI 訊息、系統訊息
from langchain_core.messages import HumanMessage, AIMessage, SystemMessage

# 建立語言模型實例
llm = ChatOpenAI(model="gpt-5.6-luna")

# 建立對話歷史列表(包含角色設定和第一個問題)
messages = [
    SystemMessage(content="你是一位資料分析專家"),  # 系統角色設定
    HumanMessage(content="什麼是 Pandas?"),        # 使用者問題
]

# 第一輪對話:發送訊息列表給 LLM
response1 = llm.invoke(messages)
print("AI:", response1.content)

# 將 AI 回應加入對話歷史(維持上下文)
messages.append(AIMessage(content=response1.content))
# 加入第二個使用者問題
messages.append(HumanMessage(content="給我一個簡單範例"))

# 第二輪對話:LLM 會記住之前的對話內容
response2 = llm.invoke(messages)
print("AI:", response2.content)

Unit 1 總結

環境建置

pip install langchain langchain-openai

API 設定

使用 .env 管理 API Key

基本調用

llm.invoke("你的問題")

多輪對話

使用 Messages 管理對話歷史

下一單元:深入學習 Prompt Engineering - 提示詞工程

← 返回課程首頁