【langchain4j篇01】:5分鐘上手langchain4j 1.1.0(SpringBoot整合使用)

目錄

一、環境準備

二、創建項目、導入依賴

三、配置 application.yml

四、注入Bean,開箱即用

五、日志觀察


一、環境準備

首先和快速上手 Spring AI 框架一樣的前置條件:先申請一個 apikey ,此部分步驟參考:【SpringAI篇01】:5分鐘教會你使用SpringAI (1.0.0穩定版)_spring-ai 1.0.0使用教程-CSDN博客文章瀏覽閱讀1.4k次,點贊42次,收藏32次。后端開發之:從創建 SpringAI 項目開始,到快速入門實現調用大模型 API 實現對話功能。_spring-ai 1.0.0使用教程 https://blog.csdn.net/lyh2004_08/article/details/148925217前半部分即可


二、創建項目、導入依賴

1. 同樣,langchain4j 對于 jdk 的要求最低也是 jdk17,按照下圖操作即可

2. 導入一個 spring 的 web 依賴:

3. 項目創建完畢,按照官網教程導入 langchain4j 的 低級API(后續還有高級API?起步依賴(當前最新版本):

<dependency><groupId>dev.langchain4j</groupId><artifactId>langchain4j-open-ai-spring-boot-starter</artifactId><version>1.1.0-beta7</version>
</dependency>

參考資料:Spring Boot 集成 | LangChain4j --- Spring Boot Integration | LangChain4j


三、配置 application.yml

隨后,在 application.yml 或 application.properties 中配置如下配置:

langchain4j:open-ai:chat-model:base-url: https://dashscope.aliyuncs.com/compatible-mode/v1 # 百煉平臺的baseUrlapi-key: ${langchain4j.api-key} # 你剛剛申請的apiKeymodel-name: qwen-plus # 你想使用的對話模型模型名log-requests: true # 是否打印請求日志log-responses: true # 是否打印響應日志

其中各項配置作用已在代碼中表明。不過顯然,langchain4j 與 SpringAI 一樣,也都可以在創建 model 時自定義配置


四、注入Bean,開箱即用

由于前進做了相關模型的配置,langchain4j 的自動裝配會為我們提供一個基于配置的默認 OpenAiChatModel,我們直接創建一個Controller,注入使用即可

package xyz.qiquqiu.lc4blogdemo.controller;import dev.langchain4j.model.openai.OpenAiChatModel;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@Slf4j
@RestController
@RequiredArgsConstructor
public class ChatController {private final OpenAiChatModel chatModel;/*** 調用百煉的大模型進行聊天(阻塞式)* @param message 用戶發送的消息,相當于提示詞prompt* @return*/@RequestMapping("/chat")public String chat(String message) {log.debug("用戶說:{}", message);return chatModel.chat(message);}
}

隨后,打開瀏覽器,訪問 chat 接口,測試效果:


五、日志觀察

由于我們配置了請求與響應時打印日志的配置:

所以我們可以結合控制臺輸出,清晰地看到請求響應的過程:

請求日志:

響應日志:

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/88925.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/88925.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/88925.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

js運算符

運算符 jarringslee*賦值運算符 - / 對變量進行賦值的運算符&#xff0c;用于簡化代碼。左邊是容器&#xff0c;右邊是值一元運算符正號 符號- 賦予數據正值、負值自增 自減– 前置和后置&#xff1a;i和i&#xff1a;一般情況下習慣使用后置i&#xff0c;兩者在單獨…

next.js 登錄認證:使用 github 賬號授權登錄。

1. 起因&#xff0c; 目的: 一直是這個報錯。2. 最終效果&#xff0c; 解決問題&#xff0c;能成功登錄、體驗地址&#xff1a;https://next-js-gist-app.vercel.app/代碼地址&#xff1a; https://github.com/buxuele/next-js-gist-app3. 過程: 根本原因: github 的設置&…

深入理解設計模式:原型模式(Prototype Pattern)

在軟件開發中&#xff0c;對象的創建是一個永恒的話題。當我們需要創建大量相似對象&#xff0c;或者對象創建成本較高時&#xff0c;傳統的new操作符可能不是最佳選擇。原型模式&#xff08;Prototype Pattern&#xff09;為我們提供了一種優雅的解決方案——通過克隆現有對象…

Rocky Linux 9 源碼包安裝php8

Rocky Linux 9 源碼包安裝php8大家好&#xff0c;我是星哥&#xff01;今天咱們不聊yum一鍵安裝的“快餐式”部署&#xff0c;來點兒硬核的——源碼編譯安裝PHP 8.3。為什么要折騰源碼&#xff1f;因為它能讓你深度定制PHP功能、啟用最新特性&#xff0c;還能避開系統默認源的版…

Django母嬰商城項目實踐(四)

4、路由規劃與設計 1、概述 介紹 路由稱為 URL(Uniform Resource Locator,統一資源定位符),也稱為 URLconf,對互聯網上得到的資源位置和訪問方式的一種簡潔表示,是互聯網上標準梓源的地址。互聯網上的每個文件都有一個唯一的路由,用于指出網站文件的路由位置,也可以理…

論文閱讀:arxiv 2025 A Survey of Large Language Model Agents for Question Answering

https://arxiv.org/pdf/2503.19213 https://www.doubao.com/chat/12038636966213122 A Survey of Large Language Model Agents for Question Answering 文章目錄速覽論文翻譯面向問答的大型語言模型代理綜述摘要一、引言速覽 這篇文檔主要是對基于大型語言模型&#xff08;…

ONNX 是什么

ONNX 是什么&#xff1f; ONNX&#xff0c;全稱 Open Neural Network Exchange&#xff0c;是微軟和 Facebook&#xff08;現在的 Meta&#xff09;聯合發起的一個開放的神經網絡模型交換格式。簡單理解&#xff1a;ONNX 是一個通用的「AI 模型存檔格式」。用 PyTorch、TensorF…

【Python3】掌握DRF核心裝飾器:提升API開發效率

在 Django REST Framework (DRF) 中&#xff0c;裝飾器&#xff08;Decorators&#xff09;通常用于視圖函數或類視圖&#xff0c;以控制訪問權限、請求方法、認證等行為。以下是 DRF 中常用的裝飾器及其功能說明&#xff1a; 1. api_view 用途: 用于基于函數的視圖&#xff0c…

Datawhale AI 夏令營第一期(機器學習方向)Task2 筆記:用戶新增預測挑戰賽 —— 從業務理解到技術實現

Datawhale AI夏令營第一期&#xff08;機器學習方向&#xff09;Task2筆記&#xff1a;用戶新增預測挑戰賽——從業務理解到技術實現 一、任務核心&#xff1a;業務與技術的“翻譯” 本次Task聚焦“用戶新增預測挑戰賽”的核心邏輯&#xff0c;核心目標是鍛煉“將業務問題轉化為…

【人工智能】華為昇騰NPU-MindIE鏡像制作

本文通過不使用官方鏡像,自己在910b 進行華為mindie的鏡像制作,可離線安裝部署。 硬件:cann 8.0 1. 部署參考文檔: 安裝依賴-安裝開發環境-MindIE安裝指南-MindIE1.0.0開發文檔-昇騰社區 2. 參數說明文檔:https://www.hiascend.com/document/detail/zh/mindie/100/min…

關于我用AI編寫了一個聊天機器人……(番外1)

極大地精簡了1.3.6版本的邏輯。 不會作為正式版發布。 未填充數據。核心結構代碼包含兩個主要部分&#xff1a;數據結構&#xff1a;使用map<string, string>存儲問答對&#xff0c;其中鍵是問題&#xff0c;值是答案主程序流程&#xff1a;初始化預定義的問答對進入無限…

全球鈉離子電池市場研究,市場占有率及市場規模

鈉離子電池是一種新興的儲能技術&#xff0c;利用鈉離子&#xff08;Na?&#xff09;代替鋰離子作為電荷載體&#xff0c;為鋰離子電池提供了一種經濟高效且可持續的替代品。它們的工作原理類似&#xff0c;在充電和放電循環過程中&#xff0c;鈉離子在陽極和陰極之間移動。關…

SwiftUI 全面介紹與使用指南

目錄一、SwiftUI 核心優勢二、基礎組件與布局2.1、基本視圖組件2.2、布局系統2.3、列表與導航三、狀態管理與數據流3.1、狀態管理基礎3.2、數據綁定與共享四、高級功能與技巧4.1、動畫效果4.2、繪圖與自定義形狀4.3、網絡請求與異步數據五、SwiftUI 最佳實踐六、SwiftUI 開發環…

ADC采集、緩存

FPGA學習筆記_李敏兒oc的博客-CSDN博客 TLV5618.v&#xff1a;實現DAC數模轉換&#xff0c;產生模擬信號&#xff0c;輸出指定電壓值 時序圖 FPGA學習筆記&#xff1a;數據采集傳輸系統設計&#xff08;二&#xff09;&#xff1a;TLV5618型DAC驅動-CSDN博客 ADC128S052.v&…

(C++)STL:stack、queue簡單使用解析

stack 棧 簡介 stack 棧——容器適配器 container adapter 與前面學的容器vector、list的底層實現不同&#xff0c;stack功能的實現是要借助其他容器的功能的&#xff0c;所以看stack的第二個模板參數是容器。 最大特點&#xff1a;LIFO&#xff1a;Last In, First Out&#xf…

在Adobe Substance 3D Painter中,已經有基礎圖層,如何新建一個圖層A,clone基礎圖層的紋理和內容到A圖層

在Adobe Substance 3D Painter中&#xff0c;已經有基礎圖層&#xff0c;如何新建一個圖層A&#xff0c;clone基礎圖層的紋理和內容到A圖層 在 Substance 3D Painter 中克隆底層紋理到新圖層的最快做法 操作步驟 添加空白 Paint Layer 在 Layer Stack 頂部點擊 → Paint La…

視頻編碼中熵編碼之基于上下文的變長編碼(Huffman霍夫曼編碼和指數哥倫布)

視頻編碼中熵編碼之基于上下文的變長編碼&#xff08;Huffman霍夫曼編碼和指數哥倫布&#xff09; 視頻編碼中熵編碼之基于上下文的變長編碼Huffman霍夫曼編碼和指數哥倫布&#xff09;視頻編碼中熵編碼之基于上下文的變長編碼&#xff08;Huffman霍夫曼編碼和指數哥倫布&#…

游戲玩法的專利博弈

首席數據官高鵬律師數字經濟團隊創作 AI輔助一、數字戰場的護城河&#xff1a;游戲玩法的專利價值覺醒在數字經濟的浪潮中&#xff0c;游戲行業正以每年超15%的增速重塑全球娛樂版圖。2024年中國游戲市場規模突破3257億元&#xff0c;用戶規模達6.74億&#xff08;數據來源&…

小架構step系列11:單元測試引入

1 概述 在還沒有寫什么代碼之前&#xff0c;就引入單元測試&#xff0c;是要強調單元測試的重要性。當一套代碼的生命周期比較長的時候&#xff0c;單元測試更加重要。生命周期長的代碼&#xff0c;不管是產品人員還是開發人員&#xff0c;可能都會換了一批又一批&#xff0c;…

Linux 文件共享之 HGFS 共享配置全解析

一、前言在使用 VMware 虛擬機搭建 Linux&#xff08;以 Ubuntu 為例&#xff09;環境時&#xff0c;常常需要實現主機與虛擬機之間的文件共享&#xff0c;HGFS&#xff08;VMware Host-Guest File System&#xff09;就是一種常用的文件共享方式。通過它&#xff0c;我們可以方…