AI Tools & Dev

Key Points


References

Reference_description_with_linked_URLs_______________________Notes______________________________________________________________















Key Concepts



Python tools 


Scikit 


Pytorch




Spring Ai 

https://spring.io/projects/spring-ai 

https://docs.spring.io/spring-ai/reference/


Spring AI is a project within the Spring Framework that helps Java developers incorporate artificial intelligence (AI) into their applications. It's an application framework that aims to use Spring's design principles, like modularity and portability, in the AI domain. Spring AI provides a Spring-friendly API and abstractions for developing AI applications, and it supports many AI models, including: 
OpenAI, Azure OpenAI, Amazon Bedrock, Hugging Face, Google VertexAI, Mistral AI, Stability AI, Ollama, PostgresML, and Transformers (ONNX). 
Spring AI simplifies the integration of AI functionality into Spring applications by streamlining interactions with AI models.It uses familiar Spring concepts and patterns, which can help with learning and adoption.For example, prompt templates can be used to populate placeholders within a model object, and the resulting string becomes the prompt for the AI model.


Spring AI is an application framework for AI engineering. Its goal is to apply to the AI domain Spring ecosystem design principles such as portability and modular design and promote using POJOs as the building blocks of an application to the AI domain.

Features

Portable API support across AI providers for Chat, text-to-image, and Embedding models. Both synchronous and stream API options are supported. Dropping down to access model-specific features is also supported.

Chat Models

  • Amazon Bedrock
    • Anthropic
    • Cohere's Command
    • AI21 Labs' Jurassic-2
    • Meta's LLama
    • Amazon's Titan
  • Anthropic Claud
  • Azure Open AI
  • Google Vertex AI
    • PaLM2
    • Gemini
  • Groq
  • HuggingFace - access thousands of models, including those from Meta such as Llama
  • MistralAI
  • MiniMax
  • Moonshot AI
  • Ollama - run AI models on your local machine
  • OpenAI
  • QianFan
  • ZhiPu AI
  • Watsonx.AI

Text-to-image Models

  • OpenAI with DALL-E
  • StabilityAI

Transcription (audio to text) Models

  • OpenAI

Embedding Models

  • Azure OpenAI
  • Amazon Bedrock
    • Cohere
    • Titan
  • Azure OpenAI
  • Mistral AI
  • MiniMax
  • Ollama
  • (ONNX) Transformers
  • OpenAI
  • PostgresML
  • QianFan
  • VertexAI
    • Text
    • Multimodal
    • PaLM2
  • ZhiPu AI

The Vector Store API provides portability across different providers, featuring a novel SQL-like metadata filtering API that maintains portability.

Vector Databases

  • Azure AI Service
  • Apache Cassandra
  • Chroma
  • Elasticsearch
  • GemFire
  • Milvus
  • MongoDB Atlas
  • Neo4j
  • OpenSearch
  • Oracle
  • PGvector
  • Pinecone
  • Qdrant
  • Redis
  • SAP Hana
  • Typesense
  • Weaviate

Spring Boot Auto Configuration and Starters for AI Models and Vector Stores.

Function calling You can declare java.util.Function implementations to OpenAI models for use in their prompt responses. You can directly provide these functions as objects or refer to their names if registered as a @Bean within the application context. This feature minimizes unnecessary code and enables the AI model to ask for more information to fulfill its response.

Models supported are

  • OpenAI
  • Azure OpenAI
  • VertexAI
  • Mistral AI
  • Anthropic Claude
  • Groq

ETL framework for Data Engineering

  • The core functionality of our ETL framework is to facilitate the transfer of documents to model providers using a Vector Store. The ETL framework is based on Java functional programming concepts, helping you chain together multiple steps.
  • We support reading documents in various formats, including PDF, JSON, and more.
  • The framework allows for data manipulation to suit your needs. This often involves splitting documents to adhere to context window limitations and enhancing them with keywords for improved document retrieval effectiveness.
  • Finally, processed documents are stored in the Vector Database, making them accessible for future retrieval.

Extensive reference documentation, sample applications, and workshop/course material.

Future releases will build upon this foundation to provide access to additional AI Models, for example, the Gemini multi-modal model just released by Google, a framework for evaluating the effectiveness of your AI application, more convenience APIs, and features to help solve the “query/summarize my documents” use cases. Check GitHub for details on upcoming releases.

Getting Started

You can get started in a few simple steps

  1. Install the Spring CLI, and then, in your shell, run the command.
spring boot new --from ai --name myai

This command creates a new application for you to start basic interactions with ChatGPT, just follow the instructions in the generated README file to get your API KEY and then

  1. Run the application
./mvw spring-boot:run
  1. And curl the endpoint:
curl localhost:8080/ai/simple

Want to get started in another way? View the Getting Started section in the reference documentation.

Potential Value Opportunities



Potential Challenges



Candidate Solutions



Step-by-step guide for Example



sample code block

sample code block
 



Recommended Next Steps