TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Show HN: Burr – A framework for building and debugging GenAI apps faster

94 pointsby elijahbenizzyabout 1 year ago
Hey HN, we&#x27;re developing Burr (github.com&#x2F;dagworks-inc&#x2F;burr), an open-source python framework that makes it easier to build and debug GenAI applications.<p>Burr is a lightweight library that can integrate with your favorite tools and comes with a debugging UI. If you prefer a video introduction, you can watch me build a chatbot here: <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=rEZ4oDN0GdU" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=rEZ4oDN0GdU</a>.<p>Common friction points we’ve seen with GenAI applications include logically modeling application flow, debugging and recreating error cases, and curating data for testing&#x2F;evaluation (see <a href="https:&#x2F;&#x2F;hamel.dev&#x2F;blog&#x2F;posts&#x2F;evals&#x2F;" rel="nofollow">https:&#x2F;&#x2F;hamel.dev&#x2F;blog&#x2F;posts&#x2F;evals&#x2F;</a>). Burr aims to make these easier. You can run Burr locally – see instructions in the repo.<p>We talked to many companies about the pains they felt in building applications on top of LLMs and were surprised how many built bespoke state management layers and used printlines to debug.<p>We found that everyone wanted the ability to pull up the state of an application at a given point, poke at it to debug&#x2F;tweak code, and use for later testing&#x2F;evaluation. People integrating with LLMOps tools fared slightly better, but these tend to focus solely on API calls to test &amp; evaluate prompts, and left the problem of logically modeling&#x2F;checkpointing unsolved.<p>Having platform tooling backgrounds, we felt that a good abstraction would help improve the experience. These problems all got easier to think about when we modeled applications a state machines composed of “actions” designed for introspection (for more read <a href="https:&#x2F;&#x2F;blog.dagworks.io&#x2F;p&#x2F;burr-develop-stateful-ai-applications">https:&#x2F;&#x2F;blog.dagworks.io&#x2F;p&#x2F;burr-develop-stateful-ai-applicat...</a>). We don’t want to limit what people can write, but we do want to constrain it just enough that the framework provides value and doesn’t get in the way. This led us to design Burr with the following core functionalities:<p>1. BYOF. Burr allows you to bring your own frameworks&#x2F;delegate to any python code, like LangChain, LlamaIndex, Hamilton, etc. inside of “actions”. This provides you with the flexibility to mix and match so you’re not limited.<p>2. Pluggability. Burr comes with APIs to allow you to save&#x2F;load (i.e. checkpoint) application state, run custom code before&#x2F;after action execution, and add in your own telemetry provider (e.g. langfuse, datadog, DAGWorks, etc.).<p>3. UI. Burr comes with its own UI (following the python batteries included ethos) that you can run locally, with the intent to connect with your development&#x2F;debugging workflow. You can see your application as it progresses and inspect its state at any given point.<p>The above functionalities lend themselves well to building many types of applications quickly and flexibly using the tools you want. E.g. conversational RAG bots, text based games, human in the loop workflows, text to SQL bots, etc. Start with LangChain and then easily transition to your custom code or another framework without having to rewrite much of your application. Side note: we also see Burr as useful outside of interactive GenAI&#x2F;LLMs applications, e.g. building hyper-parameter optimization routines for chunking and embeddings &amp; orchestrating simulations.<p>We have a swath of improvements planned. We would love feedback, contributions, &amp; help prioritizing. Typescript support, more ergonomic UX + APIs for annotation and test&#x2F;eval curation, as well as integrations with common telemetry frameworks and capture of finer grained information from frameworks like LangChain, LlamaIndex, Hamilton, etc…<p>Re: the name Burr, you may recognize us as the authors of Hamilton (github.com&#x2F;dagworks-inc&#x2F;hamilton), named after Alexander Hamilton (the creator of the federal reserve). While Aaron Burr killed him in a duel, we see Burr being a complement, rather than killer to Hamilton !<p>That’s all for now. Please don’t hesitate to open github issues&#x2F;discussions or join our discord <a href="https:&#x2F;&#x2F;discord.gg&#x2F;6Zy2DwP4f3" rel="nofollow">https:&#x2F;&#x2F;discord.gg&#x2F;6Zy2DwP4f3</a> to chat with us there. We’re still very early and would love to get your feedback!

7 comments

pamaabout 1 year ago
Thanks for these efforts. I am surprised that you “… were surprised how many built bespoke state management layers and used printlines to debug.” Print is the common debug tool since the start of CS, and bespoke state management layers, though not ideal in a hypothetical world, involve less transition effort than a commitment to a new framework not invented here that eventually has to change. Maybe you meant something different?
评论 #39923768 未加载
评论 #39921864 未加载
krawczstefabout 1 year ago
A couple of days ago there was this Show HN post on Jaiqu - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=39881753">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=39881753</a><p>The repo has a mermaid diagram, but the code doesn&#x27;t really reflect that (which is typical of most agent-ic apps we&#x27;ve found!). So I went about refactoring to add Burr since with Burr we should be able to get close to having code that reflects the desired flow. You can see my Burr version in the following PR; it&#x27;s could be a little cleaner, but I think I&#x27;m leaving it in a better place if you had to figure out what was going on and trying to iterate&#x2F;debug a response - <a href="https:&#x2F;&#x2F;github.com&#x2F;AgentOps-AI&#x2F;Jaiqu&#x2F;pull&#x2F;5&#x2F;files">https:&#x2F;&#x2F;github.com&#x2F;AgentOps-AI&#x2F;Jaiqu&#x2F;pull&#x2F;5&#x2F;files</a>.
talos_about 1 year ago
There&#x27;s a LOT of LLM frameworks out there. The &quot;bring your own framework&quot; adds flexibility instead of endless integrations (like in ML libraries and MLOps tooling).<p>If I&#x27;m getting started with LLMs or have 1-2 POC deployed at my company what&#x27;s the benefit of adding burr to my stack?
评论 #39921778 未加载
zainhodaabout 1 year ago
Looks really interesting! I saw something in the code about streaming. Could you explain that a bit more?
评论 #39921079 未加载
juliantcchuabout 1 year ago
Have been using it the past few weeks and loving it so far. Highly recommend
评论 #39923013 未加载
jondwillisabout 1 year ago
Any plans for a JS&#x2F;TS companion, like LangGraph has?
评论 #39920613 未加载
exe34about 1 year ago
Had a quick look and couldn&#x27;t find anything obvious - is it easy to point to a llama.cpp server on a different machine pretending to be openai?
评论 #39920807 未加载