Spring in Action
Spring in Action
  • Видео 14
  • Просмотров 34 379
Influencing GenAI Responses
When sending prompts to an LLM for generation, you may have seen or used temperature, top-p, top-k, or logit-bias as options in the generation request. But do you really know how they influence the results you get from the LLM?
In this video, I step away from Spring AI specifically to talk about these useful options (sometimes called "hyperparameters") and how they affect what comes back in the generated response.
If you want to learn more about developing with Spring AI, then check out my newest book, Spring AI in Action. It is currently available in the Manning Early Access Program at www.manning.com/books/spring-ai-in-action?a_aid=habuma&a_bid=f205d999&chan=habuma
To learn more about Spri...
Просмотров: 144

Видео

Putting Spring AI to the Test
Просмотров 1842 месяца назад
The non-deterministic nature of Generative AI can make testing tricky. In this video, I show how to use Spring AI's RelevancyEvaluator to write tests that assert that the response to a prompt is relevant to the prompt itself. The pull request for the correctness evaluator mentioned in the video can be found at github.com/spring-projects/spring-ai/pull/969. If you want to learn more about develo...
Talk To Your Images
Просмотров 1112 месяца назад
Although Retrieval Augmented Generation (RAG) is a useful technique for enabling LLMs to answer questions about your documents, not all questions are about documents. What if you want to ask questions about an image? In this video, I show how to use Spring AI to leverage multimodal capabilities of some LLMs to ask about photographs and other images. If you want to learn more about developing wi...
Spring AI Summarization
Просмотров 2762 месяца назад
Generative AI is more than just asking questions in a chat client. Text summarization is among the several use cases that GenAI can help with. In this video, I show how to create a Spring AI application that can summarize an uploaded PDF file. If you want to learn more about developing with Spring AI, then check out my newest book, Spring AI in Action. It is currently available in the Manning E...
Generating Images with Spring AI
Просмотров 2,5 тыс.9 месяцев назад
In this video, I show how to use the new image generation features in Spring AI, which were introduced in 0.8.0-SNAPSHOT. In the video, I create an image of dogs playing Monopoly, but you might also be interested to know that the thumbnail image for this video was also created using the same code I wrote in the video (using the prompt "A robot painting a work of art"). If you want to learn more...
Burger Battle Helper
Просмотров 285Год назад
A brief demo showing how Alexa plus an LLM can offer tabletop game rules assistance. (Note that I resisted the urge to call it "Hamburger Helper".) I hope to record a video soon on how I created this. Stay tuned. Also, if Burger Battle looks like a game that you'd enjoy playing, then there's still time to back Burger Battle 2 on Kickstarter and pick up a reprint of the original game along with ...
Spring AI Origins: Taking a look at LangChain
Просмотров 1,3 тыс.Год назад
Spring AI, a new project that enables integration with generative AI in Spring Boot applications, was inspired by other libraries that came before it, including LangChain and LlamaIndex. In this video, we take a look at one of those sources of inspiration, LangChain. By understanding how LangChain works, you'll be better equipped to pick up and understand Spring AI as it evolves.
Spring AI and Embeddings
Просмотров 4,4 тыс.Год назад
Note: This video was created with a much older, pre-1.0.0 version of Spring AI. Things have changed dramatically since that time. I keep it around for reference, but I have not yet had opportunity to create an updated version of this video. That said, the session I presented at the jChampions conference is fairly current (although Spring AI is still pre-1.0 and subject to change). Therefore, co...
Introducing Spring AI
Просмотров 17 тыс.Год назад
Generative AI is getting a lot of attention lately. In this video, I introduce you to a relatively new project, Spring AI (github.com/spring-projects-experimental/spring-ai), which enables you to build generative AI into your Spring Boot applications. If you want to learn more about developing with Spring and Spring Boot, check out my book, available wherever tech books are sold or specifically...
Spring 6 and Declarative RSocket Clients
Просмотров 890Год назад
A few weeks ago, I shared a video showing how to use Spring 6's support for declarative HTTP clients (ruclips.net/video/QXgq_e7etXc/видео.html). This time, I show the RSocket counterpart: declarative RSocket clients. Because the RSocket client is going to need a server to talk to, along the way, I also show how to create RSocket services in Spring. If you want to learn more about developing wit...
Spring 6 and Declarative Clients
Просмотров 951Год назад
In this video, I show how to create declarative clients in Spring Framework 6. - Spring Framework : spring.io/projects/spring-framework If you want to learn more about developing with Spring and Spring Boot, check out my book, available wherever tech books are sold or specifically at either of these two URLs: - Amazon : www.amazon.com/gp/product/1617297577/?tag=habumacom-20 - Manning.com : www....
Spring 6 and Problem Details
Просмотров 5 тыс.Год назад
This video shows how to use Spring Framework 6's new support for Problem Details (RFC-7807) to create clear and concise responses from an API when things go wrong. - Spring Framework : spring.io/projects/spring-framework - RFC-7807 : www.rfc-editor.org/rfc/rfc7807 If you want to learn more about developing with Spring and Spring Boot, check out my book, available wherever tech books are sold or...
Spring and Kubernetes without YAML
Просмотров 6402 года назад
In this video, I show how to create a deploy and configure a Spring Boot application into Kubernetes without writing any YAML. - 2:11 - Setting the Stage - 5:27 - Building an Image - 9:58 - Deploying in Kubernetes - 15:00 - Configuring with a ConfigMap - 28:10 - Recap If you want to learn more about developing with Spring and Spring Boot, check out my book, available wherever tech books are sol...
Spring and GraphQL
Просмотров 7412 года назад
In this video, I show how to create a GraphQL API using Spring Boot and Spring GraphQL. - 0:49 - Setting the Stage - 6:37 - Hello GraphQL - 13:00 - GraphQL and Persistence - 23:45 - Using GraphiQL - 26:27 - Applying Mutations - 39:45 - Creating a GraphQL Client - 50:55 - Recap POST-EDITING NOTE: At 44:01, I say that the toEntity() returns a Flux. It actually returns a Mono, and I corrected myse...

Комментарии

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

    Thanks! Good luck with the pull request.

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

    Regarding the TikaDocumentReader class in Spring AI - as you pointed out the get() method of that class only returns a single Document object, unlike the PagePdfDocumentReader class which returns multiple Document objects.The PagePdfDocumentReader also has a config where I can retrieve content based on the pages per PDF. Is the TikaDocumentReader going to support such configuration in the Spring AI 1.0.0 Release? And I noticed that working with word documents (MS word docs) is a lot harder compared to PDF files. It is tough to identify page breaks in word documents using Tika and Apache POI libraries. Any thoughts or insights on how we can analyse word documents in a RAG based application?

  • @IWS-kj8ec
    @IWS-kj8ec 5 месяцев назад

    hello , can i generate image using any offline model? because i don't use OpenAi.

  • @mhmmdnaufall
    @mhmmdnaufall 7 месяцев назад

    At 22:40, I didn't achieve the desired outcome like you did. My application simply displayed everything, akin to executing `SELECT * FROM book JOIN author` without the `WHERE` clause for firstName or lastName. Can someone assist?

  • @mohamedamiragrebi8812
    @mohamedamiragrebi8812 7 месяцев назад

    thank you for your video, I have a dump question, what extension do you use that gives you code suggestion before you even type?

    • @springinaction
      @springinaction 7 месяцев назад

      If you’re talking about the code suggestion in the IDE, it’s just GitHub Copilot. It’s not perfect and sometimes suggests the worst possible code, but when it suggests good stuff, it saves a lot of typing.

  • @igorilievski-t5z
    @igorilievski-t5z 7 месяцев назад

    Nice video, cool. Can we get the source code?

    • @springinaction
      @springinaction 7 месяцев назад

      Indeed you can. It's in the spring-ai-image-gen folder at github.com/habuma/spring-ai-examples. Or, if you are using Spring CLI, you can pull just that project by adding the catalog and using `spring boot new`: ``` % spring project-catalog add spring-ai-examples github.com/habuma/spring-ai-examples % spring boot new my-project spring-ai-imagegen com.example.ai ```

  • @igorilievski-t5z
    @igorilievski-t5z 7 месяцев назад

    Thanks for the video it was fun and informative. Is there link to the code on git by any chance?

    • @springinaction
      @springinaction 7 месяцев назад

      The example code in this video is a little outdated, but you can get a relatively new version like it at github.com/habuma/spring-ai-rag-example. Or, if you are using the Spring CLI, add the project catalog and using `spring boot new` like this: ``` % spring project-catalog add spring-ai-examples github.com/habuma/spring-ai-examples % spring boot new my-project spring-ai-rag com.example.ai ```

  • @emileastih9006
    @emileastih9006 7 месяцев назад

    Hello, great presentation thank you 👍 Curious if you did a video on RAG + embeddings + vector store (pgVector) ?

    • @springinaction
      @springinaction 7 месяцев назад

      Thank you. I'm glad you enjoyed it. I have a video on embeddings at ruclips.net/video/zNIiLkRn96Q/видео.html, but the talk I gave at jChampions in January is more up-to-date: ruclips.net/video/zNIiLkRn96Q/видео.html Neither of those cover pgVector as a vector store, but in the big scheme of things, it's not much different. I have used pgVector on an app for my day job and really the only significant difference between it and the other vector stores is that you'll need to configure your data source (just like you would for any PostgreSQL database in a Spring app) and make sure that you include the proper dependency for pgVector. When I get some time, maybe I'll create an updated video that includes pgVector.

    • @emileastih9006
      @emileastih9006 7 месяцев назад

      ​@@springinaction thank you a lof for your reply, I ended up building the app I had in mind by utilizing RAG and pgVector store. It was of couse inspired by your spring ai rag example !

  • @tanushkagoyal9936
    @tanushkagoyal9936 8 месяцев назад

    How to resolve the ai dependency problem which dependency need to add on pom.xml file ??

    • @springinaction
      @springinaction 7 месяцев назад

      I'm not sure that I understand. I add the dependency to the pom.xml file at about 4:45. The version in this video was 0.8.0-SNAPSHOT, so you need the snapshot repository added a bit earlier in the video. But now that 0.8.0 is released, you can use that if you add the milestone dependency. If that's not what you're asking about, let me know and I'll try to help you out.

  • @dinunclv
    @dinunclv 8 месяцев назад

    This video is already old and many of the classes have changed. There is a TextReader now.

    • @springinaction
      @springinaction 8 месяцев назад

      No doubt. Spring AI is still pre-1.0 and subject to frequent changes. In fact, there were several significant changes just a couple of weeks ago, so it's hard to keep up. I leave the video around for reference, but I've not yet had opportunity to create an updated video. That said, I did speak on Spring AI at the jChampions conference the day after those significant changes were made. As such, the video at ruclips.net/user/liveTPY1WYHDNho could be considered the updated version of this video).

  • @YounesAKEL-p9h
    @YounesAKEL-p9h 8 месяцев назад

    wihch version of java you used, i have java 17 and it's not working for me?

    • @springinaction
      @springinaction 8 месяцев назад

      I believe I was using Java 17 to make that video. But be aware that I created that video back in September, using whatever version of Spring AI was available then. Spring AI was (and still is) pre-1.0.0 and a LOT has changed since September. Without knowing what problems you're having, I can only assume that it's because you're using an older version of Spring AI or that you're trying to apply old Spring AI stuff in a newer version. The latest I've been working with is 0.8.0-SNAPSHOT (which itself is vastly different than 0.7.0). I've not had opportunity to create an updated version of this video, but I did present on this (using current stuff) a couple of weeks ago at the jChampions conference. You can view that talk at ruclips.net/user/liveTPY1WYHDNho

  • @machchar_qing
    @machchar_qing 8 месяцев назад

    thanks man, appreciate it!

  • @Jhoalmora91
    @Jhoalmora91 8 месяцев назад

    I was considering creating a program to retrieve the rules of some of my board games and answer questions about them, but you've already done it 😂. Great video!

    • @springinaction
      @springinaction 8 месяцев назад

      Heh...you have no idea. I've done this several times for many board games. I've even put an Alexa front-end on it so that in the course of playing a game I can ask out loud. None of it is refined enough (yet) to make the Alexa skill public, but that's the plan.

  • @lokeshwaraachari6781
    @lokeshwaraachari6781 8 месяцев назад

    Very informative... keep doing like this

  • @LouSoto-d4j
    @LouSoto-d4j 8 месяцев назад

    Great tutorial, is source code in github?

    • @springinaction
      @springinaction 8 месяцев назад

      No, the source code isn't in GitHub...and even if it were, it'd be out of date because Spring AI has changed considerably since the video was created. (Spring AI is still pre-1.0, so big changes are still a thing.) That said, the code in github.com/habuma/spring-ai-rag-example shows the same kinda stuff and is current as of a week ago. When I find a moment, I hope to create an updated video showing this new stuff.

  • @rafacarmona
    @rafacarmona 9 месяцев назад

    Fantastic! easy explanation

  • @Anbu_Sampath
    @Anbu_Sampath 9 месяцев назад

    Nice Demo.

  • @kimhorn1210
    @kimhorn1210 9 месяцев назад

    Is the source code available ?

  • @SaurabhGambhire-k9x
    @SaurabhGambhire-k9x 9 месяцев назад

    good

  • @PainandHopee
    @PainandHopee 10 месяцев назад

    fascinating

  • @sadeepaalwis5938
    @sadeepaalwis5938 10 месяцев назад

    keep up this is gold 😍 thnks for the awesome informative video

  • @machchar_qing
    @machchar_qing 10 месяцев назад

    Thanks. Explained very well

  • @omkar.at.office
    @omkar.at.office 11 месяцев назад

    Awesome! Thanks for the great tutorial on RAG using Spring AI.

  • @SpringframeworkGuru
    @SpringframeworkGuru 11 месяцев назад

    Hey Craig - Nice work on the video. Very helpful for me. I'm trying to get up to speed on this space. Do you have this demo in GitHub anywhere?

  • @lxdzii
    @lxdzii 11 месяцев назад

    Beautiful ❤

  • @sandrodelacruz8125
    @sandrodelacruz8125 11 месяцев назад

    Whats wrong with you? Kim Carnes is amazing!

  • @anjanx44
    @anjanx44 Год назад

    Very informative ❤

  • @anjanx44
    @anjanx44 Год назад

    Interested to learn.

  • @kyan117
    @kyan117 Год назад

    👍

  • @alptugoguzhansahin8963
    @alptugoguzhansahin8963 Год назад

    Fantastic ! Thanks..

  • @sathiyajithbabusm
    @sathiyajithbabusm Год назад

    Very useful for Software Engineers who loves to explore in the field of Prompt Engineering !

  • @devalgaslargowich1006
    @devalgaslargowich1006 Год назад

    Beautiful presentation

  • @SaherAlSous-welcomes-you
    @SaherAlSous-welcomes-you Год назад

    amazon and manning links didn't work for me...

    • @springinaction
      @springinaction Год назад

      Just now seeing this comment. Thanks for pointing it out. It was a copy-n-paste mistake. I've fixed it.

  • @malliendk
    @malliendk Год назад

    Very helpful and concise. Good way to stay updated. Good explaination of the project and the context, plus clear and easy-to-follow walkthrough taking us through all the steps necessary to succesfully implement this helpful feature ProblemDetail

  • @jamilxt
    @jamilxt Год назад

    Thank you!

  • @AlexK-vh9wn
    @AlexK-vh9wn Год назад

    Awesome, short and concise explanation. Thank you for spreading the knowledge!

  • @chinchi4293
    @chinchi4293 Год назад

    It would be very helpful if you could show the UnknownTeamException class. I'm new to Spring boot and some things are not obvious for me. Thank you very much.

  • @chinchi4293
    @chinchi4293 Год назад

    Awesome !

  • @christianschmid1440
    @christianschmid1440 Год назад

    Well done! This was really helpful.

  • @pleanermail
    @pleanermail Год назад

    Great Content! Thank you for your effort and energy SIA!

  • @BusyAnt1234
    @BusyAnt1234 Год назад

    Good video, I did not know about the trick to have Spring default to ProblemDetails in case of "unpredictable" errors. As an addition, I believe it would have been helpful to mention the usage of the "type" field which is kind of central to the ProblemDetails concept. Everything is better than leaking the stack trace but "type" is really the identifier for the error and allows the clients to classify it as they see fit as well as providing them with additional information about the error over the URI.

  • @57skies
    @57skies Год назад

    I remember when this Problem was part of zolando library and they had proper Spring integration. great to see that it is now a standard, thank you for the video.

  • @gaurav455
    @gaurav455 Год назад

    what font are you using?

  • @Anbu_Sampath
    @Anbu_Sampath Год назад

    Nice explanation about Problem Details feature.

  • @kc_official
    @kc_official 2 года назад

    How we can do query cost analysis as part of the query that was coming from the client and restrict it, if it is more than anticipated?

  • @miguelgarciadasilva
    @miguelgarciadasilva 2 года назад

    Hi, thanks for sharing! Can we expect graphql federation support in the short term?

  • @Anbu_Sampath
    @Anbu_Sampath 2 года назад

    Great presentation Craig!!! To enable graphiql you can try with this property spring.graphql.graphiql.enabled=true , it comes out of the box with spring boot.

    • @springinaction
      @springinaction 2 года назад

      You're absolutely right! I didn't realize that was an option. Thanks for pointing it out. But...I'll do you one better: While trying it out, I created a brand new Spring GraphQL example and did not set spring.graphql.graphiql.enabled at all. GraphiQL still loaded in my browser, despite that property being false by default. I'm not sure that's supposed to happen, but it worked. YMMV

    • @springinaction
      @springinaction 2 года назад

      Ah! I had DevTools in my build and DevTools enables it by default! Even better.

    • @Anbu_Sampath
      @Anbu_Sampath 2 года назад

      @@springinaction That's nice feature during development. Kudos to Spring team.

  • @HamoudCHORFA
    @HamoudCHORFA 2 года назад

    great work, keep it up