Hey HN!
I'm excited to introduce Symphony – a toolkit designed to help developers write functions and let GPT-4 call them in whatever sequence that makes most sense based on conversation.
I've been quite amazed[1] by GPT-4's recent ability to both detect when a function needs to be called and to respond with JSON that adheres to the function's signature.
Since developers currently append descriptions of functions to API calls[2], I often found myself wishing for a toolkit that would automatically create these descriptions as I added and debugged functions during development.
You can get started by cloning the repository and adding functions by following the guide at https://symphony.run/docs
As of now, the toolkit supports functions in TypeScript. I'll be adding support for more languages and features based on your feedback :)
[1] - Symphony Showcase: https://symphony.run/showcase
[2] - Function calling and other API updates from OpenAI: https://openai.com/blog/function-calling-and-other-api-updat...
So the main point of this seems to be extracting the interface from the module and converting it into the OpenAI API call's functions format.
It's a good idea. But for me I would rather just have an npm package with a function like
which I could then use inside of my own project which already handles the rest of it.