구조화 출력용 JSON Schema 생성기
샘플 JSON을 붙여넣으면 JSON Schema가 나오고, 모델이 정확히 그 형태를 반환하도록 하는 API 요청을 복사할 수 있습니다. 모든 처리는 브라우저에서 이루어집니다.
모든 속성이 required가 되고 additionalProperties가 false가 되며, 일부 항목에 없는 필드는 nullable이 됩니다. 엄격한 구조화 출력에는 이것이 필요합니다.
JSON은 이 브라우저에서 처리되며 절대 업로드되지 않습니다.
요청 설정(모델, 프롬프트)
예시 모델입니다. json_schema 지원은 모델마다 다르므로 의존하기 전에 모델 페이지를 확인하세요.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "response",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"age": {
"type": "integer"
},
"email": {
"type": "string",
"format": "email"
},
"joined": {
"type": "string",
"format": "date-time"
},
"skills": {
"type": "array",
"items": {
"type": "string"
}
},
"address": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"zip": {
"type": "string"
}
},
"required": [
"city",
"zip"
],
"additionalProperties": false
}
},
"required": [
"name",
"age",
"email",
"joined",
"skills",
"address"
],
"additionalProperties": false
}HiAPI에서 3단계로 실행
구조화 출력을 위한 스키마 생성 방법
- 01 샘플 JSON 붙여넣기
원하는 출력의 실제 예시를 대표적인 값으로 사용하세요. 배열에 여러 항목을 포함하면 선택 필드가 감지됩니다.
- 02 스키마 검토
타입과 포맷을 확인하고 이름을 조정하세요. 스트릭트 모드는 모든 필드를 필수로 만들어 엄격한 구조화 출력이 기대하는 형태가 됩니다.
- 03 API 호출 복사
cURL, Python 또는 Node.js를 고르고 키를 추가해 실행하세요. 결과는 choices[0].message.content 안의 JSON 문자열입니다.
JSON Schema 생성기 FAQ
내 JSON이 어딘가에 업로드되나요?
아니요. 스키마와 코드는 모두 브라우저에서 생성됩니다. HiAPI나 다른 서버로는 아무것도 전송되지 않습니다.
스트릭트 모드는 무엇을 바꾸나요?
모든 속성을 required로 표시하고, additionalProperties를 false로 설정하며, 일부 배열 항목에 없는 필드를 nullable 타입으로 바꿉니다. 엄격한 구조화 출력에는 이 모든 것이 필요합니다.
모든 모델이 json_schema를 지원하나요?
아니요. 지원 여부는 모델에 따라 다릅니다. 예시는 response_format.type을 json_schema로 설정한 kimi-k3을 사용합니다. 각 모델이 무엇을 받아들이는지는 모델 페이지에서 확인하세요.
하나의 예시에서 스키마는 어떻게 추론되나요?
타입은 값에서 결정되고, 정수와 소수는 구분되며, 배열은 항목 간에 병합되고, 모든 샘플이 일치할 때 문자열 포맷이 추가됩니다. 단일 예시는 열것형이나 값의 한계를 보여줄 수 없으므로 직접 수정하세요.
구조화된 결과는 응답의 어디에 있나요?
choices[0].message.content에 JSON 문자열로 들어 있습니다. 파싱한 후 애플리케이션에서 비즈니스 필드를 검증하세요.