寫程式或測試 API 的時候,最煩的事情之一就是「要準備一堆假資料」
像是客戶的名單,學生成績,產品資料之類的
今天我們就讓 AI 幫我們自動生成真實又安全的測試資料!
import os
import json
from openai import OpenAI
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
def generate_mock_data(schema: dict, count: int = 10, format: str = "json"):
"""根據欄位結構自動生成假資料"""
prompt = f"""
你是一個資料工程師,請幫我依照以下欄位結構生成 {count} 筆測試資料。
格式為 {format},且資料內容要合理(例如:名字、電話、信箱要像真的)。
Schema:
{json.dumps(schema, ensure_ascii=False, indent=2)}
"""
resp = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": prompt}],
max_tokens=1500,
)
result = resp.choices[0].message.content
# 嘗試將結果解析為 JSON
try:
data = json.loads(result)
output_path = "mock_data.json"
with open(output_path, "w", encoding="utf-8") as f:
json.dump(data, f, ensure_ascii=False, indent=2)
print(f"已產生 JSON 測試資料:{output_path}")
except Exception:
output_path = "mock_data.txt"
with open(output_path, "w", encoding="utf-8") as f:
f.write(result)
print(f"無法解析為 JSON,已存成文字檔:{output_path}")
if __name__ == "__main__":
schema = {
"name": "姓名",
"email": "電子郵件",
"phone": "電話號碼",
"age": "年齡",
"city": "城市"
}
generate_mock_data(schema, count=5)
AI 幫你產生假資料這件事,看似小功能,但卻能在開發時節省超多測試時間
你不再需要一筆一筆打資料、或用 Faker 套件亂造,AI 幫你生成更真實、更有語意的數據!