Dan Vega
Dan Vega
  • 443
  • 4 718 863
Getting Started with GPT-4o in Spring AI with Chat and Vision Capabilities
In this tutorial you will lean how to get started with GPT-4o in your next Spring application. You will learn how to take advantage of both chat and vision capabilities.
🔗Resources & Links mentioned in this video:
GitHub Repo: github.com/danvega/spring-ai-multimodal
👋🏻Connect with me:
Website: www.danvega.dev
Twitter: therealdanvega
Github: github.com/danvega
LinkedIn: www.linkedin.com/in/danvega
Newsletter: www.danvega.dev/newsletter
SUBSCRIBE TO MY CHANNEL: bit.ly/2re4GH0 ❤️
zhlédnutí: 2 322

Video

Getting Started with GPT-4o in Java
zhlédnutí 9KPřed 14 dny
In this tutorial you will learn how to build a simple Java application that talks to OpenAI's newest model, GPT-4o. You will build a simple application step by step without any external dependencies. By the end of this tutorial you will learn how to signup for an Open AI API key and call the REST API from a Java application. 🔗Resources & Links mentioned in this video: GitHub Repo: github.com/da...
Spring AI Functions - How to register custom Java functions with the Chat Client
zhlédnutí 2,7KPřed 21 dnem
In this tutorial we will take a look at function calling in Spring AI. This will allow you to register custom Java Functions that the LLM can call when it needs access to real time data. That is the example we will work through in this video and by the end you will have everything you need to start writing your own custom functions in Spring AI 🔗Resources & Links mentioned in this video: GitHub...
Building a Spring Boot Reference Documentation Assistant with Spring AI & GPT-4
zhlédnutí 3,6KPřed měsícem
In this tutorial we will take a lot of the features in Spring AI we have been talking about to build a command line utility that talks to Open AI's GPT-4. To ensure we have access to the latest documentation we will use the Spring Boot Reference Documentation. We can use a technique called Retrieval Augmented Generation (RAG) with a vector database. This was a really fun demo to put everything ...
Getting started with (Retrieval Augmented Generation) RAG in Java & Spring AI
zhlédnutí 4,1KPřed měsícem
In this tutorial we will discuss what RAG is and when we might want to reach for this technique. Ill show you how to get start4d with it in Spring AI using a simple example. If you enjoy this be sure to check out my next video where we take it one step further by using a Vector Database. 🔗Resources & Links mentioned in this video: Spring AI Introduction: czcams.com/video/yyvjT0v3lpY/video.html ...
Spring AI - Bring your own data by Stuffing the Prompt
zhlédnutí 2KPřed měsícem
In this tutorial we will take a look at a technique known as stuffing the prompt. This will allow us to add some context to our prompts when sending a request to the LLM. In this example we use Open AI's GPT-4 Model but this technique will work with all of the supported LLMs. 🔗Resources & Links mentioned in this video: Spring AI Introduction: czcams.com/video/yyvjT0v3lpY/video.html GitHub Repos...
Using Spring AI's Output Parsers to structure the response from LLMs
zhlédnutí 2,5KPřed měsícem
In this tutorial we will discuss the Output Parsers in Spring AI. The Output Parsers will help us get what we want from the LLM and turn them into a desired response. 🔗Resources & Links mentioned in this video: Spring AI Introduction: czcams.com/video/yyvjT0v3lpY/video.html GitHub Repository: github.com/danvega/spring-into-ai 👋🏻Connect with me: Website: www.danvega.dev Twitter: ther...
Working with Prompts in Spring AI - Effectively Communicating with LLMs
zhlédnutí 4,4KPřed měsícem
In this tutorial we will take a look at how to work with Prompts in. Spring AI. Prompts are the inputs that guide an AI model to generate specific outputs. The design and phrasing of these prompts significantly influence the model’s responses. 🔗Resources & Links mentioned in this video: GitHub Repository: github.com/danvega/spring-into-ai Spring AI Introduction: czcams.com/video/yyvjT0v3lpY/vid...
Spring AI Introduction: Building AI Applications in Java with Spring
zhlédnutí 20KPřed 2 měsíci
For the longest time if you wanted to work with Machine Learning you were using Python. That was because python had a lot a really great set of tools for working in this space. Now that we have LLMs like Open AI’s GPT-4 where the P stands for pre-trained we can simply call them like we would any other API. Java is everywhere in the enterprise and we need to start thinking about how to integrate...
Upgrading your Java & Spring Boot applications with OpenRewrite in IntelliJ
zhlédnutí 10KPřed 2 měsíci
In this tutorial we will take a look at a project called OpenRewrite that allows you to automate your upgrades. We are going to look at the newly bundled plugin in IntelliJ for running your recipes right in your IDE. We will look at both a simple Java example and then how to upgrade a Spring Boot 2.7.x app to 3.0. 🔗Resources & Links mentioned in this video: GitHub Repository: github.com/danvega...
Java Class Design: When to use a Primitive vs Reference Type
zhlédnutí 6KPřed 2 měsíci
In this video I will discuss when to use a primitive vs reference type when designing Java classes. I will also answer some questions I have received around immutability and record types. 🔗Resources & Links mentioned in this video: GitHub Repo: github.com/danvega/primitive-vs-reference 👋🏻Connect with me: Website: www.danvega.dev Twitter: therealdanvega Github: github.com/danvega Lin...
Getting started with Spring Boot AOT + GraalVM Native Images
zhlédnutí 8KPřed 2 měsíci
In this tutorial you will learn the what, why and how of building native images in Spring Boot with GraalVM. Ahead-of-Time (AoT) compilation is a prerequisite for building native images with GraalVM. You will learn where this makes sense and then you will build out 2 simple Spring Boot Applications and build a native image from them. 🔗Resources & Links mentioned in this video: 👋🏻Connect with me...
How to learn Spring - A collection of resources for Learning Spring
zhlédnutí 7KPřed 2 měsíci
If you are interested in learning Spring I have a collection of resources for you. On a recent episode of Spring Office Hours DaShaun and I had a chance to build out a set of resources for learning Spring. I was able to take that and turn it into a GitHub Repo and in this video we will take a look at it together. We are looking for contributions so if you see something that is missing please se...
Java is slow and verbose (or so they say)
zhlédnutí 9KPřed 2 měsíci
Java is slow and verbose (or so they say)
Spring MVC Http Interfaces - How to Create a Rest Client with almost no code!
zhlédnutí 10KPřed 3 měsíci
Spring MVC Http Interfaces - How to Create a Rest Client with almost no code!
5 Common Mistakes Spring Developers Make
zhlédnutí 15KPřed 3 měsíci
5 Common Mistakes Spring Developers Make
How to create your own custom Spring Boot Starter
zhlédnutí 8KPřed 3 měsíci
How to create your own custom Spring Boot Starter
Spring Boot Configuration Properties: Working with Lists & Maps
zhlédnutí 7KPřed 4 měsíci
Spring Boot Configuration Properties: Working with Lists & Maps
Spring Boot Rest Client Interceptors
zhlédnutí 8KPřed 4 měsíci
Spring Boot Rest Client Interceptors
How to call a Java REST API using JDK Http Client
zhlédnutí 5KPřed 4 měsíci
How to call a Java REST API using JDK Http Client
I have been named a Java Champion
zhlédnutí 2,7KPřed 4 měsíci
I have been named a Java Champion
Spring Boot Rest Client - How to test HTTP calls using @RestClientTest
zhlédnutí 5KPřed 4 měsíci
Spring Boot Rest Client - How to test HTTP calls using @RestClientTest
Spring Boot Rest Client - How to change the underlying HTTP Client
zhlédnutí 7KPřed 4 měsíci
Spring Boot Rest Client - How to change the underlying HTTP Client
Building Full-Stack Applications in Java with Vaadin
zhlédnutí 9KPřed 4 měsíci
Building Full-Stack Applications in Java with Vaadin
Multiple JDBC Clients - How to configure multiple DataSources in Spring
zhlédnutí 9KPřed 5 měsíci
Multiple JDBC Clients - How to configure multiple DataSources in Spring
What is the difference between JDBC Client and Spring Data JDBC?
zhlédnutí 14KPřed 5 měsíci
What is the difference between JDBC Client and Spring Data JDBC?
Significant Scalability Benefits in Spring Boot 3.2 using Virtual Threads
zhlédnutí 25KPřed 6 měsíci
Significant Scalability Benefits in Spring Boot 3.2 using Virtual Threads
Introduction to Project CRaC: Enhancing Runtime Efficiency in Java & Spring Development
zhlédnutí 6KPřed 6 měsíci
Introduction to Project CRaC: Enhancing Runtime Efficiency in Java & Spring Development
Building a new application with Spring Boot 3.2
zhlédnutí 11KPřed 6 měsíci
Building a new application with Spring Boot 3.2
Groovy Spring - Exploring Spring Development with alternative JVM Languages
zhlédnutí 2,4KPřed 6 měsíci
Groovy Spring - Exploring Spring Development with alternative JVM Languages

Komentáře

  • @ewoks42
    @ewoks42 Před 2 hodinami

    Great tips @DanVega regarding handling errors video you mentioned at 13:40, is that one already published? tnx

  • @bibahbibah5108
    @bibahbibah5108 Před 11 hodinami

    spring boot 3.2 has very nice futures. it's a remplacement of feign dependencies, i hope that we can do wht feign do (headers and interceptor )

  • @RaphaelDeLio
    @RaphaelDeLio Před 13 hodinami

    Thats an amazing point of view

  • @rarecase3666
    @rarecase3666 Před 14 hodinami

    You are right.... Spring Security tutorials shows that people try to understand but cannot make it working... Spring Security Team also makes it very challenging to build something with it. Thank you, Dave, for your tutorial - it really helped to make it working.

  • @deeplife9654
    @deeplife9654 Před 21 hodinou

    Can you get the GitHub link of the project?

  • @bitsofdevbrain
    @bitsofdevbrain Před 21 hodinou

    What about the "Resource Oriented design principle" used for designing the REST endpoints? It says that the endpoints should be named after the resources that they are dealing with. But when we are dealing with multiple resources, it says we should use nested endpoints following the resource hierarchy? Is it necessary to follow these?

  • @antonyrichard369
    @antonyrichard369 Před 23 hodinami

    Great content

  • @natureloverJ
    @natureloverJ Před dnem

    Hi Dan, Smart stuff always with concise words. One question. What is the http command prompt you use for rest api testing from the IntelliJ console ? I searched and found many, please tell me which one you are using?

  • @BrunoSturniolo
    @BrunoSturniolo Před dnem

    why you have color in your output console? i have to add the line in the .properties; spring.output.ansi.enabled=Always How do you do to do it by default?

  • @vijayjangid8967
    @vijayjangid8967 Před 2 dny

    I earn 60 thousand monthly but I don't wear Zudio 😂

  • @sadiulhakim7814
    @sadiulhakim7814 Před 2 dny

    Can i use Virtual Thread in every case? Is there any case where i cannot (should not) use Virtual Threads?

  • @PhilipStarritt
    @PhilipStarritt Před 2 dny

    Congratulations Dan - well deserved 👏

  • @ahmadshlool5803
    @ahmadshlool5803 Před 2 dny

    Super Dan, your tutorial is powerful! Keep diving deeper! I've got a comment about JDBC - why stick with it when we're all about Spring? Let's Spring Data our way to glory! 🤪🌱

  • @ahmadshlool5803
    @ahmadshlool5803 Před 2 dny

    Thanks a lot, Dan! These series are truly impressive and impactful. I have a question about RAG. What are the benefits of supplying the questions and answers ourselves? Where does the AI's strength lie in this scenario? For instance, when you asked about counting sports, the response was 'NA' and it provided the list we inputted. We envision being able to ask you about anything within the text I've included. I might sound a bit eager, but I'm keen to explore its capabilities and potential applications 😁😁

  • @PatrickCornelien
    @PatrickCornelien Před 2 dny

    @DanVega all popups and code-completion overlays are not in your video. You might want up tweak your video capture configuration ;-)

  • @Isranaks
    @Isranaks Před 2 dny

    Hello @dan vega, how to invoke oracle stored procedures through jdbcclient with in and out params

  • @paulhetherington3854

    /krch dsk bean < R'(4''tvk''btx ruch)< ~tmp2''kf(2 inch 824x) @ rdsk~II tmp p''TdDxn gml rul txt tun//J namz krch 4''Rtvk abv + 2''UI' kol rul vd sim LN'' < rdacht~tmp p''2'(xvtn) rtun bean/ /rbean dsk~tmp snd ruch vF8''btz dach txt tn R2''p~ K' rch + frch vktd rbean rul~tmp < txt tun ad cmd~gml + wn ml//+ hlf ruch < 28''frch contnt fiji kalchz rdsk - 4''tvk - fz 2''UI' id - txt tun - verifcate/

  • @avonzo
    @avonzo Před 3 dny

    How did you get the CZcams Data to compile in the native binaries? I am getting reflection issues there and my code even though works in normal Java, the native compiled version doesn't seem to have necessary Jackson (JSON parser) constructors in there resulting IllegalArgumentException for GoogleClientSecrets object. Exact error:: Caused by: java.lang.IllegalArgumentException: unable to create new instance of class com.google.api.client.googleapis.auth.oauth2.GoogleClientSecrets because it has no accessible default constructor at com.google.api.client.util.Types.handleExceptionForNewInstance(Types.java:162)

  • @stephaneislistening6103

    On SpringBoot 3.3.0 here and the OpenAI API seems to have changed quite a bit already in a month since this video was published.

    • @stephaneislistening6103
      @stephaneislistening6103 Před 3 dny

      And so the chatClient bean could not be found, with the default implementation being: class DefaultChatClient implements ChatClient

  • @yevgeny3985
    @yevgeny3985 Před 3 dny

    great video,! is there a more elegant way to write tests?

  • @filippoalimonda4449

    Has it been removed from the list of available Extensions?

  • @stephaneislistening6103

    In my case i could not get the Rollback annotation to roll back so as to remove the added post in the successful test case, which caused a failed count on the find all test case of 101 instead of 100.

  • @garethbaker5179
    @garethbaker5179 Před 3 dny

    Regarding the Todo class, I would rather use all primitives because they are given a default value (except String of course) and I can use the default values of the class for checking certain things such as if Todo.id is equal to zero then I know it didnt come from the database because normally primary keys start with a value of 1 or more. In addition I prefer every class variable to be initialized to at least something to avoid a null pointer which is why I often create a default constructor and it signals to other developers what the defaults of the class are. I havent needed to work much with Threads, caching or high levels of performance so immutable objects are a rare occurrence with my work, however I use final a lot on objects being passed to methods and class level objects and constructors. As an aside to the video I prefer to use primitives on methods for parameters in Apis so that internal objects are not exposed to the outside world. Interesting video, glad I learnt something about Records.

  • @thebest-cr2sb
    @thebest-cr2sb Před 3 dny

    is it possible to do a packaging by layer inside the features , in my case i have a lot of DTOs and and sevral repositories since the feature containe many entities , and i want to know is it correct to split them by layers inside the feature package ?

  • @mwigojonathanmark1683

    Spring Security breaks the native image execution

  • @curio78
    @curio78 Před 4 dny

    why is the native image still so big? 6 mb for one line code to say hello.

  • @wicklowwoods
    @wicklowwoods Před 4 dny

    really helpful and so well explained. thanks a million :)

  • @cricket_lover_419
    @cricket_lover_419 Před 4 dny

    why spring security dependency was not used. is oauth acting as a security module here?

  • @albertoginelsalvador2172

    Please don't use IntelliJ Ultimate for a tutorial!

  • @swarajgore8012
    @swarajgore8012 Před 6 dny

    Hi Dan, couldn't find the "getting started with maven link"

  • @joeabraham6529
    @joeabraham6529 Před 6 dny

    @DanVega ChatClient is moved to ChatModel

  • @JP-debugger
    @JP-debugger Před 7 dny

    Hi @DanVega please do a tutorial on consuming soap webservices with spring. Thank you so much

  • @sefumies
    @sefumies Před 7 dny

    The Actuator integration in IntelliJ ultimate is fantastic to go through all these actuator endpoints!

  • @stephaneislistening6103

    Hi Dan, again thanks for that session, it was easy to follow and I could see the requests being sent and received with the web client on my local host. As a GraphQL noob Iand as an old Spring grunt still wonder why would I expose the controllers to a GraphQL client. Why not using REST for the client calls ? What GraphQL adds that would be helpful to the client ? Why a client would want to send GraphQL requests instead of REST ones ? And in fact, can a client, that is known to send REST requests, also send GraphQL requests at all ? Thanks for the awesome effort of yours ! I shall continue in the series and hopefully start playing with AI on your sessions. Cheers, Stephane, France

    • @stephaneislistening6103
      @stephaneislistening6103 Před 8 dny

      Hi Dan, I now see your Up and Running with Spring for GraphQL blog post. It should probably answer these questions 🙂 Thanks !

  • @stephaneislistening6103

    Dan rules !

  • @stephaneislistening6103

    Merci Dan ! It was some good fun !

  • @user-jq6mt1wc7t
    @user-jq6mt1wc7t Před 8 dny

    Great video, thank you for making such good content

  • @robertinnoelson6378

    Awesome Dan! Thanks for the rich tutorial

  • @stefanoforgiarini339
    @stefanoforgiarini339 Před 10 dny

    The best explanation on spring boot and integration tests with testcontainer. Your videos are so precious. Thank you so much

  • @AzizAzizli-bt8sm
    @AzizAzizli-bt8sm Před 10 dny

    Hi Dan, First of all thank you for the useful video. I have question, How can we extract claims from tokens?

  • @amirhosseinbayat9657
    @amirhosseinbayat9657 Před 11 dny

    Hey Dan, it's amazing, but is there any mechanism in order the user logged out of the system, how we can invalidate the user token?

  • @backtoGodhead0
    @backtoGodhead0 Před 12 dny

    so cool, God bless you!

  • @stefanoforgiarini339
    @stefanoforgiarini339 Před 12 dny

    Great content! Thank you Dan for sharing your knowledge

  • @rsobies
    @rsobies Před 12 dny

    be aware of graalvm, it is unreliable, example objectMapper.writeValueAsString doesn't work on native image it always returns: {}

  • @huw1676
    @huw1676 Před 12 dny

    This is really good, and exactly what I needed. Thank you for making this straightforward and easy to understand.

  • @stephaneislistening6103

    Very cool Thanks !

  • @marcosgarcia179
    @marcosgarcia179 Před 13 dny

    Jdbc client is incredible, is very easy to work

  • @KangoV
    @KangoV Před 13 dny

    Records can also be declared inside a method

  • @avalagum7957
    @avalagum7957 Před 13 dny

    Why is this app too long? This can be done with 1 long line (or a few short lines) in curl or httpie.

  • @Isranaks
    @Isranaks Před 13 dny

    Started watching ur videos. Its more informative. From Chennai, Tamil Nadu, India