오픈AI가 AI에게 데이터를 구조화할 때 지정된 스키마를 확실히 따르도록 하는 모드를 출시했다.
구조화되지 않은 데이터를 읽고 구조화된 데이터를 출력하는 건 AI 주요 사용 사례 중 하나다. 지금까지 오픈AI API에는 JSON 모드라는 설정이 존재했으며 지정된 구조를 가진 JSON을 AI에게 출력하도록 할 수 있었지만 반드시 지정된 구조대로 데이터가 출력되는 것은 아니었다. 이번에 출시된 gpt-4o-2024-08-06 모델에서는 strict를 ‘true’로 설정해 100% 정확도로 지정된 구조를 따라 데이터를 출력할 수 있다고 한다.
이번 기능을 사용하는 방법은 2가지다. 첫 번째는 tools를 이용한 함수를 호출할 때 “strict”: true로 설정하는 방법으로 gpt-4-0613 및 gpt-3.5-turbo-0613 이후 모든 모델에서 사용 가능하다.
2번째는 이번에 새롭게 사용 가능해진 response_format 옵션으로 json_schema를 설정하는 방법이다. 이는 gpt-4o-2024-08-06 모델 및 gpt-4o-mini-2024-07-18 모델에서 사용 가능하다고 한다.
한편 모델이 안전하지 않은 요청으로 응답 생성을 거부하면 응답 refusal 항목에 거부했다는 내용이 기재되므로 지정된 대로의 구조화된 데이터가 생성되지 않았음을 프로그램에서 즉시 판별할 수 있다.
그 밖에도 토큰 수 제한에 도달한 경우 등 실행이 중간에 중단된 경우에도 지정된 구조화 데이터가 출력되지 않을 수 있다고 한다. 또 병렬 함수 호출을 사용할 수 없거나 첫 번째 API 응답에 추가 지연이 발생하는 등 제한도 존재한다.
기존 모델인 gpt-4o-2024-05-13에서 이번에 출시된 gpt-4o-2024-08-06 모델로 전환하면 입력 토큰 수에 따른 요금이 반값인 100만 토큰당 2.5달러가 되고 출력 토큰 수에 따른 요금이 33% 할인된 100만 토큰당 10달러가 된다고 한다. 관련 내용은 이곳에서 확인할 수 있다.