Spring Tips: Spring AI

Поделиться
HTML-код
  • Опубликовано: 30 янв 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/spring-tips/llm-ra...
    #ai #springboot #artificialintelligence #java #graalvm #cloud #java21 #postgresql
  • НаукаНаука

Комментарии • 83

  • @petervangeenhoven6991
    @petervangeenhoven6991 4 месяца назад +16

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

  • @pedrolopes7813
    @pedrolopes7813 Месяц назад

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

  • @coldstone87
    @coldstone87 4 месяца назад +5

    Awesome. Indeed a great time to be a java developer

  • @user-hp6gf7lu8c
    @user-hp6gf7lu8c 4 месяца назад +66

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

    • @Lykkos29
      @Lykkos29 4 месяца назад +8

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

    • @h2o2m3n
      @h2o2m3n 4 месяца назад

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

    • @h2o2m3n
      @h2o2m3n 4 месяца назад

      @@Lykkos29 you prolly havent seen other framework.

    • @Lykkos29
      @Lykkos29 4 месяца назад +1

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

    • @hobaca1465
      @hobaca1465 4 месяца назад +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.

  • @lowabstractionlevel3910
    @lowabstractionlevel3910 4 месяца назад +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 4 месяца назад +3

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

  • @dibangshuwaddar1009
    @dibangshuwaddar1009 Месяц назад

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

  • @tuliomop
    @tuliomop 3 месяца назад +1

    Thank you for all your professional job

  • @luiscarbonel1991
    @luiscarbonel1991 3 месяца назад +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 26 дней назад

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

  • @compiled9787
    @compiled9787 4 месяца назад +7

    This will be revolutionary!

  • @davidgg8462
    @davidgg8462 4 месяца назад +2

    Always great man !

  • @DinMamma002
    @DinMamma002 3 месяца назад

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

  •  4 месяца назад +2

    Great Job

  • @channyeintun6411
    @channyeintun6411 4 месяца назад +2

    It's awesome!

  • @ashishkarn9283
    @ashishkarn9283 4 месяца назад +2

    the ocean of knowledge.

  • @dev11223311
    @dev11223311 4 месяца назад

    Fantastic!

  • @DuongTran-zh6td
    @DuongTran-zh6td 4 месяца назад +2

    world need spring AI

  • @Girichippada
    @Girichippada Месяц назад

    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

  • @pranayreddy5824
    @pranayreddy5824 3 месяца назад

    Nice ❤

  • @danielsundersingh1
    @danielsundersingh1 3 месяца назад +2

    Where is the Open AI API configuration done?

  • @ansismaleckis1296
    @ansismaleckis1296 4 месяца назад

    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 2 месяца назад

      Listen carefully at 18:44 and 21:50

  • @davidhsv2
    @davidhsv2 4 месяца назад

    Are you going to support the openai assistant API?

  • @el8338
    @el8338 4 месяца назад

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

  • @nagkumar
    @nagkumar 4 месяца назад +1

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

  • @kamakshaiahmukku5708
    @kamakshaiahmukku5708 2 месяца назад

    where can i find the git hub project for this example

  • @Buy_YouTube_Views_a091
    @Buy_YouTube_Views_a091 4 месяца назад

    Love the effort!

  • @novinjaiswal
    @novinjaiswal 3 месяца назад

    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

  • @jesusemersonpachecoalanya5680
    @jesusemersonpachecoalanya5680 Месяц назад

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

  • @arkosarkar343
    @arkosarkar343 3 месяца назад

    Which IDE is that?

  • @mohammedsardar3779
    @mohammedsardar3779 2 месяца назад

    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 Месяц назад

      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.

  • @besooab8810
    @besooab8810 3 месяца назад

    can you share the repo ?

  • @mohammedsardar3779
    @mohammedsardar3779 2 месяца назад

    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 2 месяца назад +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 2 месяца назад

      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?

  • @6060797
    @6060797 4 месяца назад

    which ide used in the video?

    • @davidxcode
      @davidxcode 3 месяца назад

      IntelliJ Idea, I think Ultimate version.

  • @pankaj3746
    @pankaj3746 3 месяца назад

    Why Postgres? Can we use some other DB?

    • @lbognini
      @lbognini 2 месяца назад

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

  • @kwarnkham3836
    @kwarnkham3836 4 месяца назад +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.

  • @hasankagalwala7110
    @hasankagalwala7110 4 месяца назад +1

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

    • @erniea5843
      @erniea5843 3 месяца назад +2

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

  • @immortal-spirit-13
    @immortal-spirit-13 3 месяца назад

    don't work (((

  • @avalagum7957
    @avalagum7957 4 месяца назад +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 2 месяца назад +2

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

    • @avalagum7957
      @avalagum7957 2 месяца назад

      @@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?

  • @lhxperimental
    @lhxperimental 4 месяца назад +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.

  • @hobaca1465
    @hobaca1465 4 месяца назад +4

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

    • @CheeseStickzZ
      @CheeseStickzZ 4 месяца назад +9

      Gradle sucks. Maven all the way

    • @konstantingromov6485
      @konstantingromov6485 4 месяца назад +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 4 месяца назад +2

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

    • @hobaca1465
      @hobaca1465 4 месяца назад

      @@CheeseStickzZ reason for stating such a strong opinion?

    • @hobaca1465
      @hobaca1465 4 месяца назад

      @@lhxperimental could you share some of those things?

  • @petmik5022
    @petmik5022 4 месяца назад +1

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

  • @mohamedalmasry7577
    @mohamedalmasry7577 3 месяца назад

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

  • @shandilyacodes
    @shandilyacodes 2 месяца назад

    Meanwhile Dmitri after finding about Spring AI : ruclips.net/video/WuL4NKDkc8M/видео.html&ab_channel=ShandilyaCodes

  • @juanbp97
    @juanbp97 Месяц назад

    Spring sucks...

  • @andrews4379
    @andrews4379 4 месяца назад

    Java DEAD

    • @mqtrade5743
      @mqtrade5743 4 месяца назад

      Since when

    • @andrews4379
      @andrews4379 4 месяца назад

      @@mqtrade5743 since overpriced language

    • @mqtrade5743
      @mqtrade5743 4 месяца назад

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

    • @poojapatole3573
      @poojapatole3573 3 месяца назад

      When did this happen?😂

  • @ticler
    @ticler 4 месяца назад +5

    Spring OS when?

  • @huseyinaydin1002
    @huseyinaydin1002 4 месяца назад +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 4 месяца назад +1

      this information is showed at 07:15

    • @huseyinaydin1002
      @huseyinaydin1002 4 месяца назад +1

      Thank you brother. ❤ 😂​@@hamiltonmbrito

  • @DuongTran-zh6td
    @DuongTran-zh6td 4 месяца назад +1

    world need spring AI

  • @DuongTran-zh6td
    @DuongTran-zh6td 4 месяца назад

    world need spring AI