一、SpringAI 基础示例

假设你已经有Spring Boot项目,使用SpringAI调用大模型的示范代码:

// 1. 引入依赖(示例 Maven 坐标,请根据实际调整)
/*
<dependency>
  <groupId>com.springai</groupId>
  <artifactId>springai-starter</artifactId>
  <version>1.0.0</version>
</dependency>
*/

// 2. 配置 application.yml
/*
spring:
  ai:
    openai:
      api-key: YOUR_API_KEY
*/

// 3. 在代码中调用

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.springai.client.OpenAIClient;
import com.springai.model.CompletionRequest;

@Service
public class AiService {

    @Autowired
    private OpenAIClient openAIClient;

    public String generateText(String prompt) {
        CompletionRequest request = CompletionRequest.builder()
            .model("gpt-4o-mini")
            .prompt(prompt)
            .maxTokens(200)
            .build();
        return openAIClient.complete(request).getChoices().get(0).getText();
    }
}

最佳实践提示:

  • 利用Spring配置文件统一管理API密钥和模型参数;
  • 结合Spring的依赖注入,保证组件可测试和易扩展;
  • 使用响应式WebFlux可以更高效处理高并发请求。

二、LangChain4j 基础示例

LangChain4j注重链式调用和丰富组件,示范构建一个简单的问答链:

// 1. 引入依赖(示例 Maven 坐标)
/*
<dependency>
  <groupId>com.langchain4j</groupId>
  <artifactId>langchain4j-core</artifactId>
  <version>0.1.0</version>
</dependency>
*/

// 2. 构造链式调用

import com.langchain4j.agent.Agent;
import com.langchain4j.agent.SimpleAgent;
import com.langchain4j.llm.openai.OpenAiLanguageModel;
import com.langchain4j.memory.InMemoryMemory;

public class LangChainExample {

    public static void main(String[] args) {
        OpenAiLanguageModel llm = OpenAiLanguageModel.builder()
            .apiKey("YOUR_API_KEY")
            .model("gpt-4o-mini")
            .build();

        Agent agent = SimpleAgent.builder()
            .languageModel(llm)
            .memory(new InMemoryMemory()) // 简单记忆组件
            .build();

        String question = "请简述Java的多线程优势。";
        String answer = agent.run(question);

        System.out.println("回答:" + answer);
    }
}

最佳实践提示:

  • 灵活组合Chain和Agent,支持复杂多步骤推理和状态保持;
  • 记忆模块支持扩展持久化存储,方便实现上下文管理;
  • 适合构建AI助理、对话机器人和智能工作流。

三、详细对比补充

维度SpringAILangChain4j
入门难度低,熟悉Spring即可快速使用中等,需要理解链式设计和Agent机制
生态依赖依赖Spring生态丰富,集成企业业务系统简单独立组件为主,适合专注AI逻辑和链式调用
记忆与上下文管理依赖Spring Data或外部组件自定义内置多种记忆类型,支持快速扩展和持久化
并发与响应式支持原生支持WebFlux,适合大规模异步请求主要基于同步接口,异步需自行封装
使用场景企业级微服务、大规模API调用、后台任务AI Agent、智能问答、多轮对话、复杂推理
社区活跃度较成熟,依托Spring社区新兴且快速发展,开源活跃

四、总结与建议

  • 如果你的项目本身基于Spring,且需要快速集成大模型服务,推荐SpringAI,能无缝融入现有架构,提升开发效率。
  • 如果你要构建复杂的智能代理、多步推理和对话系统,且更关注AI链式逻辑,推荐LangChain4j,更灵活、功能更强。
  • 两者可以结合使用:用SpringAI做大模型调用与管理,用LangChain4j做链式流程和智能Agent,实现优势互补。

如果你需要,我还可以帮你写:

  • SpringAI项目实战模板
  • LangChain4j复杂链路构建示例
  • 两者结合使用的架构设计方案

告诉我你的具体需求!