Creating an AI Agent with LangGraph Llama 3 & Groq

2024 ж. 16 Мам.
27 161 Рет қаралды

This video picks up from the previous video and we convert the last Agent to be a LangGraph Agent and make it a bit more advanced. Still using Groq & Llama3 70B for the LLM
Colab: drp.li/X3hpZ (code)
🕵️ Interested in building LLM Agents? Fill out the form below
Building LLM Agents Form: drp.li/dIMes
👨‍💻Github:
github.com/samwit/langchain-t... (updated)
github.com/samwit/llm-tutorials
⏱️Time Stamps:
00:00 Intro
00:22 LangGraph Ecosystem
02:17 LangGraph Video
02:30 LangGraph Concepts
05:03 LangGraph Workflow
10:40 The Goal
12:17 Utility Function
12:46 Basic Chains
19:17 Tool Setup
19:39 Setting Up LangGraph State
20:50 Nodes
25:23 Conditional Edges
26:52 Build the Graph

Пікірлер
  • Finally! A presentation on LangGraph that makes sense. Sign me up for any of your courses. I value your work.

    @wadejohnson4542@wadejohnson454220 күн бұрын
  • great, solid base concepts! converting from colab to code is the perfect exercise to digest what you explained. Thank you !

    @an4aWebBasedSoftware@an4aWebBasedSoftware19 күн бұрын
  • Thank you! Your style of explanation is very clear.

    @anhhct@anhhctКүн бұрын
  • Fantastic intro to langgraph. It's awesome how well you explain this complex topics. Keep up the good work! Cannot wait more real life examples with rag.

    @marcintabedzki3578@marcintabedzki357821 күн бұрын
  • Superb intro. Thanks for making such amazing content

    @akhilsrivastava3371@akhilsrivastava337120 күн бұрын
  • Please make a video where rag is used! Most companies use their own data to answer questions rather than web search.

    @kai_s1985@kai_s198521 күн бұрын
    • I will I just realized it was going to be so long (time wise) for this one after explaining the LangGraph stuff. Probably next vid or early next week.

      @samwitteveenai@samwitteveenai21 күн бұрын
    • Yes I 100% agree

      @austinpatrick1871@austinpatrick187120 күн бұрын
    • Replace the tool like search with custom chain(which does rag) Congratulations, you successfully implemented RAG using agents

      @adithiyag4616@adithiyag461619 күн бұрын
  • I have finally understood LangGraph!

    @mr.daniish@mr.daniish17 күн бұрын
  • Excellent video as always ❤

    @sayanosis@sayanosis21 күн бұрын
  • Thank you so much. I'm so happy that I found your content! ❤❤❤❤

    @teprox7690@teprox769020 күн бұрын
    • Thanks, glad it is helpful

      @samwitteveenai@samwitteveenai18 күн бұрын
  • I've learned so much from you, thank you so much!!!

    @Munk-tt6tz@Munk-tt6tz17 күн бұрын
  • Great work

    @jerryyuan3958@jerryyuan395819 күн бұрын
  • Thanks for your Birds Eye View of tying it all together. It has definitely relaxed my mind to have a structured approach that makes since. With this structure, I wonder if it can be built from a control sheet.............. which would introduce a DRY/RAD approach for AI.

    @SolidBuildersInc@SolidBuildersInc16 күн бұрын
  • In this contrived example, it doesn’t look like LangGraph adds a lot of value, but requires quite a bit of setup. I mean, a simple script with no opaque marshaling and a few conditionals could achieve the same thing.

    @el_arte@el_arte21 күн бұрын
    • Could you elaborate on this? Instead of using langgraph here, how would you write this application?

      @yac7571@yac757115 күн бұрын
    • I was thinking this same thing. I actually built a moderately complex rag chatbot with various conditionals as you mention calling what I guess you can think of as tools. It really makes me rethink what the term “AI AGENT” even means.

      @dylanlapierre9000@dylanlapierre900014 күн бұрын
    • think of it as a way that you can have your logic modified in the future without much changes in the code. Like all the steps and edges can stay the same, just the way you wire them together changes. Of course that also can be achieved without LangGraph as well though. Just like you can even build your llm application without LangChain. The AI and Python community seem to prefer ways of doing things with abstractions and prebuilt bells and whistles, just like the way the language is set up, clear and easy to read.

      @anhhct@anhhctКүн бұрын
  • Awesome vid Sam! Question on the Schema Parsing and retrying that you do. It looks like moving on from a node requires the LLM to output a particular schema (like JSON with particular keys). Are there easy integration points with Pydantic/Instructor so we can be sure of our output schemas with retry logic while getting the benefits of LangGraph’s simple flow abstractions?

    @riveww@riveww21 күн бұрын
  • Hi Sam. I love your content! I don't know if this is the proper way to report this, but in the colab notebook, the function def for 'route_to_rewrite' has the line 'research_info = state["research_info"]' which throws a runtime error, and the variable is not referenced in this module. Removing that line fixes the problem. Keep up the fantastic work Sam!

    @maggiethedog@maggiethedog17 күн бұрын
    • thanks I will update it. I tend to write these pretty quick 😀

      @samwitteveenai@samwitteveenai15 күн бұрын
  • Really great examples for routing. It’s kinda hard to get that down from the LangGraph examples

    @jdallain@jdallain21 күн бұрын
  • Thanks for sharing. I have intrest in LangGraph with llama 3 on local such use ollama

    @HomunMage@HomunMage7 күн бұрын
  • Dude keep it up. This is gold i only ask you build this stuff in a codebase like you might see in production. I find it really difficult to transfer code from ipynb to a vscode project, call it a mental block, and maybe I'm alone in feeling like this.

    @freedtmg16@freedtmg1621 күн бұрын
    • I only have an iPad and an android phone so the fact he's doing all of this in Colab at the moment is a god- send haha A lot of other youtubers covering this stuff use VSCode. But, he's a great communicator so I definitely understand your request.

      @AndreiSheard@AndreiSheard20 күн бұрын
  • Would you say Sam it would be better to use LangGraph from the get go. It seems straight forward enough and it wpuld appear you can get up and running quickly. I just dont see the point going through CrewAI first then transition to LangGraph? Another great video too love your work!

    @theh1ve@theh1ve21 күн бұрын
  • It's great ! BTW, if there's a complex graph, it's hard to build the relations without a map

    @Alan0707@Alan070720 күн бұрын
  • Thanks for video, I was getting key error when test for the other email when it needs to use the def route_to_rewrite(state). look like the research_info key is not required for def route_to_rewrite(state).

    @samansaadzadeh1833@samansaadzadeh183317 күн бұрын
  • Great video! I really like how clean and professional your diagrams look. What tool are you using to create them? I've tried Graphviz before but the results just aren't as polished and engaging. Would love to know your process for making such appealing visuals. Keep up the awesome work!

    @daniell.6463@daniell.646318 күн бұрын
    • thanks for the kind words I am using Excalidraw for the diagrams. Super easy to use as well. Check it out.

      @samwitteveenai@samwitteveenai18 күн бұрын
    • @@samwitteveenai thank you!

      @daniell.6463@daniell.646314 күн бұрын
  • This is great. BTW, what do you use for a tool to design these flows to explain them?

    @andreyseas@andreyseas20 күн бұрын
    • Thanks for the kind words I am using Excalidraw for the diagrams. Super easy to use as well. Check it out.

      @samwitteveenai@samwitteveenai18 күн бұрын
  • Thank you for the video. I think the graph allows to go write_draft_email->categorize_email->rewrite_email and rewrite_email assumes that state contains research_info (which I would not based on this path) or did i misread that? This seems to be a way to sidestep the lack of langchain tool support in groq (which I did not find - although there is tool support ) Thank you.

    @peterdecrem5872@peterdecrem587220 күн бұрын
    • It does a check after the categorize email if it needs research and then does research then a draft email and then another decision point for if it needs to rewrite. It is not using tools support as a function call, just using that Llama3 can handle JSON well and using that. You could also write some checking and retrying in there as well.

      @samwitteveenai@samwitteveenai18 күн бұрын
  • This is fantastic. Can the steps in LangGraph be captured by Langsmith? is there a way you could show this. Debugging through Langsmith these steps would be awesome

    @chainweaver@chainweaver17 күн бұрын
  • ⁠I slept over this and I now see a trend where people are obsessed with having any API interaction assisted or mediated by a LLM. It reminds me of the era of XML, when everyone wanted to use XML markup for everything, including network protocols. There’s a need to enable LLMs to interface with tools to extend their capabilities, but forcing natural language into every interaction seems a little weird. And, defining graphs to gate-keep reasoning flows seems brittle and limiting.

    @el_arte@el_arte20 күн бұрын
  • Curious whether this could also work in a Chatbot experience. So in this example you had an email trigger the event but could this work if a user wanted more functionality but within a Chat experience. Maybe you might have some ideas on how that might actually work.

    @chainweaver@chainweaver17 күн бұрын
  • Can you show how to integrate with Gmail and to run locally with our own data ? Also, how to train on our own data. THANKS

    @FinGloss@FinGloss21 күн бұрын
  • Can we use this process somehow to search the web and do research? Can't find this anywhere

    @jarad4621@jarad462117 күн бұрын
  • Excellent explanation Sam, thanks. I have run the script with other models on Groq and got some errors. Have you tried to run it with models like "Mixtral-8x7b-32768", and "Gemma-7b-It"? Your last implementation with CrewAI seemed more robust, for me it ran with all models on Groq.

    @TzaraDuchamp@TzaraDuchamp19 күн бұрын
    • This is super interesting as I didn't try this with those models, but I have done a bunch of stuff with Gemma and found it needed quite a bit of fine tuning to get it going with Agents. Thanks for testing it with the other models.

      @samwitteveenai@samwitteveenai18 күн бұрын
    • Yes, your code runs without errors with Gemma, but that model and Llama 3 8b can't handle the agentic aspect with the given code. They report 'Agent stopped due to iteration limit or time limit.'. This adversely affects the BTC price inquiry mail response. Mixtral 8x7b runs well and handles the agentic aspect. Llama 3 70b can become a bit congested (waiting list, though haven't had it with the API) due to popularity, so it's a good option to have. I would be interested in you exploring Llama 3 8b's agentic prowess.

      @TzaraDuchamp@TzaraDuchamp18 күн бұрын
  • Sam, question if you don't mind. My wife wants to have her sales information content incorporated behind a chat/RAG to answer questions from her content. Which system out there do you think would work best, that is low code for a non-dev. Ideally next part will be to access this via a membership website.

    @stephenzzz@stephenzzz21 күн бұрын
    • I am not up really on all the latest no code solutions, and privacy would be a big issue here. I do think Notion has done some really nice cool things with their adoption of RAG across all your databases etc

      @samwitteveenai@samwitteveenai21 күн бұрын
  • Can I implement the same logic using JS instead??

    @54peace@54peace21 күн бұрын
    • I think so but I haven't got around to trying LangGraph in JS.

      @samwitteveenai@samwitteveenai21 күн бұрын
  • Instead of email, u should try to demonstrate langgraph using stock research agents!

    @ps3301@ps330119 күн бұрын
    • Have thought about doing this. Might take another look at it.

      @samwitteveenai@samwitteveenai18 күн бұрын
  • Dark mode, please. Thanks.

    @Salionca@Salionca21 күн бұрын
  • When do you think someone will write a GUI design tool for LangGraph?

    @dr.mikeybee@dr.mikeybee17 сағат бұрын
    • FWIIW I have written something like this that handles CrewAI, AutoGen, and currently adding LangGraph. I will probably make a video at some point. There are still issues with regarding tools and complicated steps etc.

      @samwitteveenai@samwitteveenai16 сағат бұрын
    • @@samwitteveenai That's great! BTW, I wonder why LangChain and LangGraph aren't Ollama-centric? Certainly most processing should be locally, and Llama3 is amazing. Do you think it's because they get funding from ClosedAI?

      @dr.mikeybee@dr.mikeybee16 сағат бұрын
  • That's great, how about using an email from an account other than typing and passing the email prompt as it happens in the real world.

    @thedatascientist-lg4ls@thedatascientist-lg4ls17 күн бұрын
  • Does anybody have unlimited groq api? Mine is not active.

    @greendsnow@greendsnow21 күн бұрын
  • What is groq’s role here ?

    @nhtna4706@nhtna470621 күн бұрын
    • It's serving the Llama3 70B model on their platform. Gives you much faster inference speeds

      @samwitteveenai@samwitteveenai19 күн бұрын
KZhead