成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Android圖片處理避坑指南:讓Bitmap不再拖垮你的APP

移動開發 Android
如果是簡單功能、開發周期又緊可以使用 Spring AI;如果功能復雜,且定制型要求比較多,可以使用功能和靈活度更高的 LangChain4j。但使用 LangChain4j 這就意味著你需要忍受 LangChain4j 不夠簡潔的寫法,以及學習和使用成本比較高的問題。

LangChain4j 和 Spring AI 是 Java 生態中實現大模型應用開發的兩個最重要的框架,但二者的區別是啥?生產級別又該使用哪種框架?令很多人犯了難,所以本文就來淺聊一下,希望給大家在技術選型時有一個簡單的參考。

一、功能對比

LangChain4j 和 Spring AI 的功能是比較類似的,甚至兩者可以配合使用,例如使用 Spring AI 實現 MCP 服務器端,再使用 LangChain4j 實現 MCP 客戶端調用 Spring AI,二者可以無縫對接。那二者的區別是啥呢?

總體來說,LangChain4j 提供的功能更多,例如實現 RAG 功能時,LangChain4j 提供了三種模式:

  1. 簡單模式
  2. 原生模式
  3. 高級模式

在后兩種模式實現時提供了:

  1. 文本加載器。
  2. 文檔解析器,可以實現多種文本格式的自動解析,例如PDF、DOC、TXT、MD、HTML 等格式的自動解析。
  3. 文本轉換器
  4. 文本分割器

每個細節和模塊的職責都定義的很清楚,所以實現復雜功能和生產級別業務時更推薦使用 LangChain4j

二、使用和學習成本

LangChain4j 的使用和學習成本比 Spring AI 高很多,舉個例子,例如 Spring AI 要實現流式對話,只需要一行代碼就搞定了:

@RequestMapping(value = "/streamChat", produces = "text/event-stream")
public Flux<String> streamChat(@RequestParam(value = "msg") String msg) {
    return chatModel.stream(msg);
}

而 LangChain4j 實現步驟如下:

  1. 添加 langchain4j-reactor 依賴。
  2. 設置配置文件,配置 streaming-chat-model api-key 和 model-name。
  3. 創建 AI Service 并返回 Flux 對象。
  4. 調用 Ai Service 才能實現流式輸出。

具體實現這里就不列舉了,大家可以看出來 LangChain4j 的實現復雜度了吧?

類似的場景還有很多,例如 Spring AI 實現 MCP Client 只需要添加依賴,設置配置信息,然后一行 defaultTools 或 tools 設置就可以實現了,如下代碼:

ChatClient.builder(chatModel)
            .defaultTools(tools.getToolCallbacks()) 
            .build();

但 LangChain4j 的實現就非常復雜了,除了添加依賴之后,你還需要:

  1. 創建傳輸協議 McpTransport。
  2. 創建 MCP 客戶端 McpClient。
  3. 創建 Tools(提供者)對象 ToolProvider。
  4. 構建 AiService。
  5. 執行 MCP Server 調用。

具體實現代碼如下:

@RequestMapping("/chat")
public String chat(@RequestParam String question) {
    // 1.創建傳輸協議
    McpTransport transport = new HttpMcpTransport.Builder()
            .sseUrl("http://localhost:8686/sse")
            .logRequests(true) // if you want to see the traffic in the log
            .logResponses(true)
            .build();
    // 2.創建 MCP 客戶端
    McpClient mcpClient = new DefaultMcpClient.Builder()
            .transport(transport)
            .build();
    // 3.創建 Tools(提供者)對象
    ToolProvider toolProvider = McpToolProvider.builder()
            .mcpClients(List.of(mcpClient))
            .build();
    // 4.構建 AiService
    ToolsAiService aiService = AiServices.builder(ToolsAiService.class)
            .chatLanguageModel(chatModel)
            .toolProvider(toolProvider)
            .build();
    // 5.調用 MCP Server
    return aiService.chat(question);
}

小結

除了 LangChain4j 的使用復雜之外,LangChain4j 的文檔也不全,要么是沒有關鍵實現代碼案例、要么是干脆文檔寫的都是錯的,LangChain4j 的坑比較多,最后只能通過看最新的源碼才能解決和使用相關功能,所以 LangChain4j 學習和使用成本是非常高的。

三、Spring 生態支持性

Spring AI 是由 Spring 官方提供的,所以它對于整個 Spring 生態的支持是更好的,而且穩定性更好;而 LangChain4j 除了支持 Spring 之外還支持 Java 原生寫法,以及 Quarkus 框架。

但 LangChain4j 整體對于 Spring 生態的支持就要差一些了,例如它里面的 ImageModel 都沒有提供 Spring Boot 自動裝配的實現,還有一些大模型例如智普 AI 根本沒有提供 Spring Boot 的支持等。

小結

如果是簡單功能、開發周期又緊可以使用 Spring AI;如果功能復雜,且定制型要求比較多,可以使用功能和靈活度更高的 LangChain4j。但使用 LangChain4j 這就意味著你需要忍受 LangChain4j 不夠簡潔的寫法,以及學習和使用成本比較高的問題。


責任編輯:武曉燕 來源: 沐雨花飛碟
相關推薦

2020-06-12 11:03:22

Python開發工具

2020-08-26 07:37:25

Nacos微服務SpringBoot

2023-11-01 15:32:58

2024-04-24 13:45:00

2024-04-03 12:30:00

C++開發

2021-02-26 00:46:11

CIO數據決策數字化轉型

2025-04-10 08:21:17

2020-12-16 10:00:59

Serverless數字化云原生

2022-03-04 18:11:16

信服云

2021-05-07 21:53:44

Python 程序pyinstaller

2023-05-24 10:06:42

多云實踐避坑

2021-02-22 17:00:31

Service Mes微服務開發

2021-05-08 12:30:03

Pythonexe代碼

2018-01-20 20:46:33

2021-04-28 09:26:25

公有云DTS工具

2019-02-12 15:07:42

屏幕參數PC

2018-03-26 11:14:13

程序猿bug代碼

2020-09-13 09:19:10

LinuxPython3.6

2024-03-28 12:51:00

Spring異步多線程

2019-04-24 17:45:24

微服務容器青云
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品视频播放 | 国产资源在线视频 | 一区二区三区小视频 | 久久久久成人精品亚洲国产 | 精品国产亚洲一区二区三区大结局 | 国产一区二区三区视频 | 亚洲综合在线一区 | 精品国产一区二区三区久久 | 欧美精产国品一二三区 | 请别相信他免费喜剧电影在线观看 | 另类在线 | 成人一级黄色毛片 | 一区二区三区欧美 | 手机三级电影 | 国产午夜精品一区二区三区四区 | 亚洲成人精品一区 | 亚洲综合色视频在线观看 | 日韩一区二区三区在线 | 日韩精品一区二区三区免费观看 | 四虎最新 | 啪啪免费 | 亚洲欧美bt | 欧美成人一区二免费视频软件 | 日一区二区 | 国产精品亚洲精品日韩已方 | 国产高清一区二区 | 久久久xx | 国产免费一区二区 | 中文在线一区二区 | 亚洲成人福利视频 | 欧美一区二 | 污书屋| 国产一区亚洲二区三区 | 夜夜干夜夜操 | 久久久91| 亚洲电影免费 | 久久夜视频| 欧美vide | 日本精品一区二区三区视频 | 欧美一区二区三区四区视频 | 国产a视频 |