欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

springboot 整合 langchain4j 實現(xiàn)簡單的問答功能

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

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

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)建方式一樣,這里不再詳細(xì)介紹。

3.2 依賴引入

這里只提供了部分依賴示例,使用的版本是1.0.0-beta2,完整依賴可以參考langchain4j官方文檔,本文最后給出了完整pom.xml供大家參考。實際上三方依賴會經(jīng)常更新,隨著版本變化需要引入的依賴總是會有些區(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相關(guān)的依賴 -->
    <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 配置文件內(nèi)容如下:

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 啟動類

先準(zhǔn)備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調(diào)用接口進行簡單測試:

參考

完整的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>

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

相關(guān)文章

最新評論