Community

GPT-5가 출시되면서 Function Calling에 Free-Form Function Calling과 Context-Free Grammar (CFG)를 지원하는데, 이게 숨은 보석이다. Fre

GPT-5가 출시되면서 Function Calling에 Free-Form Function Calling과 Context-Free Grammar (CFG)를 지원하는데, 이게 숨은 보석이다. Free-Form은 결과를 JSON이 아니라 SQL, Python script 등의 코드등을 결과로 받거나 XML, CSV 같은 형태로도 받을 수 있다. 다만 plain-text로 주는 형태라서 주의가 필요하다. 이건 예전에도 프롬프트 트릭으로 쓰곤했던거라 그냥 맘이 좀 편해졌다(?)정도. CFG가 대박인데, Lark와 Regex를 지원한다. Lark CFG는 문법 규칙을 정의하는 방식으로, 결과만 말하자면 Function Calling의 출력 형식을 내가 마음대로 제어 할 수 있다는 뜻. 예를 들면 다음은 덧셈 뺄셈 형식으로 출력을 강제한다. —출력— 2 + 2 - 1 —Lark CFG— start: expr expr: INT (SP (ADD|SUB) SP INT)* ADD: "+" SUB: "-" SP: " " INT: /[0-9]+/ — 조금 더 실용적인(?) 예를 들면 다음같은 구성의 출력을 강제 할 수 있다. —출력— NAME: Jin AGE: 18 JOB: Software Engineer —Lark CFG— start: (name_entry | age_entry | job_entry)+ name_entry: "NAME:" WS* NAME_VAL age_entry : "AGE:" WS* AGE_VAL job_entry : "JOB:" WS* JOB_VAL NAME_VAL: /[^\n]+/ JOB_VAL : /[^\n]+/ AGE_VAL : /[0-9]+/ WS: /[ \t]+/ %ignore WS — 이걸 Function Calling을 호출할 때 JSON Schema 대신 넣으면, 원하는 형식으로 강제해서 출력한다. 여백이 작아(?) 아주 간단한 예만 들었는데, 조금만 생각해봐도 진짜 어마어마하게 유용하게 사용될 수 있다는 걸 쉽게 알 수 있다.

알림

알림이 없습니다