2026 03 13 15 15 [python] 讓 LLM 的 query 可以留下 SSLKEYLOGFILE
#
# 讓 LLM 的 query 可以留下 SSLKEYLOGFILE 
#
import os
import ssl
import httpx
from openai import OpenAI

# 1. 設定 Log 檔案路徑(也可以手動在環境變數設定)
log_path = "sslkeys.log"
os.environ["SSLKEYLOGFILE"] = log_path

# 2. 建立一個自定義的 SSLContext
context = ssl.create_default_context()
# 重點:將 keylog_callback 指向 ssl 模組提供的寫入功能
context.keylog_filename = log_path

# 3. 建立支援該 Context 的 httpx 客戶端
# 注意:這會繞過部分預設設定,建議明確指定 verify
http_client = httpx.Client(verify=context)

# 4. 將自定義客戶端傳給 OpenAI
client = OpenAI(
    api_key="your_api_key_here",
    base_url="http://xxx.xxx.xxx",
    http_client=http_client
)

# 測試調用
response = client.chat.completions.create(
  model="gpt-3.5-turbo",
  messages=[{"role": "user", "content": "Hello!"}]
)

print(f"密鑰已寫入: {log_path}")