Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Show HN: Using zod to get structured and typed output from ChatGPT in TypeScript (github.com/olup)
35 points by olup on April 13, 2023 | hide | past | favorite | 7 comments


Cool approach! The only thing I would change or allow customization for is the prompt you're injecting. Most users will probably want to change this:

"Output a json object or array generated with random content fitting this schema, based on the PORMPT section below." (sic)

My findings from one week of forcing chatgpt to produce structured output:

- it prefers a certain kind of format (the one it uses by default when you ask it without json/markdown), and if you deviate too far, it won't listen. E.g. I tried adding underscores to certain words, which it only did half the time.

- regex parsing the output is quite robust. Even if it adds sections you don't want like intro or conclusion, the parser will just discard these


Thanks ! if you feel like making a PR i'll be happy to merge it !


added the customization suggestion (task and chatCompletion ptions override).


I started porting Auto-GPT to NextJS for fun yesterday. The python implementation requires output to be a predictable json schema, so this might be useful in the TypeScript version.


Another idea would be to feed zod's validation errors, if any, to the llm to let it have a second try automatically


Nice! I was just minutes ago writing a very similar pattern with zod and GPT. Thanks for validating my approach :)


Typo in the prompt:

> based on the PORMPT




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: