成人免费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

2021-02-22 17:00:31

Service Mes微服務開發

2023-05-24 10:06:42

多云實踐避坑

2022-03-04 18:11:16

信服云

2021-05-08 12:30:03

Pythonexe代碼

2021-05-07 21:53:44

Python 程序pyinstaller

2020-12-16 10:00:59

Serverless數字化云原生

2018-01-20 20:46:33

2021-04-28 09:26:25

公有云DTS工具

2018-03-26 11:14:13

程序猿bug代碼

2019-02-12 15:07:42

屏幕參數PC

2020-09-13 09:19:10

LinuxPython3.6

2024-03-28 12:51:00

Spring異步多線程

2019-04-24 17:45:24

微服務容器青云
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产乱码久久久久久一区二区 | 亚洲精品乱码久久久久久按摩观 | 国产网站在线播放 | 亚洲一区二区中文字幕 | 成人在线观看免费 | 一级片在线播放 | 天天操夜夜操 | 欧美在线视频一区 | av手机免费在线观看 | 中国三级黄色录像 | 一区二区三区四区国产 | 先锋影音资源网站 | 午夜在线观看视频 | 成人在线精品视频 | www.一区二区三区 | 久久久久国产精品www | 日韩综合| 中文字幕 国产 | 91精品国产乱码久久久久久久久 | 精品久久久久久久人人人人传媒 | 九九久久免费视频 | 国产精品一区二区视频 | 国产精品99久久久久久动医院 | 久久机热| 激情三区 | 欧美精品1区2区 | 国产精品久久久久久久免费大片 | 精品国产欧美 | 91一区 | 一区二区免费 | 蜜桃臀av一区二区三区 | 成人一区二区视频 | 久久精品中文字幕 | 完全免费av在线 | 蜜桃免费av| 日韩午夜一区二区三区 | 国内精品久久影院 | av国产精品| 久久婷婷香蕉热狠狠综合 | 真人一级毛片 | 成人av一区 |