검색
검색
공개 노트 검색
회원가입로그인

ChatGPT GPT-4o API Structured Outputs 지원 및 가격 인하

ChatGPT API 구조화된 출력 지원

모델의 결과가 정확하게 제공한 JSON 스키마에 맞게 제공된다.

모델 성능: gpt-4o-2024-08-06 모델이 JSON 스키마 평가에서 100% 정확도를 달성, 이전 모델보다 성능 향상.

사용 방법:

  • Function Calling: toolsfunction을 제공하고strict: true로 설정하면 모델 출력이 제공된 도구 정의와 일치한 응답을 반환한다.

POST /v1/chat/completions
{
  "model": "gpt-4o-2024-08-06",
  "messages": [
    {
      "role": "system",
      "content": "You are a helpful assistant. The current date is August 6, 2024. You help users query for the data they are looking for by calling the query function."
    },
    {
      "role": "user",
      "content": "look up all my orders in may of last year that were fulfilled but not delivered on time"
    }
  ],
  "tools": [
    {
      "type": "function",
      "function": {
        "name": "query",
        "description": "Execute a query.",
        "strict": true,
        "parameters": {
          "type": "object",
          "properties": {
            "table_name": {
              "type": "string",
              "enum": ["orders"]
            },
            "columns": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "id",
                  "status",
                  "expected_delivery_date",
                  "delivered_at",
                  "shipped_at",
                  "ordered_at",
                  "canceled_at"
                ]
              }
            },
            "conditions": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "column": {
                    "type": "string"
                  },
                  "operator": {
                    "type": "string",
                    "enum": ["=", ">", "<", ">=", "<=", "!="]
                  },
                  "value": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "number"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "column_name": {
                            "type": "string"
                          }
                        },
                        "required": ["column_name"],
                        "additionalProperties": false
                      }
                    ]
                  }
                },
                "required": ["column", "operator", "value"],
                "additionalProperties": false
              }
            },
            "order_by": {
              "type": "string",
              "enum": ["asc", "desc"]
            }
          },
          "required": ["table_name", "columns", "conditions", "order_by"],
          "additionalProperties": false
        }
      }
    }
  ]
}
  • Response Format: response_formatjson_schema 옵션을 통해 모델이 응답을 구조화된 방식으로 제공하도록 설정할 수 있음.

POST /v1/chat/completions
{
  "model": "gpt-4o-2024-08-06",
  "messages": [
    {
      "role": "system",
      "content": "You are a helpful math tutor."
    },
    {
      "role": "user",
      "content": "solve 8x + 31 = 2"
    }
  ],
  "response_format": {
    "type": "json_schema",
    "json_schema": {
      "name": "math_response",
      "strict": true,
      "schema": {
        "type": "object",
        "properties": {
          "steps": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "explanation": {
                  "type": "string"
                },
                "output": {
                  "type": "string"
                }
              },
              "required": ["explanation", "output"],
              "additionalProperties": false
            }
          },
          "final_answer": {
            "type": "string"
          }
        },
        "required": ["steps", "final_answer"],
        "additionalProperties": false
      }
    }
  }
}
  • 안전성: 모델은 안전 정책을 준수하며, 새로운 거부 문자열 값을 통해 모델이 거부한 요청을 식별 가능.

{
  "id": "chatcmpl-9nYAG9LPNonX8DAyrkwYfemr3C8HC",
  "object": "chat.completion",
  "created": 1721596428,
  "model": "gpt-4o-2024-08-06",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "refusal": "I'm sorry, I cannot assist with that request."
      },
      "logprobs": null,
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 81,
    "completion_tokens": 11,
    "total_tokens": 92
  },
  "system_fingerprint": "fp_3407719c7f"
}

refusal 필드가 추가됨.

  • SDK 지원: Python 및 Node SDK가 Structured Outputs를 네이티브로 지원, Pydantic 또는 Zod 객체를 사용하여 스키마를 쉽게 처리할 수 있음.

  • 추가 사용 사례: 개발자들이 사용자 UI 인터페이스 생성, 생각 단계 출력, 데이터 추출 등 다양한 용도로 Structured Outputs를 활용할 수 있음.

가격 인하 및 출력 토큰 증가

  • 새로운 gpt-4o-2024-08-06 버전으로 업그레이드하면 입력 토큰 당 가격을 50%($2.50 백만 토큰 당) 절약할 수 있으며, 출력 토큰 당 가격은 33%($10.00 백만 토큰 당) 절약 가능.

  • 새로운 모델은 16,384 출력 토큰을 지원하여, 원래 GPT-4o의 4,096 출력 토큰보다 4배 증가함.

https://openai.com/index/introducing-structured-outputs-in-the-api/

공유하기
카카오로 공유하기
페이스북 공유하기
트위터로 공유하기
url 복사하기
조회수 : 260
heart
T
페이지 기반 대답
AI Chat