Building a self-corrective coding assistant from scratch

preview_player
Показать описание
LangGraph makes it easy to engineer flows with various cycles and decision points. Recent work by CodiumAI has shown that this is powerful for code generation, where answers to coding questions can be constructed iteratively using using tests to check answers, reflect on failures, and iteratively improve the answer. In this video, we show how these ideas can be implemented in LangGraph to build a coding assistant from scratch. We apply it to the LangChain Expression Language docs.

Paper:

Code:
Рекомендации по теме
Комментарии
Автор

I shit you not, 2 months ago I had the idea of using Abstract Syntax Trees and Control Flow Diagrams as part of advanced RAG mechanisms as an element to bring codegen based on whole repositories to the next level.

robertputneydrake
Автор

This guy is awesome. He explains advanced code and ideas so nicely and easy to understand 👍👍👍

maof
Автор

Whenever I see lance, i know the tutorial is going to be awesome, he teaches very slowly and accurately connecting the dots, thanks lance, from langchain (it has a nice ring to it)

Slimshady
Автор

Watching these its hard not to get lost in the potentials. Thanks for sharing. Putting time in learning more and practicing some concepts. Fun to brainstorm potentials and I learn a little more each video.

TraderE-flzm
Автор

Really awesome concept and presentation Lance! I'm really intrigued by all the work that's going into solving the code generation problem. I hear a lot of people dismissing the notion that AI will be able to generate more than a few lines of simple code at a time any time soon. They're typically thinking of LLM limitations. While this concept obviously doesn't quite get us to the "full-blown, complex app" level, it definitely shows that progress is being made, despite limitations of current LLMs. Nice work!

TimKitchens
Автор

Pretty nice, seems like this is just doing what we'd manually do when using chatgpt interface. Would love to see more examples, maybe around other verticals like text-to-sql, like how do you automatically validate that and something general like chatbots solving a problem like writing a blogpost

RobertoMartin
Автор

Incredible! I see several practical use cases. Thanks

chrisogonas
Автор

Very informative and useful. Would appreciate if you can do a video on Langraph with a sql/graph db chain as the nodes. Thanks !

kishorkukreja
Автор

This is a briliant idea. The only problem is that this coding assistant will probably backrupt my open ai account if the iteration runs more than 3 times, which is more likely to happen in real case....

perrygoldman
Автор

Thank you very much!! I appreciate your work on this topic with advanced flows and langchain

wSevenDays
Автор

Would be nice to compare results w/ various foundational models. I'm assuming an obvious case here is using a crappier but cheaper model eating the cost of multiple inference runs to get a potentially better result compared to less runs from a more expensive model.

dv_interval
Автор

Cool. 

However the execution success rate is not related to LangGraph per se, but the corrective ability of the design, which has been demonstrated by many non-langchain OSS, namely, open-interpreter, autogen, rawdog, etc.

And the real juicy part of those implementation is about two things: how do you handle package installation failure and code execution failure, which you have done in the video as well.

So the point is: it's not about langchain or langgraph, but the mechanism to do corrective coding.

Maybe it's better if you could compare how complex it is using bare-metal non-langchain python code to implement the corrective coding vs how easy it is using langchain/langgraph.

chengduman
Автор

Great! Do you have any example notebook showing how to use Langgraph for code generation in an external compiler language? Like, C for example - how do you replace the "exec" command (which is for Python code only, an "internal" compiler), and replace it with something that can call the C compiler, run it against the generated (and saved) code file, collect the compiler errors, put them back into the langgraph flow in the relevant node, and so on.

PrashantSaikia
Автор

Great job. I'd prob name the state nodes as 'node_generate' though and edge_check_code_imports.

jonclement
Автор

Is there some network visualization thing for this???

mohamedfouad
Автор

Awesome video. Does LangGraph / LangChain support instantiating the code generation within a Docker Container? Good to have guardrails for this.

DonBranson
Автор

Thank you for the amazing tutorial, can u also share the Notion note that you are using at the beginning of the video.

musdocx
Автор

LangSmithNotFoundError: Dataset lcel-teacher-eval not found

why am i getting this error?

mayanklohani
Автор

What if you will train another network on the correct paths in the graph (when solution is found in the graph) and then use that network as heuristic function to improve path finding. Will that improve search?

zedmor
Автор

Quick tip: open your next video with a slow, steady overview of the technology itself and what it wants. It helps to imagine you’re presenting a person that matters, that has all the feelings you do, ambitious goals and logic for its reason. Your job when tutoring should be that only, explain why that’s logical to ‘kids’ in your pretend audience, the parts that got you excited, and an overview of what you’ll do to follow said human’s logical plan. This is much better than just repeating stuff we can already see without you saying it’s there anyway ha. Then dive deep. It’s been fairly shallow and sometimes impossible to stay engaged in these clips since I first saw one last week. When someone says “I do this then that” then it’s simply saying they made something without ever explaining why, or when not to, and the point of why it expects that. Teaching happens when you provide the approach, yet never happens by simply reporting the approach.

maskedvillainai
visit shbcf.ru