Forget CrewAI & AutoGen, Build CUSTOM AI Agents!

Поділитися
Вставка
  • Опубліковано 13 січ 2025

КОМЕНТАРІ • 114

  • @matten_zero
    @matten_zero 8 місяців тому +15

    We need a framework that is very easy to use that is very clear qnd well documented. Right now unless you are a very very experienced dev its is hard to understand these frameworks. I now build my own functions from scratch (loaders, memory, tools) and just reuse them between projects. For one it helps me understand my code fully and know where to debug. Ive tossed the idea around of building a repo of LLM-related objects that are modular and that anyone can use and understand and customize further as they like.

  • @technovangelist
    @technovangelist 7 місяців тому +3

    So many on my channel and my live streams have also indicated this frustration with the agent frameworks. The function calling in ollama is pretty rock solid but many frameworks have problems with it so that’s frustrating too. Thanks for putting this video together.

  • @donconkey1
    @donconkey1 7 місяців тому +2

    What a delight it was to discover your channel! You speak clearly and provide details at a pace that is easy to understand. Great job unpacking popular agent frameworks and custom agents. Excellent video, presentation, and materials. Thanks!

  • @freedtmg16
    @freedtmg16 8 місяців тому +18

    Dude I've come to the same conclusion like in the last week. The timing for this is on point.

    • @sheaspop
      @sheaspop 7 місяців тому

      Same same. For browser based open ended tasks in particular

  • @darwinprod
    @darwinprod 8 місяців тому +17

    This makes the most sense I've seen on the subject in a long time.

  • @JulianHarris
    @JulianHarris 8 місяців тому +6

    A great follow-up to this - as you’re creating input /output pairs could be to optimise the prompts by using DSPy with 5-6 combinations. AFAICT DSPy currently would need a model for each agent.

    • @Data-Centric
      @Data-Centric  8 місяців тому +2

      I did something on DSPy a few months ago, it might be worth revisiting it to see what has changed with the framework.

    • @varunmehra5
      @varunmehra5 7 місяців тому

      @@Data-Centric Please do share

  • @davidcheung8063
    @davidcheung8063 4 дні тому

    great summary of the challenge. I'm experiencing the same challenge and often faced with OpenAI default, when choosing non-openai, becomes a pain to use..

  • @jakeparker918
    @jakeparker918 7 місяців тому +1

    Just started this video but looking forward to it. Definitely saw limitations due to the abstraction of CrewAI and Autogen. Recently learned about LangGraph but this looks like some nice next level customization.

  • @Bana888
    @Bana888 8 місяців тому +3

    Great rationalization and analysis. There's always pros and cons for both approaches. It's the convenience and quick ramp-up vs performance and targeted implementation. Would be great if you can somehow come up with a hybrid approach, i.e. just enough of a generic framework to ramp up but customize areas requiring more performance. Looking forward to your evaluation of AutoGen customization.

  • @alexpippitt8015
    @alexpippitt8015 7 місяців тому +1

    I dont make comments, usually. But this teaching video is wonderful! Excellent job coviering the tool and because you speak so clearly and at a speed I can easily understand, I subscribed. I too have tried the other frameworks and found them lacking. I am lookinng forward to setting up some tools to test. And because it's not quite ready, I am thinking about a creating a eval/measurement agent tool to collect the results. Thank you very much.

  • @yt-caio
    @yt-caio 8 місяців тому +2

    I like your take regarding customization. I also felt that the moment you start customizing the mentioned frameworks it is a bit a hassle since you get constrained by their pre-defined workflow structure. I decided to make prototypes with langchain since it is more modular and has lots of features that works more like building blocks than a framework. Great content, cheers.

  • @arinco3817
    @arinco3817 8 місяців тому +2

    This is so so good! I'm so into these agentic workflows myself, it's really cool to see how other people go about connecting things up

  • @danielpaurat1783
    @danielpaurat1783 7 місяців тому +1

    Your conclusion matches my experience in every point spot on! Well put into words.

  • @JohnBoen
    @JohnBoen 8 місяців тому +1

    Exactly.
    Autogen - you have to put the agent interaction logic in the prompt.
    CrewAI lets you properly create a workflow, but it just is not how I would do it.
    That is kind of what I worked on this week. I'd made a decision to use LangGraph, and well...
    Thanks for showing me your ideas :)

  • @taylormcclenny1416
    @taylormcclenny1416 8 місяців тому +4

    Wow. Thanks for making this code available, my man! Great stuff.

  • @benh8199
    @benh8199 8 місяців тому +6

    There’s a competitor to autogen and crewai called Agency Swarm by VRSEN. I haven’t used it yet but the author claims you can customize all prompts, including the framework/hidden prompts. Would love to hear your evaluation/opinion about this framework and whether it’s a good hybrid in between autogen/crewai.

    • @JonathanLyon
      @JonathanLyon 8 місяців тому +3

      agreed, I'd love John to evaluate Agency Swarm

    • @Data-Centric
      @Data-Centric  8 місяців тому +8

      A few people have mentioned Agency Swarm and Lang Graph now. I'll see what I can do :)

    • @jarad4621
      @jarad4621 8 місяців тому

      ​@@Data-Centric Thanks agent swarm please rather not langraph as its likely not production ready as it's langchain. A swarm lóoks amazing. Also check anything llm, very promising enables function cals for models that can't usually do that

    • @trezero
      @trezero 8 місяців тому +7

      Agency swarm is not using open source though. You'll still be paying openAI for every task. There is little point in my opinion to compare open source frameworks like Autogen or this custom way of building agents as the large commercial pay as you go processes. The power of open source agents is really seen when combined with open source models so that you can have a completely secure, cost controlled, on prem, air gapped, solution. IMHO.

    • @benh8199
      @benh8199 8 місяців тому +1

      @@trezero as per the authors latest video, agency swarm now allows you to use any LLM, including open source models, although he still recommends OpenAI

  • @amusendame
    @amusendame 7 місяців тому

    You provided great insights here. I think this is where phidata comes in also. It allows you do define prompts for each agent you create. However custom builds are always the best

  • @dieter6375
    @dieter6375 8 місяців тому +2

    Great video! I'm still conflicted about whether to build agents myself (I'd use a state machine for the agents) or to use LangGraph, which handles much of the foundational work while still allowing for high customization of the agents.

  • @Custom.AIAgentAcademy
    @Custom.AIAgentAcademy 8 місяців тому +3

    Very Practical Approach. CrewAI is a distraction at the moment when people can spend less time and money just learning api and function calls

  • @MrAhsan99
    @MrAhsan99 7 місяців тому

    Man, you are dropping gems! Thanks for posting and sharing amazing content and tips.

  • @sobukwelu
    @sobukwelu 8 місяців тому +2

    Thanks for creating an alternative to using these tools. And keep creating great content!

  • @build.aiagents
    @build.aiagents 8 місяців тому +6

    My new favorite channel!

  • @robsoncoutinhoti
    @robsoncoutinhoti 7 місяців тому

    Thank you, my brother, for sharing your knowledge. This video is very helpful for me because I'm creating a new feature and I'll use agents to accomplish my needs. This video provides me with many insights.

  • @fullstackpedro
    @fullstackpedro 7 місяців тому

    Thanks a lot for that information. that was the question I was looking for an answer for. Wish you the best!

  • @NoCodeFilmmaker
    @NoCodeFilmmaker 8 місяців тому +3

    Awesome video and love the way you explain and code bro

  • @morease
    @morease 8 місяців тому

    Reliable function calling is up to you when developing the tools the agent use. On a side note, you could just have used a boolean in your function and let the LLM figure it out instead of responding with yes or no ;)

    • @morease
      @morease 8 місяців тому +1

      I implement “best of x tries” approach to get good quality outputs, and use a retry loop in case output validation fails…in that regards I like langchain’s output parser and am nog against mixing different parts of frameworks

  • @augustus6660
    @augustus6660 8 місяців тому +1

    Your content is simply incredible.

  • @Max_Jean
    @Max_Jean 8 місяців тому +1

    Fantastic work here this is massive to see the process!

  • @madhudson1
    @madhudson1 8 місяців тому

    after some experimentation, I had exactly the same sentiment. Although I still use langchain. I do like langgraph though as i feel like you still retain a lot of control

  • @ARCAED0X
    @ARCAED0X 8 місяців тому

    Woooo great work datacentric. Following from my last comment on the previous video my idea of narrowing the problem space was correct. Also my predictions for Open AI's GTP4o release 😅. Time to build some custom optimised agentic workflows 🎉🥳

  • @amitsingh-rv4hz
    @amitsingh-rv4hz 7 місяців тому

    Very informative - i am wondering if we can use localllms , smaller models in a framework to reduce costs , would love to hear your thoughts !

  • @RayWrightRayrite
    @RayWrightRayrite 8 місяців тому +1

    Thank you so much for this video!!❤❤❤. This is exactly what I was looking for. I will definitely check this out and see what results I get!

  • @thepetewinn
    @thepetewinn 8 місяців тому

    Great video I was just weighing up hand crafting agent workflows versus crew :)

  • @yuzual9506
    @yuzual9506 8 місяців тому

    Thanks for your project and your code. I want to use this kind agent in my new work. I will start as an assistant researcher engineer in my university, and help the documentalist, with agents.

  • @NicholasPanek
    @NicholasPanek 7 місяців тому

    Very well thought out and appreciated

  • @jenniferkanyunyuzi6693
    @jenniferkanyunyuzi6693 8 місяців тому

    This is good. Thank you. I have immediately subscribed. Looking forward to more useful videos like this from your channed

  • @sanesanyo
    @sanesanyo 8 місяців тому

    Good stuff mate. You got a new subscriber. Keep it up!!

  • @TestMyHomeChannel
    @TestMyHomeChannel 8 місяців тому

    Great video. I love the simplicity of it. I however could not get it to complete the task. It only found the city and the date. But whatever changes I made, the integrator did not assign the weather forecasting task back to the planning agent. It always said you can go to accuweather and find the information yourself. Could you please advise? Thanks,

  • @ankeeth-suvarna
    @ankeeth-suvarna 8 місяців тому +1

    I like to mix both Code and No-code. Tool call can simply be an API call to a workflow in n8n, Make or Zapier. gpt-4o if cheap would be perfect model for this

  • @morease
    @morease 8 місяців тому +1

    I’ve gone the custom road before, and have moved back to autogen now that they have a custom speaker selection function that allows all you need to control agent workflows, and it finally makes it work the way you want…did you try it?

    • @morease
      @morease 8 місяців тому

      Ha, did not finish the video and just heard you say you didn’t…I suggest you try it!

  • @jeffdavis5196
    @jeffdavis5196 7 місяців тому

    Agreed, it seems all these frameworks are made from very simple code. That's not to say we can't look at the code in these frameworks and figure out how to do specific things, and see the prompts many of them have come up with to speed up the development of our own agents -- especially since they are all generally MIT licensed. Also, I'd have to say it seems like many of these frameworks encourage too much be done with the LLM's including many things that could be done with "classical" (lol) automation and machine learning techniques both faster and cheaper -- that seems to be commonplace among agent examples.

  • @tee_iam78
    @tee_iam78 6 місяців тому

    Masterpiece. Thank you.

  • @petsol
    @petsol 8 місяців тому +1

    Great video! I'm a little bit confused when you create a WebSearcher instance within a function of the WebSearcher object. What is the point of that, Why not just use self?

    • @Data-Centric
      @Data-Centric  8 місяців тому

      I think you're right here, could just use self!

  • @briangbhawaii
    @briangbhawaii 8 місяців тому

    Thank you for doing this video. I was coming to the same conclusion as well. Great job! RE: Lower-level models have been garbage and expensive. I'm sure I'm using it wrong but it solved it with higher models.

  • @vastvitamins1966
    @vastvitamins1966 8 місяців тому

    Great video thanks. Did you build the scaper from scratch if so what are some ways you think it could be better?

  • @SolidBuildersInc
    @SolidBuildersInc 8 місяців тому

    I am very impressed with the Pure Python approach to building agents. Kudos
    With that being said, have you thought about how to allow the agents to be self constructed from a control sheet to define roles, task and outputs via .csv or .toml file?
    It seems that the more you understand the structure, the more feasable it is to automate the construction of the code, maybe via Flask.
    Thank you for sharing and for any feedback on this approach.....
    Why....?????
    Client Instant Gratification.
    It would be nice to listen to their needs and have a reasonable prototype to demo instantly.

  • @eagleeyedjoe0075
    @eagleeyedjoe0075 8 місяців тому

    This is an excellent tutorial, thank you

  • @Dis-Trackted
    @Dis-Trackted 7 місяців тому

    Great video! Does anyone know about a similar walkthrough for building AI Agents in JS/Typescript?

  • @WifeWantsAWizard
    @WifeWantsAWizard 7 місяців тому

    Excellent video! Thank you!

  • @vl231
    @vl231 8 місяців тому

    Firstly Thank you for your Works here you make things easy to understand.secondly is there anyway we can talk only 5 min via discord or someother apps? Thank you again

  • @sirishkumar-m5z
    @sirishkumar-m5z 5 місяців тому

    Why settle for less when you can build exactly what you need? SmythOS provides the platform to create fully customized AI agents tailored to your specific requirements.

  • @themax2go
    @themax2go 8 місяців тому +1

    instead of "crafting" prompts and specific flow why not rather have all of that created using a "generative ai prompt engineer" and "workflow" agents that genetate those required components from a prompt and / or diagram

  • @sai_ai-z1c
    @sai_ai-z1c 4 місяці тому

    Workplaces can change when AI and analytics are combined. For this, have you looked into how SmythOS and other platforms improve AI agent collaboration? #SmythOS #Aitools

  • @jimbig3997
    @jimbig3997 8 місяців тому

    So should I import a module called "BeautifulSoup" or a module called "crewai"? Which do I trust more not to compromise my system?

  • @harsshraj
    @harsshraj 7 місяців тому

    Great Video, is there any way to use groq api?

  • @harshilpatel4989
    @harshilpatel4989 6 місяців тому

    What is your view on Langgraph?

  • @ntisithoj
    @ntisithoj 8 місяців тому +1

    Great video! Thanks. I have tweaked the code to make it run locally using a model that supports function calling (NousResearch/Hermes-2-Pro-Llama-3-8B)... to avoid the crazy costs, as you have noted elsewhere. Unfortunately, the JSON returned in `generate_searches` is missing `choices[0]'.message'['tools_call']`. I have tried other models as well Ollama and LM_Studio. Is there a different way, if you happen to know, how to add tools to non-gpt models that specifically support function calls?

    • @Data-Centric
      @Data-Centric  8 місяців тому +1

      Thanks for this. I suspect you will have to adapt the generate_searches function to return the search results from the JSON. Haven't looked into using this script with local models myself but that's my best guess.

    • @vispinet
      @vispinet 7 місяців тому

      @@Data-Centric the problem is that the search results are not returned in the JSON. Unless I'm missing something...

    • @vispinet
      @vispinet 7 місяців тому

      did you find a solution?

    • @ntisithoj
      @ntisithoj 7 місяців тому

      @@vispinet Thank for replying. I don't have the project in front of me ATM, but, the app code was returnign JSON, no? I was just using the JSON that the app returned. I will look into it some more.

    • @ntisithoj
      @ntisithoj 7 місяців тому

      @@vispinet No. I have gotten lost in CrewAI for a bit, which is a royal PITA, and why I was looking at data-Dentric's solution, but after some days of not being able to figure out how to access/manage the internal fucnctions to get the 'coices' field, and went back a Crew. Sadly, I am not at a level of understanding witrh it comes to AI and Python to solve such esoteric problems :(

  • @wowzerxx526
    @wowzerxx526 8 місяців тому

    Love the work bro, no hate! But why would one develop something of this nature when you can just directly ask chat gpt 4 and will get the same solution?

  • @YapayZeka-iy5zu
    @YapayZeka-iy5zu 6 місяців тому

    Thanks. It is a very nice tutorial. I tried your code with a simple change: instead of using openai, I tried ollama and "qwen2:7b" as the model.
    Now I get KeyError: 'tool_calls' at line "tool_calls = response_dict['choices'][0]['message']['tool_calls'][0]".
    There is no "tool_calls" in the message value.
    Any advise to solve that problem. (I can't use openai because I don't have an API_KEY)
    Actually, the result is in ['choices'][0]['message']['content']

  • @none-hr6zh
    @none-hr6zh 2 місяці тому

    How to use local llms in your setup

  • @Infinityhoops1111
    @Infinityhoops1111 8 місяців тому

    Hello do you do any mentoring? I’ve trying to solve some workflows and I’m bound by my inferior knowledge of code. I know what I want to accomplish but coding isn’t my strength.

  • @vaioslaschos
    @vaioslaschos 7 місяців тому

    Is this really true for langchain as well? I thought is totally customizable.

  • @maxh96-yanz77
    @maxh96-yanz77 8 місяців тому

    we need clean and honest review rather that hype. Also for individual project open source and open LLM is more desireable . Could you please make video for this 🙏🙏🙏

  • @paladinfinancial
    @paladinfinancial 2 місяці тому

    For nearly all of the frameworks (Swarm, CrewAI) it doesn't work on Colab and doesn't work in my local environment. I don't know how anyone is even getting these successfully installed tbh

  • @JulianHarris
    @JulianHarris 8 місяців тому

    Yeah thanks for doing the legwork on this. I might see a point to crewAI in future but a bit like Langchain it feels like it adds a lot of boilerplate and complexity for little gain. Particularly in this day and age where 50-90% of the code anyone writes is AI-copiloted anyway.

  • @realCleanK
    @realCleanK 7 місяців тому

    Thank you!

  • @icebergov
    @icebergov 8 місяців тому

    Great video

  • @mchl_mchl
    @mchl_mchl 8 місяців тому

    Yeah also don't need to re-invent it - those frameworks are a great place to learn how those general use cases work on the backend.
    You can even paste that code into a gpt and learn how it works.
    Building "custom" is usually like 80% of something that already exists, and applying 20% custom code for specific use case.
    the prompt engineering, data ETL, and general problem solving / critical thinking is the hard part - imo

    • @mchl_mchl
      @mchl_mchl 8 місяців тому

      Great video - Always love your mindset on these workflows!

  • @jasonb_
    @jasonb_ 8 місяців тому +1

    You’re right, open source libs are helpful to get started but writing your own stuff is the only way.

    • @jordanallen9536
      @jordanallen9536 8 місяців тому

      If you start from scratch every time, you'll be lucky to get anything meaningful done. If you do, maintenance will kill it. Frameworks and open source projects thrive for a reason. Only venture off when you're damn sure it's worth it

  • @themax2go
    @themax2go 8 місяців тому

    why not run it using local llms and then no token costs...

    • @Data-Centric
      @Data-Centric  8 місяців тому

      You planning on using Local LLMs in production then?

  • @juanpasalagua2402
    @juanpasalagua2402 7 місяців тому

    Awesome!

  • @terbospeed
    @terbospeed 8 місяців тому

    I wanted an apple pie so I had to invent the universe. After I tried looping LLM output back into itself I laughed, but still trying to figure out the next steps.

  • @BrianCarter
    @BrianCarter 5 місяців тому

    Have you tried it with llama 3.1? I know, you’ve had one day! 😂

  • @TheStubLord
    @TheStubLord 7 місяців тому

    This is great but i am perplexed you are not using linux 😮

  • @st.3m906
    @st.3m906 8 місяців тому

    I agree 100%

  • @MD0074707
    @MD0074707 8 місяців тому

    Respect!

  • @build.aiagents
    @build.aiagents 8 місяців тому

    Phenomenal

  • @Bakobiibizo
    @Bakobiibizo 8 місяців тому

    agreed

  • @NA18NA
    @NA18NA 8 місяців тому

    👌🏾

  • @dafunkyzee
    @dafunkyzee 6 місяців тому

    Just ummmm... so you started with $2.16 and after running the agent as a custom you finished with $2.17 suggesting it was really cheap to run.... ummm... I'm not the most logical person in the world but.... 2.17 > 2.16... WTF? So ok there was a rounding error somewhere in there because the run time is fractions of a cent but it still should be the same or smaller number. Then you went on to say that CrewAI and Autogen cost 30 cents... well conservatively we can assuming the cost of running your custom agent is less than 10% of one cent (.1) that makes running a custom agent approximately 300 times more efficient over crew ai. Mind you that is a conservative estimate it could be anywhere up to 3000X more efficient as a guess. I feel you kinda down played exactly how F!#$#@! amazing that point is in favor of custom agents.

  • @jordanallen9536
    @jordanallen9536 8 місяців тому

    Your title is completely misleading. I'm well aware of function calling and other features of various LLM APIs. How do I accommodate hierarchical processes, shared memory, and custom routing? Sure, I could build my own logic, but why "reinvent the wheel?" Your example gets nowhere close to the complexity that CrewAI is capable of. As a dev, it shows a complete lack of respect for the devs that built those frameworks. Unsubscribing.

  • @toromanow
    @toromanow 8 місяців тому

    I'm not getting the same results. For your sample prompt, "What is the current weather forecast in the city where the next olympics will be held?" I get: "Final Response: The next Olympics, the 2024 Summer Olympics, will be held in Paris, France, from July 26 to August 11, 2024 (source: [Wikipedia](en.wikipedia.org/wiki/2024_Summer_Olympics)).
    Now, let's find the current weather forecast for Paris, France." (stops and exits right here)