# 당신이 놓쳤을 OpenAI의 기능: Predicted Outputs

> Clean Markdown view of GeekNews topic #17891. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=17891](https://news.hada.io/topic?id=17891)
- GeekNews Markdown: [https://news.hada.io/topic/17891.md](https://news.hada.io/topic/17891.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2024-11-22T10:34:02+09:00
- Updated: 2024-11-22T10:34:02+09:00
- Original source: [hackernoon.com](https://hackernoon.com/predicted-outputs-the-openai-feature-you-probably-missed)
- Points: 13
- Comments: 1

## Summary

OpenAI의 새로운 기능인 Predicted Outputs는 API 응답 대기 시간을 줄이고 예상 가능한 출력물의 생성 속도를 크게 향상시킬 수 있는 도구입니다. 이 기능은 gpt-4o 및 gpt-4o-mini 모델에서만 지원되며, 기존 API 요청에 prediction 매개변수를 추가하여 쉽게 사용할 수 있습니다. 그러나 이 기능은 텍스트 모달리티만 지원하고, 일부 매개변수는 지원되지 않으며, 거부된 예측 토큰도 비용이 부과되므로 주의가 필요합니다.

## Topic Body

- OpenAI는 최근 *Predicted Outputs*라는 강력한 기능을 공개했음  
- 기술 미디어에서 크게 주목 받지 못했지만, 이는 주목할 만한 가치가 있음  
- 이 기능은 API 응답 대기 시간을 줄이고, 미리 예상 가능한 출력물의 생성 속도를 크게 향상 시킬 수 있음  
  
### Predicted Outputs란 무엇인가?  
  
-	Chat Completion API에서 주로 예측 가능한 응답이 있는 경우 응답 속도를 높이는 기능  
-	prediction 매개변수를 사용하여 예상되는 출력을 모델에 제공하여 효율적으로 결과를 생성할 수 있음  
-	현재 gpt-4o 및 gpt-4o-mini 모델에서만 지원됨  
  
### Predicted Outputs의 작동 방식  
  
-	이미 대부분의 콘텐츠가 예상 가능한 경우 해당 콘텐츠를 모델에 예측값으로 제공 가능  
-	모델은 이 예측값을 사용해 응답 생성을 가속화하고 성능을 향상시킴  
  
### 예제: Configuration 파일 업데이트  
  
-	JSON Conf 파일을 업데이트하는 상황에서 Predicted Outputs를 활용 가능  
-	기존 파일 전체를 새로 생성하는 대신, 기존 파일을 예측값으로 제공하고 필요한 변경만 요청함  
```  
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 (함수 호출 불가)  
-	모달리티 제한: 텍스트 모달리티만 지원하며, 오디오 입력 및 출력은 불가능함  
  
### 결론  
  
- OpenAI의 Predicted Outputs는 AI 응용 프로그램에서 공통적으로 발생하는 지연 문제를 해결하는 혁신적인 도구임  
- 예측 가능한 출력을 제공하여 응답 시간을 단축하고 사용자 경험을 향상시킴

## Comments



### Comment 31632

- Author: woung717
- Created: 2024-11-23T23:50:21+09:00
- Points: 1

LMQL 비슷한 느낌이군요
