Spring Tips: Spring AI

Поділитися
Вставка
  • Опубліковано 29 вер 2024
  • Hi, Spring fans! In this installment we'll look at the new Spring AI project, which provides convenient integrations with LLMs (like the one behind ChatGPT) and tools to support the RAG (retrieval augmented generation) pipeline.
    the code is available here: github.com/spr...
    #ai #springboot #artificialintelligence #java #graalvm #cloud #java21 #postgresql

КОМЕНТАРІ • 83

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

    If all UA-cam content was as informative and to the point as this... Job well done, and much appreciated!

  • @pedrolopes7813
    @pedrolopes7813 5 місяців тому +1

    Very fun and informative demo Josh! Thanks. I'll definitely use this soon on few personal projects

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

    I was testing the integration with Pinecone vector database and is amazing. I built the frontend with nextjs and backend with spring boot. Thanks ✌️

  • @DorBenDov
    @DorBenDov 4 місяці тому

    Very good and simple explanations. i tried and it works great, changed to my samples, also worked very good and very fast.

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

    Always great man !

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

    Josh Long thinks and types code so fast that his videos are the only ones I need to slow down on youtube instead of speed up

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

      Was thinking the same thing: finally a video you do not have to speed up!

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

    Where is the Open AI API configuration done?

  • @hdsystem
    @hdsystem Місяць тому

    Dude, where can I get that Spring t-shirt?

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

    can you share the repo ?

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

    This is cool. However I still have mixed feelings about using a strongly typed language for AI. AI is on the opposite end of the spectrum. All that strong typing looks pointless when your inputs and outputs are blunt strings and borderline non-deterministic. Doing AI in Java feels like going the beach in a tuxedo. That aside I do see that Java can still be useful in the sense that all the bluntness / non-determinism in your application is a function of the external AI model and rest of your application is completely robust and deterministic.

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

    There's nothing easy with spring.
    Documentations are meant for robot.
    The code is super verbose.
    Even the example in documentation isn't working.

  • @coldstone87
    @coldstone87 7 місяців тому +5

    Awesome. Indeed a great time to be a java developer

  • @samiulalomsium-t7i
    @samiulalomsium-t7i 8 місяців тому +72

    Spring is becoming the most advanced backend framework of all kinds of backend frameworks of all languages.

    • @Lykkos29
      @Lykkos29 8 місяців тому +9

      absolutely!!! it's getting better and joyful to work with

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

      java is shit. fucking old, slow, high resource consuming, heavy.

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

      @@Lykkos29 you prolly havent seen other framework.

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

      @@h2o2m3n axum from rust, not even close to surpass spring 😎

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

      Nope. Quite the opposite. In my env, a large financial org, people are combining multiple Spring projects to form a complex monolithic stack, difficult to debug. Pile on Spring Integration AWS on top of Spring Cloud AWS on top of Spring Session JDBC on top of Spring Security.

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

    has anyone tried spring AI coin springboot 3.0.0? i have tried and the application won't launch.

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

    This will be revolutionary!

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

    dude make something with your audio in all videos you sound like echo, not pleasure to ears listen, its pity

  • @DuongTran-zh6td
    @DuongTran-zh6td 8 місяців тому +2

    world need spring AI

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

    I think you should probably have explained the configuration a bit more, I couldn't grasp anything in one watch.

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

      Anyone get this to work? The spring documentation examples don’t work.

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

    the ocean of knowledge.

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

    could you pl. share github url of the code used..

  • @DuongTran-zh6td
    @DuongTran-zh6td 8 місяців тому +1

    world need spring AI

  • @ticler
    @ticler 8 місяців тому +5

    Spring OS when?

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

    Your Java app is not smart enough to understand the response from AI. It just printed out that response for a human being to parse.
    How do you unit test it?
    Given: a particular pdf file
    When: I feed that file to AI and ask AI this question "blah blah blah"
    Then: AI will response this "another blah blah"
    Are you sure that AI will response with that "another blah blah" every time you ask it "blah blah blah"?

    • @lbognini
      @lbognini 6 місяців тому +2

      What you want to do is integration test. Not unit test.
      You are trying to test OpenAI, not your App.

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

      @@lbognini Yes, integration test is a more correct word. How to write that kind of test when we don't know what the output is for a given input?

  • @tuliomop
    @tuliomop 6 місяців тому +1

    Thank you for all your professional job

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

    Hello Josh,
    Great job in explaining in detail. This really helps and gives a glimpse of Spring in the AI world. The world really needs Spring AI.
    Btw, could you please share the pdf file you have used in this demo or uploading to GitHub would be really helpful to try the same on our own?
    Thanks a bunk in advance

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

    Great Job

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

    It's awesome!

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

    How can I use where i have 10K transactions I want to build AI-based recommendations by feeding these transactions so our system can give personalized recommendations how can i achieve it with spring

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

    Marketing crab .. basic API calls to open AI nothing special about it ..

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

    Hi! Could you kindly provide a link to github project or something? Thanks!

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

    where can i find the git hub project for this example

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

    It was an awesome and very impressive demo of the new feature.

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

    Thanks Josh! You should be a speaker at JFocus in Stockholm next year.

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

    Are you going to support the openai assistant API?

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

    Any idea why I'm getting this err even before developing the application discussed here. I did not make atleast 10 requests to open ai, but openai says my quota over? Should I upgrade for learning phase too?
    Err Received: 429 - ResponseError[error=Error[message=You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs:

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

      Hi, that happened to me too. If it's not a new account, you don't have 5$ free trial, so you have to buy tokens.

  • @DuongTran-zh6td
    @DuongTran-zh6td 8 місяців тому

    world need spring AI

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

    Thanks for the tutorial!
    I managed to run this "on my machine". What I discovered is that the pdf document is just split into pages and fed into pgVector. Similarity search then returns top4 results (the 4 best pages) by default which are then sent to chatGpt. It is possible to configure similarity search to return more/less results (pages). Similarity search is quite slow on my computer, it takes a couple of seconds (I have a "normal" consumer laptop with i5). I suppose if there were 100 or 1000 pages not 10 then the similarity search would really get slow.
    Too bad the call to openAi was performed with blocking .call()🤭 Spring AI and openAI support reactive calls (returning streams/Flux) so why not use them?

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

      Listen carefully at 18:44 and 21:50

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

    Which IDE is that?

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

    Nice ❤

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

    Fantastic!

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

    Why we need to make OpenAI request for every time for any questions that we ask in the pdf? Would be great if that's explained or the right resources attached. We read the PDF and store in the vector and ask question from the vector_store. What is the role openAI rest call plays here? Why we need subscription? Any response must help.

    • @lbognini
      @lbognini 6 місяців тому +1

      The LMM behind the OpenAI API is the one that actually answers the question. The Vector Store just converts the corpus of all documents (pages of documents in this case) into 1536-dimension vectors of numbers and stores them in the database, along with the textual page content.
      When a question (user message) comes in, the similaritySearch method will convert it into a vector of same size and use some similarity function (like dot product) to compare it to the vectors in the database. The text content corresponding to the most similar vectors is then retrieved and injected in the template of the prompt. The result (system message) along with the question (user message) are used to call the OpenAPI model to get the response to the question.
      So Vector Store is just used here to find out the relevent contextual text to add to the question in order to give the model additionnal information it must take into account when generating its response.
      Vector Store by itself can not answer the question.
      The API calls require a subscription with OpenAI. It's not free.

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

      Thanks a lot for your time. Do you say the user message get converted to a dimension number to the question in the pdf already and then the numbers are compared to get the answer? Dimension means here the dimension of pages in the pdf? And those dimensions are stored and compared by AI to respond to the user? Is my understanding right?

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

    Why Postgres? Can we use some other DB?

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

      09:05 There are many vector stores you can choose from.

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

    which ide used in the video?

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

      IntelliJ Idea, I think Ultimate version.

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

    Meanwhile Dmitri after finding about Spring AI : ua-cam.com/video/WuL4NKDkc8M/v-deo.html&ab_channel=ShandilyaCodes

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

    Spring sucks...

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

    Maven? Why the regression... thought Spring is fully in the Gradle world.

    • @CheeseStickzZ
      @CheeseStickzZ 8 місяців тому +9

      Gradle sucks. Maven all the way

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

      Gradle is better if only you need to put some custom logic with tasks into projects. Otherwise (especially for tutorials) maven is way better and stable - once declare then it's needed only to update libs/plugins versions. And btw maven also consumes less resources.
      IMO

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

      The things gradle allows you to do, you should probably not be doing them.Stopped using gradle 5 years ago.

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

      @@CheeseStickzZ reason for stating such a strong opinion?

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

      @@lhxperimental could you share some of those things?

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

    Java DEAD

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

      Since when

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

      @@mqtrade5743 since overpriced language

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

      @@andrews4379 overpriced language? How can language be overpriced?

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

      When did this happen?😂

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

    Hello, please reply to my message. How can I access the samples made on this channel? I need the examples made in this channel. Is there a GitHub link? Please.

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

      this information is showed at 07:15

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

      Thank you brother. ❤ 😂​@@hamiltonmbrito

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

    Love the effort!