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: 484

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:

Tool Calling

Tool 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