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 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
- 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
- Run the application
./mvw spring-boot:run
- 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