正邦logo设计/上海推广seo
1. 主流的java大模型开发框架介绍
1.1 LangChain4J
- 提供标准化API,支持超过15个主流大模型提供商和嵌入存储。
- 提供工具箱,从低级提示词模板到高级AI服务,适合构建聊天机器人和检索增强生成(RAG)管道。
- 社区支持活跃,能够快速整合最新的AI技术,便于Java开发者将AI功能集成到现有项目中。
- 官网地址:https://docs.langchain4j.dev
1.2 Spring AI:
- 深度集成到Spring框架中,Java开发者可以轻松将AI功能嵌入到现有Spring项目中。
- 尽管Spring AI仍处于发展阶段,尚未发布正式版本,但其凭借Spring生态系统,具备了极强的扩展性和集成能力。
对比
对比 | LangChain4J | Spring AI |
---|---|---|
功能成熟度 | 功能全面,适合大规模AI应用 | 仍在发展,功能有待完善 |
集成能力 | 支持多种LLM和嵌入存储,适合多样化场景 | 集成到Spring项目中,扩展性强 |
社区支持 | 社区活跃,反馈迅速 | 项目正在成长,API变更较大 |
2. 阿里云百炼平台
2.1平台地址:https://bailian.console.aliyun.com
2.2前往平台申请apiKey
3. 引入相关jar包
3.1 langchain4j-bom版本控制依赖
引入版本控制后子jar包不需要写版本号
<dependencyManagement><dependencies><dependency><groupId>dev.langchain4j</groupId><artifactId>langchain4j-bom</artifactId><version>1.0.0-beta1</version><type>pom</type><scope>import</scope></dependency></dependencies>
</dependencyManagement>
3.2 langchain4j相关jar
<dependency><groupId>dev.langchain4j</groupId><artifactId>langchain4j</artifactId>
</dependency>
<dependency><groupId>dev.langchain4j</groupId><artifactId>langchain4j-open-ai</artifactId>
</dependency>
<dependency><groupId>dev.langchain4j</groupId><artifactId>langchain4j-community-dashscope</artifactId><version>1.0.0-beta1</version>
</dependency>
<dependency><groupId>dev.langchain4j</groupId><artifactId>langchain4j-reactor</artifactId>
</dependency>
4.代码示例
代码获取: www.yulaoban.club/ca
视频地址
4.1 注入聊天模型到容器
@Beanpublic ChatLanguageModel chatLanguageModel(){return OpenAiChatModel.builder().apiKey("your apikey from dashscope").modelName("qwen-turbo").baseUrl("https://dashscope.aliyuncs.com/compatible-mode/v1").build();}
4.2 定义聊天助手接口
public interface AssistantService {String chat(@UserMessage String msg);}
4.3 绑定聊天模型到聊天助手
@Beanpublic AssistantService assistantService(ChatLanguageModel chatLanguageModel){return AiServices.builder(AssistantService.class).chatLanguageModel(chatLanguageModel).chatMemoryProvider(memoryId -> MessageWindowChatMemory.withMaxMessages(10)).build();}
4.4 controller示例
@RestController
@RequestMapping("/chat")
public class ChatController {@Resourceprivate AssistantService assistantService;@GetMapping("/generate")public String simple(@RequestParam("msg") String msg){return assistantService.chat(msg);}
}