easy-agent  by songrongzhen

Java Agent SDK for integrating LLMs and RAG

Created 3 months ago
311 stars

Top 86.4% on SourcePulse

GitHubView on GitHub
Project Summary

This project provides a Java Agent development component for Spring Boot applications, enabling zero-modification integration of AI agent capabilities. It allows developers to quickly expose business tools, connect to large language models (LLMs), and implement Retrieval Augmented Generation (RAG) using local documents. The primary benefit is rapidly imbuing existing Java systems with advanced AI features with minimal code changes.

How It Works

Easy Agent leverages Spring Boot and Spring AI, integrating seamlessly via a starter dependency. Its core innovation lies in the @EasyTool annotation, which allows methods within existing Spring Beans to be automatically discovered and registered as callable tools without altering business code structure. These tools can be exposed via the Model Context Protocol (MCP) for external clients or used by LLMs for agentic workflows. The RAG module supports local document indexing (PDF, Excel) and retrieval, while the LLM module offers a unified, OpenAI-compatible client for various model providers, facilitating complex agent orchestration.

Quick Start & Requirements

  • Primary Install: Add the easy-agent-spring-boot-starter Maven dependency (version 0.1.8 as of README).
  • Prerequisites: Java 17+, Spring Boot 3.5+, Spring AI 1.0+, Maven 3.9+.
  • Documentation: Links to specific LLM provider configurations and example usage are provided within the README.

Highlighted Details

  • Annotation-driven Tool Registration: @EasyTool and @ToolParam annotations enable zero-invasion registration and definition of business tools.
  • MCP Protocol Support: A lightweight HTTP JSON-RPC service exposes registered tools, compatible with clients like Claude Code, with configurable exposure controls.
  • RAG Capabilities: Automatic indexing of PDF/Excel from classpath:knowledge/, supporting in-memory vector storage and multiple search strategies (Embedding, Cosine, TF-IDF).
  • Multi-Model LLM Adapter: A unified OpenAI-compatible client connects to various LLM providers (DashScope, DeepSeek, Ollama, OpenAI), supporting LLM-driven tool execution.
  • Skill File Generation: Generates Markdown skill files to describe business capabilities for LLM interaction.

Maintenance & Community

The provided README does not contain information regarding notable contributors, sponsorships, community channels (e.g., Discord, Slack), or a public roadmap.

Licensing & Compatibility

The project's license is not specified in the README. This omission prevents a clear assessment of compatibility for commercial use or integration into closed-source projects.

Limitations & Caveats

The PGVector implementation for RAG is a placeholder and not fully functional for persistent vector storage. The Skill module lacks runtime parsing, loading, or hot-updating capabilities. The RAG module provides a Java API only; business systems must implement their own upload interfaces and access controls. Crucially, the absence of a specified license is a significant adoption blocker.

Health Check
Last Commit

1 month ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
1 stars in the last 30 days

Explore Similar Projects

Starred by Tobi Lutke Tobi Lutke(Cofounder of Shopify), Shizhe Diao Shizhe Diao(Author of LMFlow; Research Scientist at NVIDIA), and
20 more.

dify by langgenius

0%
150k
Open-source LLM app development platform
Created 3 years ago
Updated 23 hours ago
Feedback? Help us improve.