llm-apps-java-spring-ai

llm-apps-java-spring-ai

Samples showing how to build Java applications powered by Generative AI and LLMs using Spring AI and Spring Boot.

Stars: 403

Visit
 screenshot

The 'LLM Applications with Java and Spring AI' repository provides samples demonstrating how to build Java applications powered by Generative AI and Large Language Models (LLMs) using Spring AI. It includes projects for question answering, chat completion models, prompts, templates, multimodality, output converters, embedding models, document ETL pipeline, function calling, image models, and audio models. The repository also lists prerequisites such as Java 21, Docker/Podman, Mistral AI API Key, OpenAI API Key, and Ollama. Users can explore various use cases and projects to leverage LLMs for text generation, vector transformation, document processing, and more.

README:

LLM and AI-Infused Applications with Java & Spring AI

Samples showing how to build Java applications powered by Generative AI and Large Language Models (LLMs) using Spring AI.

๐Ÿ› ๏ธ Pre-Requisites

  • Java 23
  • Podman/Docker

๐Ÿ’ก Use Cases

๐Ÿง  Models

๐Ÿ’ฌ Chat Models

Chat completion with LLMs via different model providers:

๐Ÿ”ค Embedding Models

Vector transformation (embeddings) with LLMs via different model providers:

๐ŸŽจ Image Models

Image generation with LLMs via different model providers:

๐ŸŽต Audio Models

Speech generation with LLMs via different model providers:

Speech transcription with LLMs via different model providers:

๐Ÿ›ก๏ธ Moderation Models

Coming soon

๐Ÿ“ Patterns

๐Ÿ“ Prompts, Messages, and Templates

Prompting using simple text:

Prompting using structured messages and roles:

Prompting using templates:

๐Ÿ“Š Structured Output

Converting LLM output to structured JSON and Java objects:

๐ŸŽฏ Multimodality

Including various media in prompts with LLMs:

โš™๏ธ Function Calling/Tools

Function calling with LLMs via different model providers:

๐Ÿง  Memory

Coming soon

๐Ÿ“ฅ Data Ingestion

๐Ÿ“š Document Readers

Reading and vectorizing documents with LLMs via Ollama:

๐Ÿ”„ Document Transformers

Document transformation with LLMs via Ollama:

  • Metadata
    Enrich documents with keywords and summary metadata for enhanced retrieval.
  • Splitters
    Divide documents into chunks to fit the LLM context window.

๐Ÿ”ข Vector Stores

Coming soon

๐Ÿ”„ Retrieval Augmented Generation (RAG)

Question answering with documents using different RAG flows (with Ollama and PGVector):

โžก๏ธ Sequential RAG

๐ŸŒณ Branching RAG

๐Ÿ“Š Observability

๐Ÿง  LLM Observability

LLM Observability for different model providers:

๐Ÿ”ข Vector Store Observability

Vector Store Observability for different vector stores:

โš™๏ธ Model Context Protocol

Integrations with MCP Servers for providing contexts to LLMs.

๐Ÿ“‹ Evaluation

Coming soon

๐Ÿค– Agents

Coming soon

๐Ÿ“š References and Additional Resources

๐ŸŽค Conferences

๐ŸŽฅ Videos

๐ŸŽฎ Demos

๐Ÿ“š Workshops

For Tasks:

Click tags to check more tools for each tasks

For Jobs:

Alternative AI tools for llm-apps-java-spring-ai

Similar Open Source Tools

For similar tasks

For similar jobs