Get ahead
VMware offers training and certification to turbo-charge your progress.
Learn moreWe are happy to announce the 1.0.0 Milestone 2 release of Spring AI.
This release brings significant enhancements and new features across various areas.
A major emphasis for this release has been on observability functionality, crucial for monitoring, debugging, and optimizing AI applications. Comprehensive observability features have been introduced for:
ChatClient
(including Advisors)Note: Support for additional ChatModel
implementation will be added in future releases.
Here are some samples showcasing this functionality to get started
Grazie mille (a thousand thanks ;) to Thomas Vitale for his significant efforts in contributing to the Observability feature!
Here is a screenshot showing the tracing of the following code
var response = chatClient.prompt()
.user("How does Carina work?")
.advisors(new QuestionAnswerAdvisor(vectorStore, SearchRequest.defaults()))
.advisors(new PromptChatMemoryAdvisor(chatMemory))
.call()
.chatResponse();
In the trace view, you can see the nesting of the ChatClient
call which first passes through two advisors, the QuestionAnswerAdvisor
that does an embedding request and a query to the PGVector database. Then it passes through the PromptChatMemoryAdvisor
, which takes very little time, and then finally to the calling of the OpenAI gpt-4o
model.
You can find all the details what metrics are available in the Observability Documentation
General improvements have been made across the chat model infrastructure classes. Key feature enhancements for specific models include:
bedrockruntime
version to 2.26.7Thanks for Geng Rong for the Moonshot, QianFan, and ZhiPu model support.
initialize-schema
changed to false.BatchingStrategy
for efficient document embedding operations
TokenCountBatchingStrategy
implementationCassandraChatMemory
RestTemplate
to RestClient
CHROMA_SERVER_AUTHN_CREDENTIALS
environment variable for Docker Compose and Testcontainersorg.bson.Documents
RedisAutoConfiguration
Many refactoring, bug fixing, documentation enhancements across the board by a wide range of contributors. If we haven’t gotten to your PR yet, we will, please be patient. Thanks to
Mohammed, Ahmed Yousri Salama, Ashwin Krishna K, blackbean99, Youngrae Cho, DadySu, Jerry (Flyingblu), Lorenzo Caenazzo, Jemin Huh, Bill Lau, JayPark7821, KAMOsama, David Caudill, Lee-ChungMu, Pablo Sanchi, Seol_JY, TarasVovk669, Thomas Vitale, TimJ0212, Fu Cheng, ashni, Benoit Moussaud, Dariusz Jędrzejczyk, cocomongg, ChanYeong, David Afriz, devholic22, Mariusz Bernacki, dongfeng3692, Dave Syer, Eddú Meléndez, El Mahdi Oukhamou, Seongmin Kim, Francisco Javier Torres, geetrawat, Craig Walls, yinpeng, Sinsy, Johnny Lim, jo-kim, Josh Long, KimMinjeong, Cameron Kirk, Laura Trotta, Loïc Lefèvre, Hyoseop Song, luocq3, Michael Simons, mck, Jonatan Soto, Muthukumaran Navaneethakrishnan, Geng Rong, Nicholas Zhan, Szymon Ochnio, Philipp Gerhard, Piotr Olaszewski, rapenumaka, rivkode, Ross Lawley, Andrea Rubino, Soby Chacko, xiaoxin, Stefan Vassilev, Tim Kelly, Chris Turchin, uzhuraul, Veerendra Vellanki, 吴博, xiehui1956, xsg22, 양예성, Yulong Shi, jiwoo, zlzzlzz2l