- เมื่อไม่นานมานี้ OpenAI ได้เปิดตัวฟีเจอร์ทรงพลังชื่อ Predicted Outputs
- แม้จะไม่ได้รับความสนใจมากนักจากสื่อสายเทคโนโลยี แต่ฟีเจอร์นี้ก็คุ้มค่าที่จะจับตา
- ฟีเจอร์นี้ช่วยลดเวลาแฝงของการรอผลลัพธ์จาก API และเพิ่มความเร็วในการสร้างเอาต์พุตที่คาดเดาได้ล่วงหน้าอย่างมาก
Predicted Outputs คืออะไร?
- เป็นฟีเจอร์ใน Chat Completion API ที่ช่วยเพิ่มความเร็วในการตอบสนองในกรณีที่คำตอบสามารถคาดเดาได้เป็นส่วนใหญ่
- สามารถใช้พารามิเตอร์
prediction เพื่อส่งเอาต์พุตที่คาดว่าจะได้ให้โมเดล ทำให้สร้างผลลัพธ์ได้อย่างมีประสิทธิภาพมากขึ้น
- ขณะนี้รองรับเฉพาะโมเดล
gpt-4o และ gpt-4o-mini เท่านั้น
Predicted Outputs ทำงานอย่างไร
- หากคอนเทนต์ส่วนใหญ่สามารถคาดเดาได้อยู่แล้ว ก็สามารถส่งคอนเทนต์นั้นให้โมเดลเป็นค่าคาดการณ์ล่วงหน้าได้
- โมเดลจะใช้ค่าคาดการณ์นี้เพื่อเร่งการสร้างคำตอบและปรับปรุงประสิทธิภาพ
ตัวอย่าง: อัปเดตไฟล์ Configuration
- สามารถใช้ Predicted Outputs ในสถานการณ์ที่ต้องอัปเดตไฟล์ JSON Conf ได้
- แทนที่จะสร้างไฟล์เดิมใหม่ทั้งหมด สามารถส่งไฟล์เดิมเป็นค่าคาดการณ์ และขอให้แก้เฉพาะส่วนที่จำเป็น
import OpenAI from "openai";
const config = `
{
"appName": "MyApp",
"version": "1.0.0",
"settings": {
"enableFeatureX": false,
"maxUsers": 100
}
}
`.trim();
const openai = new OpenAI();
const updatePrompt = `
Change "enableFeatureX" to true in the following JSON configuration. Respond only with the updated JSON, without any additional text.
`;
const completion = await openai.chat.completions.create({
model: "gpt-4o",
messages: [
{ role: "user", content: updatePrompt },
{ role: "user", content: config }
],
prediction: {
type: "content",
content: config
}
});
console.log(completion.choices[0].message.content);
ตัวอย่าง: สตรีมมิงและ Predicted Outputs
- สำหรับแอปพลิเคชันที่ต้องการการตอบสนองแบบสตรีมมิง Predicted Outputs จะช่วยลดเวลาแฝงได้มากยิ่งขึ้น
import OpenAI from "openai";
const config = `...`; // 기존 JSON 구성 파일
const openai = new OpenAI();
const updatePrompt = `...`; // 기존 요청 프롬프트
const completion = await openai.chat.completions.create({
model: "gpt-4o",
messages: [ /* ... */ ],
prediction: {
type: "content",
content: config
},
stream: true
});
for await (const chunk of completion) {
process.stdout.write(chunk.choices[0]?.delta?.content || "");
}
เคล็ดลับสำหรับนักพัฒนา
- จุดที่ยอดเยี่ยมคือแทบไม่ต้องทำอะไรเพิ่มเพื่อใช้งานฟีเจอร์นี้
- เพียงแค่เพิ่มพารามิเตอร์ใหม่เข้าไปในคำขอ API เดิมเท่านั้น
ข้อจำกัด
- ความเข้ากันได้ของโมเดล: ใช้งานได้เฉพาะกับโมเดล
gpt-4o และ gpt-4o-mini
- ค่าใช้จ่าย: แม้แต่โทเค็นการคาดการณ์ที่ถูกปฏิเสธก็มีค่าใช้จ่ายเท่ากับโทเค็นที่ถูกสร้างขึ้น จึงควรติดตาม
rejected_prediction_tokens เพื่อบริหารต้นทุน
- พารามิเตอร์ที่ไม่รองรับ:
n (ค่าที่มากกว่า 1)
logprobs
presence_penalty (ค่าที่มากกว่า 0)
frequency_penalty (ค่าที่มากกว่า 0)
max_completion_tokens
tools (ไม่สามารถเรียกใช้ฟังก์ชันได้)
- ข้อจำกัดด้าน modality: รองรับเฉพาะข้อความเท่านั้น และไม่รองรับอินพุตหรือเอาต์พุตแบบเสียง
บทสรุป
- Predicted Outputs ของ OpenAI เป็นเครื่องมือที่พลิกเกมสำหรับแก้ปัญหาความหน่วงที่มักเกิดขึ้นในแอปพลิเคชัน AI
- ด้วยการส่งเอาต์พุตที่คาดเดาได้ล่วงหน้า ทำให้ลดเวลาตอบสนองและยกระดับประสบการณ์ผู้ใช้ได้
1 ความคิดเห็น
ให้ความรู้สึกคล้ายกับ LMQL เลย