13 คะแนน โดย xguru 2024-11-22 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • เมื่อไม่นานมานี้ 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 ความคิดเห็น

 
woung717 2024-11-23

ให้ความรู้สึกคล้ายกับ LMQL เลย