BAML is a language that gives you jinja-like templating. But it also provides structured output parsing and bindings in Python and TypeScript that allow you to execute prompts as typed functions in your code. They also have a VS Code "playground" extension that provides a way to quickly iterate on prompts. There's a bunch of other good stuff too, but these are the main reasons we use it.
It's not OpenSource yet. Do you think it should be?
API calls are routed through a thin proxy on my side, this is how you get access to all the models with my API keys. I definitely would not want to store those keys in code of the JS bundle in the browser (:
> It's not OpenSource yet. Do you think it should be?
Only if you want to spend more time managing an open source project than building a real world project. It is not easy and it can be a big distraction.
Is this a full screenshot of the page? You can not only collapse the panel, you can also resize it in a way you want. Just drag the top edge of the panel.
In terms of calls to LLMs. I do not use any frameworks or LLM proxies like OpenRouter etc. Instead, I make the calls directly to LLM providers with a tiny thin proxy endpoint I created in Supabase.
One of the problems I had with other tools was the difficulty in understand the actual responses that particular playgrounds provided. Especially when it came to error responses. I guess that they are either built with the some Proxy providers like OpenRouter who handles and interprets errors internally before giving a response to the user, or they are using frameworks like LangChain with their abstraction hell.
In our case on Yola, it was crucial to have a playground that provided this raw type of experience that I have builtin.