最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot 整合 langchain4j 實現簡單的問答功能

 更新時間:2025年04月23日 10:42:13   作者:旅行的獅子  
最近在學習langchain4j,本文將介紹如何使用langchain4j快速實現一個簡單的問答功能,結合實例代碼給大家介紹的非常詳細,需要的朋友參考下吧

最近在學習langchain4j,本文將介紹如何使用langchain4j快速實現一個簡單的問答功能,幫助大家快速入門。

1. 工具

  • JDK 17
  • Maven 3.9.9
  • IntelliJ IDEA 2024.3.4 (Community Edition)

2. apikey

可以優(yōu)先選擇阿里云百煉申請一個apikey,免費額度足夠測試使用。

3. springboot項目創(chuàng)建

3.1 項目創(chuàng)建

創(chuàng)建springboot項目,與其他springboot項目創(chuàng)建方式一樣,這里不再詳細介紹。

3.2 依賴引入

這里只提供了部分依賴示例,使用的版本是1.0.0-beta2,完整依賴可以參考langchain4j官方文檔,本文最后給出了完整pom.xml供大家參考。實際上三方依賴會經常更新,隨著版本變化需要引入的依賴總是會有些區(qū)別,還是建議多查閱官方文檔。

<!-- springboot 父依賴 -->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>3.4.4</version>
</parent>
<dependencies>
    <!-- springboot web 模塊 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!-- langchain4j 集成 springboot相關的依賴 -->
    <dependency>
        <groupId>dev.langchain4j</groupId>
        <artifactId>langchain4j-open-ai-spring-boot-starter</artifactId>
    </dependency>
    <dependency>
        <groupId>dev.langchain4j</groupId>
        <artifactId>langchain4j-spring-boot-starter</artifactId>
    </dependency>
    <dependency>
        <groupId>dev.langchain4j</groupId>
        <artifactId>langchain4j-open-ai</artifactId>
    </dependency>
    <dependency>
        <groupId>dev.langchain4j</groupId>
        <artifactId>langchain4j</artifactId>
    </dependency>
</dependencies>

3.3 配置文件

application.yml 配置文件內容如下:

langchain4j:
  open-ai:
    chat-model:
      log-requests: true
      log-responses: true
      temperature: 0.5
      max-tokens: 4096
      base-url: https://dashscope.aliyuncs.com/compatible-mode/v1
      model-name: qwen-plus
      api-key: ${API_KEY} # 需要替換成自己申請的apikey
      # base-url: https://api.deepseek.com/v1
      # model-name: deepseek-reasoner
      # api-key: ${API_KEY}
logging.level.dev.langchain4j: DEBUG

4. 代碼編寫

4.1 啟動類

先準備springboot啟動類

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

4.2 controller

編寫一個接口,注入ChatLanguageModel,寫一個最簡單的接口測試。

import dev.langchain4j.model.chat.ChatLanguageModel;
import dev.langchain4j.service.AiServices;
import jakarta.annotation.Resource;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class ChatController {
    @Resource
    ChatLanguageModel chatLanguageModel;
    @GetMapping("/chat")
    public String model(@RequestParam(value = "message") String message) {
        return chatLanguageModel.chat(message);
    }
}

4.3 測試

啟動項目,用postman調用接口進行簡單測試:

參考

完整的pom.xml文件如下

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>cn.chenf24k.tools</groupId>
    <artifactId>cf-langchain</artifactId>
    <version>1.0-SNAPSHOT</version>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.4.4</version>
    </parent>
    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <langchain4j.version>1.0.0-beta2</langchain4j.version>
    </properties>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>dev.langchain4j</groupId>
                <artifactId>langchain4j-bom</artifactId>
                <version>${langchain4j.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>dev.langchain4j</groupId>
            <artifactId>langchain4j-open-ai-spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>dev.langchain4j</groupId>
            <artifactId>langchain4j-spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>dev.langchain4j</groupId>
            <artifactId>langchain4j-open-ai</artifactId>
        </dependency>
        <dependency>
            <groupId>dev.langchain4j</groupId>
            <artifactId>langchain4j</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mapdb</groupId>
            <artifactId>mapdb</artifactId>
            <version>3.0.9</version>
            <exclusions>
                <exclusion>
                    <groupId>org.jetbrains.kotlin</groupId>
                    <artifactId>kotlin-stdlib</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>
    <build>
        <finalName>app</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

到此這篇關于springboot 整合 langchain4j 實現簡單的問答功能的文章就介紹到這了,更多相關springboot langchain4j 問答內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • JavaMail實現郵件發(fā)送機制

    JavaMail實現郵件發(fā)送機制

    這篇文章主要為大家詳細介紹了JavaMail實現郵件發(fā)送機制,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • SpringCloud大文件分片斷點上傳實現原理

    SpringCloud大文件分片斷點上傳實現原理

    這篇文章主要介紹了SpringCloud大文件分片斷點上傳實現原理,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-05-05
  • Java Stream的基本概念以及創(chuàng)建方法

    Java Stream的基本概念以及創(chuàng)建方法

    這篇文章主要介紹了Java Stream的基本概念以及創(chuàng)建方法,幫助大家更好的理解和學習Java,感興趣的朋友可以了解下
    2020-08-08
  • SpringCloud的Eureka模塊詳解

    SpringCloud的Eureka模塊詳解

    這篇文章主要介紹了SpringCloud的Eureka模塊詳解,Spring Cloud 封裝了 Netflix 公司開發(fā)的 Eureka 模塊來實現服務治理,就是提供了微服務架構中各微服務實例的快速上線或下線且保持各服務能正常通信的能力的方案總稱,需要的朋友可以參考下
    2023-07-07
  • spring?boot集成WebSocket日志實時輸出到web頁面

    spring?boot集成WebSocket日志實時輸出到web頁面

    這篇文章主要為大家介紹了spring?boot集成WebSocket日志實時輸出到web頁面展示的詳細操作,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2022-03-03
  • Java中Reactor的反應器模式詳解

    Java中Reactor的反應器模式詳解

    這篇文章主要介紹了Java中Reactor的反應器模式詳解,Reactor反應器模式有點兒類似事件驅動模式,當有事件觸發(fā)時,事件源會將事件dispatch分發(fā)到handler處理器進行事件處理,反應器模式中的反應器角色類似于事件驅動模式中的dispatcher事件分發(fā)器角色,需要的朋友可以參考下
    2023-12-12
  • Java中的線程生命周期核心概念

    Java中的線程生命周期核心概念

    這篇文章主要介紹了Java中的線程生命周期核心概念,通過使用一個快速的圖解展開文章內容,需要的小伙伴可以參考一下
    2022-06-06
  • Java選擇排序思路詳解

    Java選擇排序思路詳解

    這篇文章給大家介紹Java選擇排序思路詳解,本文結合實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2025-12-12
  • 剖析Java中線程編程的概念

    剖析Java中線程編程的概念

    這篇文章主要介紹了Java中線程編程的概念,是Java入門學習中的基礎知識,需要的朋友可以參考下
    2015-09-09
  • Springboot詳解RocketMQ實現消息發(fā)送與接收流程

    Springboot詳解RocketMQ實現消息發(fā)送與接收流程

    這篇文章主要介紹了SpringBoot整合RocketMQ實現消息發(fā)送和接收功能,我們使用主流的SpringBoot框架整合RocketMQ來講解,使用方便快捷,本文分步驟給大家介紹的非常詳細,需要的朋友可以參考下
    2022-06-06

最新評論

韶山市| 西和县| 曲松县| 哈尔滨市| 隆化县| 凤阳县| 竹溪县| 雅安市| 莎车县| 巴里| 池州市| 六盘水市| 正安县| 蓬安县| 云安县| 新化县| 宿迁市| 方山县| 岑巩县| 鹿邑县| 临沂市| 凤城市| 延川县| 哈巴河县| 澎湖县| 神木县| 建阳市| 九江市| 朔州市| 仁怀市| 靖州| 都江堰市| 砀山县| 孝感市| 康乐县| 东山县| 静宁县| 宿迁市| 庐江县| 聊城市| 卫辉市|