cfortuner / promptable

Build LLM apps in Typescript/Javascript. 🧑‍💻 🧑‍💻 🧑‍💻 🚀 🚀 🚀
https://docs-promptable.vercel.app
MIT License
1.77k stars 120 forks source link

Branded prompt outputs #48

Open BLamy opened 1 year ago

BLamy commented 1 year ago

In #47 I recommend building input validations. In this thread I recommend we create output brands. This allows us to "chain" prompts together by allowing us to define the input of one prompt as the output of another.

In the following example, the 1st prompt ask GPT to generate a joke. Then the 2nd prompt ask GPT to rate the joke. Even though the output of the first prompt can technically be any string. The input of the 2nd prompt is typed to only accept the output of the 1st prompt as an argument.

image

https://www.typescriptlang.org/play?#code/JYWwDg9gTgLgBAbzgISgQwHYBM4F84BmUEIcA5DAM4C0ARutmQNwBQoksicAynocaQo0YECABtaAUzExmLFjACeYSXACiADxjoAxjAAqk8GLQxJABTToQlADz7zAsAaNgTZuJK2TslOJW1gDABzABo4BycYAEEoYL8AXnUtXRdjUwsrNBt7RxJnQ3SzcIRcAD4yuCSEFjg4AG0AaTggngA6bjdgGFyowrcM8LIEBDIy+owAVxApKABdODQ-Zq8zXzgAAwASBCCCSSg4c1wTnYCoIODcDdq6uAB+I9u6gC44DEkANwO5t5XvdbbXYYfaHY6nBDnS7XB5HTwArB+ADWkkUEAIETy4BicT8j0i+Rx8Xq5gWb0wijg5IwilYuFYLAIkwwemAEAwcB0UEkGSxzgAYgJ+u5JL1CcKMvC1oj-IEQmUABS3MxFSRvAnYiXFFgASkQzzg3JgkygHJqdwtcFok2AYiwb3sAEkMGBJkS-KsfDLNNo0HotZlrHYNQVXCKSuVwvoAPJu10wVCYHCe9ZQ+UKqzxdXO+OxeI6l6J7C2NNhCKxmDxotYSoJSrmy2No0mjkAIkckmlcBgAAtgH5+4tZRcQnBgj4DhkcLRKQBxcz6VuLPzVktyssxuNu6tlA0W3AGg8H+RKFRwABSEBRecSXAAVlfJPplGq4K2mRgaUuAD5vrDTWgl3pFgdHZAI4AfFE+TSAYPCSMhDDEMQ4BAVQ0EQBBIKfF8Tggx82jkUCMHArDoKqTluV5KJBRIAMFVIvowwyHUQLA+AsIAJUkShIGI1QkgYwk2mtW0sFsS9r1xcJWwkyQuJ4sDJFbRUkCw58VDed9mS-PAWIUF8L0fDiMigG9yKQEQwGMmBLjeKYZgOcIsLeU9JHRPCUXk3jKFUek4AAen8uBoG7AzZOsg4zOqbsICs0xbM2HZ7Nma4nMfN5V1LaTwu47ylLwVgiJIoyTOggNyLIaMOXQygdDQMRVHcgBGagRks6zoXwXtBxGLCTkItiPLk0qonIrkeTMaCaJAOjOJG8UmLMHVCsGuabNHASSrMKBoOEm07XErbIqkt9wvikJlIVCzYo6kI3gAVjSlE3k43LFN0+RPpYQK4AAASoagvBUPRAagYhDlbJYsAxYAMQwCB4CWShgGCDA0FoBqYsIbTKV-f8ZlbFhBOxPbRMOyT4myoy3r4y7VMfdTX0hyhoaAlifoAOQgTwwZCqQ6smHzQpUPwAHcDlUeH4BATBJnqsRKTAYhPmALBJBwShubUgzRdtZC1YINBJhkLHSyJx9dpEu0rqGxnNKhgg2e+oL-poIHJBBg5wbfLCl0HKXl2R1H0cxkQUAYMSstO6mFNp3c1oOS39rEs7tpvKnPPO4I6ZiuL1uCB6nqZ33dKAA