Audio Multimodality: Expanding AI Interaction with Spring AI and OpenAI

Engineering | Christian Tzolov | December 05, 2024 | ...

This blog post is co-authored by our great contributor Thomas Vitale.

OpenAI provides specialized models for speech-to-text and text-to-speech conversion, recognized for their performance and cost-efficiency. Spring AI integrates these capabilities via Voice-to-Text and Text-to-Speech (TTS).

The new Audio Generation feature (gpt-4o-audio-preview) goes further, enabling mixed input and output modalities. Audio inputs can contain richer data than text alone. Audio can convey nuanced information like tone and inflection, and together with the audio outputs it enables asynchronous speech-to-speech interactions. Additionally, this new multimodality opens up possibilities for innovative applications, such as structured data extraction. Developers can extract structured information not just from simple text, but also from images and audio, building complex, structured objects…

Extending Spring Data Repositories Just Got Easier

Engineering | Christoph Strobl | December 03, 2024 | ...

Since its inception, Spring Data Repositories have been designed for extension, whether you want to customize a single query method or provide a completely new base implementation.

The 2024.1 release enhances your ability to extend a repository with custom functionality making it easier than ever for anyone to create extensions that can be shared across different projects.

Let’s explore an example to see how this works in practice.

Imagine you are using MongoDB as a document store to manage a movie database. You want to leverage MongoDBs Atlas vector search functionality through your…

This Week in Spring - December 24th, 2024

Engineering | Josh Long | December 03, 2024 | ...

Hi, Spring fans! Merry Christmas, Happy Chanukah, Happy Kwanzaa, Happy Holidays, or simply a convivial Tuesday in December to you!

We've got a ton of cool stuff to dive into so let's get goin'!

This Week in Spring - December 3rd, 2024

Engineering | Josh Long | December 03, 2024 | ...

Hi, Spring fans! Welcome to another installment of This Week in Spring! It's the first week of December and I am in the amazing city of Perth, Australia. Perth, for those of you who don't know, is amazing. And well worth the journey. But it is quite the journey! 27 hours, door-to-door, from San Francisco to Perth! Insanity.

I'm super happy to be here, though, talking to amazing folks before I begin my journey from Melbourne, Brisbane, and Sydney, Australia for the epic YOW! conference. It's going to be a ton of fun.

HTTP/3 support in Reactor 2024.0 Release Train

Engineering | Violeta Georgieva | November 26, 2024 | ...

HTTP/3, the latest major version of the Hypertext Transfer Protocol, had its specification finalized in June 2022. This version is designed to enhance performance, reliability, and security. Unlike its predecessors, HTTP/3 utilizes QUIC instead of TCP as its transport layer. QUIC is a UDP-based, multiplexed, and secure transport protocol that includes built-in TLS 1.3 encryption, making QUIC encrypted by default.

To learn more about the performance and benefits of HTTP/3, check out What is HTTP/3.

For information on browser adoption, take a look at Examining HTTP/3 Usage, which also provides raw data on HTTP versions used by…

This Week in Spring - November 26th, 2024

Engineering | Josh Long | November 26, 2024 | ...

This Week in Spring - November 26th, 2024

Hi, Spring fans! Welcome to another installment of This Week in Spring!

Happy Spring Boot 3.4 release month to those who celebrate! And, also, Happy Thanksgiving to those who celebrate! Spring Boot 3.4 brings with it long-anticipated updates to the entire portfolio of Spring projects, and so a lot of the content in this roundup has to do with those releases!

Bootiful Spring Boot 3.4: Start Here

Engineering | Josh Long | November 25, 2024 | ...

Hi, Spring fans! And happy Spring Boot 3.4 release to those who celebrate!

I know, I know what you're thinking: Josh, Spring Boot 3.4 already shipped! I know it. Spring Boot 3.4 dropped a week earlier this year! In the last couple of years, we’ve released Spring Boot on the same day as Thanksgiving Day in the USA, which is tedious for us here in the United States because it requires more preparation. This year, it’s a week early! Why do I mention this? Well, I’ve had some time already - before Thanksgiving, even - to explore the fantastic possibilities unlocked by using Spring Boot 3.4. While…

Bootiful Spring Boot 3.4: Spring AI

Engineering | Josh Long | November 24, 2024 | ...

I love Spring AI. It’s an amazing project designed to bring the patterns and practices of AI engineering to the Spring Boot developer. It’s got clean idiomatic abstractions that’ll make any Sring developer feel right at home, and it has a ton of integrations with all manner of different vector stores, embedding models, transcription models, image modes, and chat models.

The new release, m4, builds upon Spring Boot 3.4 and adds a ton of new features. As usual, I can’t hope to look at all the new features, but the release notes do an exquisite job.

  • there’s new Amazon Bedrock Convertse support
  • there’s been a ton of work done to support more expressive function calling, both in Java and Kotlin
  • there’s the first cut of support for the ideas taking shape in the AI community around "advanced and modular RAG". RAG, of course, is retrieval augmented generation and refers to using data from a system or service to inform the response generated by a chat model. These ideas are articulated in this paepr and this one, and the building blocks are taking root in this new release. Amazing!

Bootiful Spring Boot 3.4: Spring Batch

Engineering | Josh Long | November 24, 2024 | ...

The new release of Spring Batch 5.2 has a ton of features! Spring Batch is a compelling way to handle large but finite sequential data access. Think: reading from an SQL database and writing to a CSV, or reading from an FTP server and writing out an analysis of a MongoDB - batch processing. You know what this is. Half the job (pardon the pun!) is the integration of various sources of data and multiple sinks of data. The other aspect, as you can imagine with workloads that take a long time and could fail, is maintaining durable and extensive metadata related to each batch job’s run. Again, I…

Get the Spring newsletter

Stay connected with the Spring newsletter

Subscribe

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Tanzu Spring offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Learn more

Upcoming events

Check out all the upcoming events in the Spring community.

View all