{"data":{"slug":"thomasvitale-llm-apps-java-spring-ai","name":"llm-apps-java-spring-ai","tagline":"Java Generative AI and LLM Application Samples Using Spring AI","github_url":"https://github.com/ThomasVitale/llm-apps-java-spring-ai","owner":"ThomasVitale","repo":"llm-apps-java-spring-ai","owner_avatar_url":"https://avatars.githubusercontent.com/u/8523418?v=4","primary_language":"Java","stars":781,"forks":193,"topics":["embeddings","generative-ai","large-language-models","llm","ollama","openai","rag","spring-ai"],"archived":false,"github_pushed_at":"2026-09-06T22:32:54+00:00","maintenance_label":"Active","stars_delta_30d":18,"url":"https://www.graphcanon.com/tools/thomasvitale-llm-apps-java-spring-ai","markdown_url":"https://www.graphcanon.com/tools/thomasvitale-llm-apps-java-spring-ai.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/thomasvitale-llm-apps-java-spring-ai","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=thomasvitale-llm-apps-java-spring-ai","description":"Samples showing how to build Java applications powered by Generative AI and LLMs using Spring AI and Spring Boot.","homepage_url":null,"license":"Apache-2.0","open_issues":7,"watchers":13,"ai_summary":"ThomasVitale/llm-apps-java-spring-ai repository provides sample applications showcasing Java app development powered by generative AI and large language models, using frameworks like Spring AI and Spring Boot.","readme_excerpt":"# LLM and AI-Infused Applications with Java & Spring AI\n\nSamples showing how to build Java applications powered by Generative AI and Large Language Models (LLMs) using [Spring AI](https://docs.spring.io/spring-ai/reference/).\n\n## 🛠️ Pre-Requisites\n\n* Java 25\n* Podman/Docker\n\n## 💡 Use Cases\n\n* **[Chatbot](https://github.com/ThomasVitale/llm-apps-java-spring-ai/tree/main/use-cases/chatbot)**\n  Chatbot using LLMs via Ollama.\n\n* **[Question Answering](https://github.com/ThomasVitale/llm-apps-java-spring-ai/tree/main/use-cases/question-answering)**\n  Question answering with documents (RAG) using LLMs via Ollama and PGVector.\n\n* **[Semantic Search](https://github.com/ThomasVitale/llm-apps-java-spring-ai/tree/main/use-cases/semantic-search)**\n  Semantic search using LLMs via Ollama and PGVector.\n\n* **[Structured Data Extraction](https://github.com/ThomasVitale/llm-apps-java-spring-ai/tree/main/use-cases/structured-data-extraction)**  \n  Structured data extraction using LLMs via Ollama.\n\n* **[Text Classification](https://github.com/ThomasVitale/llm-apps-java-spring-ai/tree/main/use-cases/text-classification)**\n  Text classification using LLMs via Ollama.\n\n## 🧠 Models\n\n### Chat Models\n\nChat completion with LLMs via different model providers:\n\n* **[Mistral AI](https://github.com/ThomasVitale/llm-apps-java-spring-ai/tree/main/models/chat/chat-mistral-ai)**\n* **[Ollama](https://github.com/ThomasVitale/llm-apps-java-spring-ai/tree/main/models/chat/chat-ollama)**\n* **[OpenAI](https://github.com/ThomasVitale/llm-apps-java-spring-ai/tree/main/models/chat/chat-openai)**\n* **[Multiple Providers](https://github.com/ThomasVitale/llm-apps-java-spring-ai/tree/main/models/chat/chat-multiple-providers)**\n\n### Embedding Models\n\nVector transformation (embeddings) with LLMs via different model providers:\n\n* **[Mistral AI](https://github.com/ThomasVitale/llm-apps-java-spring-ai/tree/main/models/embedding/embedding-mistral-ai)**\n* **[Ollama](https://github.com/ThomasVitale/llm-apps-java-spring-ai/tree/main/models/embedding/embedding-ollama)**\n* **[OpenAI](https://github.com/ThomasVitale/llm-apps-java-spring-ai/tree/main/models/embedding/embedding-openai)**\n* **[ONNX Transformers](https://github.com/ThomasVitale/llm-apps-java-spring-ai/tree/main/models/embedding/embedding-transformers)**\n\n### Image Models\n\nImage generation with LLMs via different model providers:\n\n* **[OpenAI](https://github.com/ThomasVitale/llm-apps-java-spring-ai/tree/main/models/image/image-openai)**\n\n### Audio Models\n\nSpeech generation with LLMs via different model providers:\n\n* **[OpenAI](https://github.com/ThomasVitale/llm-apps-java-spring-ai/tree/main/models/audio/speech-to-text-openai)**\n\nSpeech transcription with LLMs via different model providers:\n\n* **[OpenAI](https://github.com/ThomasVitale/llm-apps-java-spring-ai/tree/main/models/audio/text-to-speech-openai)**\n\n### Moderation Models\n\n_Coming soon_\n\n## 📐 Patterns\n\n### Prompts, Messages, and Templates\n\nPrompting using simple text:\n\n* **[Ollama](https://github.com/ThomasVitale/llm-apps-java-spring-ai/tree/main/patterns/prompts/prompts-basics-ollama)**\n* **[OpenAI](https://github.com/ThomasVitale/llm-apps-java-spring-ai/tree/main/patterns/prompts/prompts-basics-openai)**\n\nPrompting using structured messages and roles:\n\n* **[Ollama](https://github.com/ThomasVitale/llm-apps-java-spring-ai/tree/main/patterns/prompts/prompts-messages-ollama)**\n* **[OpenAI](https://github.com/ThomasVitale/llm-apps-java-spring-ai/tree/main/patterns/prompts/prompts-messages-openai)**\n\nPrompting using templates:\n\n* **[Ollama](https://github.com/ThomasVitale/llm-apps-java-spring-ai/tree/main/patterns/prompts/prompts-templates-ollama)**\n* **[OpenAI](https://github.com/ThomasVitale/llm-apps-java-spring-ai/tree/main/patterns/prompts/prompts-templates-openai)**\n\n### Structured Output\n\nConverting LLM output to structured JSON and Java objects:\n\n* **[Ollama](https://github.com/ThomasVitale/llm-apps-java-spring-ai/tree/main/patterns/structured-output/structur","github_created_at":"2024-01-14T11:04:15+00:00","created_at":"2026-07-11T11:32:28.985679+00:00","updated_at":"2026-09-20T06:18:40.501485+00:00","categories":[{"slug":"developer-tools","name":"Developer Tools","url":"https://www.graphcanon.com/categories/developer-tools","markdown_url":"https://www.graphcanon.com/categories/developer-tools.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/developer-tools"},{"slug":"llm-frameworks","name":"LLM Frameworks","url":"https://www.graphcanon.com/categories/llm-frameworks","markdown_url":"https://www.graphcanon.com/categories/llm-frameworks.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/llm-frameworks"}],"tags":[{"slug":"embeddings","name":"embeddings"},{"slug":"generative-ai","name":"generative-ai"},{"slug":"large-language-models","name":"large-language-models"},{"slug":"llm","name":"llm"},{"slug":"ollama","name":"ollama"},{"slug":"openai","name":"openai"},{"slug":"rag","name":"rag"},{"slug":"spring-ai","name":"spring-ai"}],"trust":{"provenance":{"is_fork":false,"github_id":743107776,"owner_type":"User","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-09-20T06:18:38.821Z","maintenance":{"label":"Active","score":82,"methodology":"github_public_v1","releases_90d":0,"days_since_push":13,"last_release_at":null,"stars_delta_30d":18,"open_issues_delta_30d":0},"security_summary":{"status":"no_lockfile","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-11T11:32:30.272Z","medium_count":0,"scan_profile":"none","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-09-20T06:18:39.846Z"},"languages":{"value":["java"],"source":"github.language","observed_at":"2026-09-20T06:18:39.846Z"},"license_spdx":{"value":"Apache-2.0","source":"github.license","observed_at":"2026-09-20T06:18:39.846Z"}},"decision_facts":{"hosting":null,"pricing":null,"requirements":{"notes":["Experience with Java programming is essential for leveraging the repository effectively.","Familiarity with frameworks such as Spring AI and Spring Boot will be advantageous in understanding and implementing the sample applications."]},"constraints":null,"when_to_use":["When you want to leverage existing knowledge of the Spring framework, especially for developing Java-based applications that integrate generative AI functionalities.","If your project requires Apache-2.0 licensed software ensuring permissive use for proprietary development or further distribution.","If embedding and integrating large language models into current Java projects is a requirement, particularly with the support given by Spring AI."],"when_not_to_use":["When seeking a platform independent of the Spring framework, as llm-apps-java-spring-ai focuses on leveraging existing Spring components.","For developers preferring languages other than Java for developing applications that require interaction with large language models or generative AI.","If your development team does not have expertise in Java and the Spring ecosystem, llm-apps-java-spring-ai might require a significant learning curve."],"source":"enrich:decision_facts","observed_at":"2026-07-14T19:09:30.795Z"},"constraint_facets":null,"decision_summary":[{"label":"Requirements","value":"Experience with Java programming is essential for leveraging the repository effectively.; Familiarity with frameworks such as Spring AI and Spring Boot will be advantageous in understanding and implementing the sample applications."},{"label":"Adopt for","value":"llm-apps-java-spring-ai provides Java developers with samples to build applications powered by generative AI and large language models using Spring AI and Spring Boot."},{"label":"License detail","value":"Apache-2.0"}]}}