!pip install openai python-dotenv
# 創(chuàng)建.env文件存儲API密鑰
import os
from dotenv import load_dotenvload_dotenv()
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
import openai
def basic_generation(prompt):
response = openai.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": prompt}],
temperature=0.7,
max_tokens=150
)
return response.choices[0].message.content# 示例調(diào)用
print(basic_generation("解釋量子計算的基本原理"))
輸出結(jié)果:
量子計算利用量子比特(qubit)進行信息處理,與傳統(tǒng)計算機的二進制比特不同,量子比特可以同時處于0和1的疊加態(tài)...(后續(xù)內(nèi)容省略)
def temperature_tuning(prompt, temp):
response = openai.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": prompt}],
temperature=temp,
max_tokens=200
)
return response.choices[0].message.content
# 對比不同溫度值
prompt = "為智能家居創(chuàng)業(yè)公司起5個名字"
print("低溫(0.2):", temperature_tuning(prompt, 0.2))
print("中溫(0.7):", temperature_tuning(prompt, 0.7))
print("高溫(1.2):", temperature_tuning(prompt, 1.2))
輸出對比:
低溫:智居科技、慧家物聯(lián)、睿宅智能、創(chuàng)居未來、智巢生活
中溫:HomeMind、LivingAI、SmartNest、ThinkSpace、EcoHabit
高溫:NeuRoof、QuantumLiving、SynapseDwell、ZenithHive、NebulaHomes
response = openai.chat.completions.create(
model="gpt-4",
messages=[
{"role": "system", "content": "你是一個資深科技專欄作家"},
{"role": "user", "content": "用比喻解釋神經(jīng)網(wǎng)絡(luò)反向傳播"}
],
temperature=0.5,
max_tokens=300,
top_p=0.9,
frequency_penalty=0.5,
presence_penalty=0.3
)
template = """
你是一個金融分析師,請按以下格式分析公司財報:
1. 收入增長:{revenue_growth}%
2. 利潤率:{profit_margin}%
3. 研發(fā)投入:{r&d}百萬
4. 風(fēng)險因素分析(至少3點)
"""
response = openai.chat.completions.create(
model="gpt-4",
messages=[{"role": "user", "content": template.format(
revenue_growth=15.2,
profit_margin=22.1,
r&d=45
)}]
)
messages = [
{"role": "system", "content": "將技術(shù)術(shù)語轉(zhuǎn)換為易懂的比喻"},
{"role": "user", "content": "API速率限制"},
{"role": "assistant", "content": "就像高速公路的收費站,每分鐘只允許通過固定數(shù)量的車輛"},
{"role": "user", "content": "數(shù)據(jù)庫索引"}
]
{"messages": [{"role": "user", "content": "翻譯成專業(yè)商務(wù)英語:請盡快發(fā)貨"},
{"role": "assistant", "content": "Kindly expedite the shipment at your earliest convenience."}]}
OPENAI_API_KEY=sk-xxx
openai api fine_tunes.create
-t training_data.jsonl
-m gpt-3.5-turbo
--suffix "business_translator"
response = openai.chat.completions.create(
model="ft:gpt-3.5-turbo:my-org:business_translator:1a2b3c",
messages=[{"role": "user", "content": "翻譯:我們需要延長付款期限"}]
)
| 調(diào)優(yōu)方法 | 響應(yīng)相關(guān)性 | 輸出穩(wěn)定性 | 訓(xùn)練成本 | 適用場景 |
|---|---|---|---|---|
| 參數(shù)調(diào)整 | 低 | 快速迭代需求 | ||
| 提示詞工程 | 無 | 領(lǐng)域知識應(yīng)用 | ||
| 全量微調(diào) | 高 | 專業(yè)垂直領(lǐng)域 |
temperature=0.7和top_p=0.9作為調(diào)優(yōu)起點import pandas as pd
params_grid = {
'temperature': [0.3, 0.7, 1.0],
'max_tokens': [100, 150, 200]
}results = []
for temp in params_grid['temperature']:
for tokens in params_grid['max_tokens']:
response = generate_with_params(temp, tokens)
results.append({
'params': f"temp={temp}, tokens={tokens}",
'quality_score': rate_response(response)
})pd.DataFrame(results).to_csv("param_test.csv")
通過結(jié)合參數(shù)調(diào)整、提示工程和適量微調(diào),開發(fā)者可以顯著提升大模型在特定場景下的表現(xiàn)。建議從簡單參數(shù)調(diào)優(yōu)開始,逐步過渡到提示詞優(yōu)化,最后考慮微調(diào)方案。