LangChain4J-(1)-Hello World

一、LangChain4J是什么?

LangChain4J 是一个专为 Java 生态系统设计的开源框架,用于简化与大语言模型(LLM,如 OpenAI 的 GPT 系列、Google 的 Gemini、Anthropic 的 Claude 等)的集成和交互。它借鉴了 Python 生态中 LangChain 的核心思想,但专为 Java 开发者优化,提供了更符合 Java 编程习惯的 API 和功能。

1.1 核心定位与价值

LangChain4J 的核心目标是降低开发基于大语言模型的应用的门槛,帮助开发者快速实现以下功能:
  • 与各类大语言模型(LLM)进行交互(发送提示词、处理响应);
  • 管理对话记忆(保存上下文,实现多轮对话);
  • 集成外部工具(如数据库查询、API 调用、计算器等,让 LLM 具备实际操作能力);
  • 处理提示词模板(动态生成结构化提示);
  • 构建复杂的 AI 工作流(如链(Chain)、代理(Agent)等)。

1.2 主要特性

  1. 多模型支持
内置对主流大语言模型的支持,包括 OpenAI、Gemini、Anthropic、LLaMA、通义千问等,开发者无需关注不同模型的 API 差异,通过统一接口调用。
  1. 对话记忆管理
提供多种记忆组件(如基于窗口的记忆、持久化记忆),自动保存对话上下文,让 LLM 能够 “记住” 历史对话内容,支持多轮交互。
  1. 工具调用能力
允许 LLM 根据需求需求自动调用外部工具(如查询数据库、调用 REST API、执行代码等),扩展 LLM 的实际应用能力(例如让 AI 查天气、查股票、操作数据)。
  1. 提示词工程支持
提供提示词模板、格式化工具,帮助开发者构建结构化提示,提升 LLM 响应质量。
  1. 轻量灵活
可与 Java 原生项目集成,也可通过 Spring Boot Starter 与 Spring 生态无缝结合,支持从小型工具到大型应用的各种场景。
  1. 扩展性
支持自定义组件(如自定义记忆存储、工具适配器),满足个性化需求。

1.3 典型使用场景

  • 构建聊天机器人(带上下文记忆的多轮对话);
  • 开发 AI 驱动的问答系统(结合知识库);
  • 实现智能助手(自动调用工具完成任务,如生成报告、数据分析);
  • 集成 LLM 到现有 Java 应用(如在企业系统中添加 AI 客服、自动文档处理功能)。

1.4 与 Python LangChain 的关系

LangChain4J 受 Python 版 LangChain 启发,目标类似,但专为 Java 生态设计,API 风格更符合 Java 开发者习惯,且与 Spring Boot 等主流 Java 框架有更好的集成性。两者均致力于解决 LLM 应用开发中的共性问题(如记忆、工具调用、流程编排),但分属不同编程语言生态。

1.5 总结

LangChain4J 是 Java 开发者集成大语言模型的得力工具,它抽象了与 LLM 交互的复杂性,提供了标准化的组件和流程,让开发者可以更专注于业务逻辑,而非底层交互细节。无论是简单的提示词调用,还是复杂的 AI 代理系统,都能通过 LangChain4J 快速实现。

二、Hello World

2.1 获取阿里百炼API KEY

1、获取APIKEY

2、把APIKEY配置到环境变量中

3、模型名与BASE_URL

点红色箭头进去看模型名,点绿色箭头进去看BASE_URL

2.2 建项目

新建maven聚合工程,父工程pom如下:
<?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>com.bbchat.demo</groupId>
    <artifactId>langchain4j-demo</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>pom</packaging>
    <name>langchain4j-demo父工程pom配置</name>

    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <!-- Spring Boot -->
        <spring-boot.version>3.5.0</spring-boot.version>
        <!-- Spring AI -->
        <spring-ai.version>1.0.0</spring-ai.version>
        <!-- Spring AI Alibaba -->
        <spring-ai-alibaba.version>1.0.0-M6.1</spring-ai-alibaba.version>
        <!-- langchain4j -->
        <langchain4j.version>1.0.1</langchain4j.version>
        <!--langchain4j-community 引入阿里云百炼平台依赖管理清单-->
        <langchain4j-community.version>1.0.1-beta6</langchain4j-community.version>
        <!-- maven plugin -->
        <maven-deploy-plugin.version>3.1.1</maven-deploy-plugin.version>
        <flatten-maven-plugin.version>1.3.0</flatten-maven-plugin.version>
        <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <!-- Spring Boot -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!-- Spring AI -->
            <dependency>
                <groupId>org.springframework.ai</groupId>
                <artifactId>spring-ai-bom</artifactId>
                <version>${spring-ai.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!-- Spring AI Alibaba -->
            <dependency>
                <groupId>com.alibaba.cloud.ai</groupId>
                <artifactId>spring-ai-alibaba-starter</artifactId>
                <version>${spring-ai-alibaba.version}</version>
            </dependency>
            <!--langchain4j的依赖清单,加载BOM后所有langchain4j版本号可以被统一管理起来
            https://docs.langchain4j.dev/get-started
            -->
            <dependency>
                <groupId>dev.langchain4j</groupId>
                <artifactId>langchain4j-bom</artifactId>
                <version>${langchain4j.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!--引入阿里云百炼平台依赖管理清单
           https://docs.langchain4j.dev/integrations/language-models/dashscope
           -->
            <dependency>
                <groupId>dev.langchain4j</groupId>
                <artifactId>langchain4j-community-bom</artifactId>
                <version>${langchain4j-community.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>${spring-boot.version}</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <version>${maven-deploy-plugin.version}</version>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${maven-compiler-plugin.version}</version>
                <configuration>
                    <release>${java.version}</release>
                    <compilerArgs>
                        <compilerArg>-parameters</compilerArg>
                    </compilerArgs>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>flatten-maven-plugin</artifactId>
                <version>${flatten-maven-plugin.version}</version>
                <inherited>true</inherited>
                <executions>
                    <execution>
                        <id>flatten</id>
                        <phase>process-resources</phase>
                        <goals>
                            <goal>flatten</goal>
                        </goals>
                        <configuration>
                            <updatePomFile>true</updatePomFile>
                            <flattenMode>ossrh</flattenMode>
                            <pomElements>
                                <distributionManagement>remove</distributionManagement>
                                <dependencyManagement>remove</dependencyManagement>
                                <repositories>remove</repositories>
                                <scm>keep</scm>
                                <url>keep</url>
                                <organization>resolve</organization>
                            </pomElements>
                        </configuration>
                    </execution>
                    <execution>
                        <id>flatten.clean</id>
                        <phase>clean</phase>
                        <goals>
                            <goal>clean</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

    <repositories>
        <repository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>spring-snapshots</id>
            <name>Spring Snapshots</name>
            <url>https://repo.spring.io/snapshot</url>
            <releases>
                <enabled>false</enabled>
            </releases>
        </repository>
        <repository>
            <id>aliyunmaven</id>
            <name>aliyun</name>
            <url>https://maven.aliyun.com/repository/public</url>
        </repository>
    </repositories>

    <pluginRepositories>
        <pluginRepository>
            <id>public</id>
            <name>aliyun nexus</name>
            <url>https://maven.aliyun.com/repository/public</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>
</project>

2.3 建Module

新建子工程,pom文件内容如下:
<?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>
    <parent>
        <groupId>com.bbchat.demo</groupId>
        <artifactId>langchain4j-demo</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>

    <artifactId>langchain4j-0101-helloword</artifactId>

    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--langchain4j-open-ai 基础-->
        <!--所有调用均基于 OpenAI 协议标准,实现一致的接口设计与规范LangChain4j 提供与许多 LLM 提供商的集成
        从最简单的开始方式是从 OpenAI 集成开始https://docs.langchain4j.dev/get-started    -->
        <dependency>
            <groupId>dev.langchain4j</groupId>
            <artifactId>langchain4j-open-ai</artifactId>
        </dependency>
        <!--langchain4j 高阶-->
        <dependency>
            <groupId>dev.langchain4j</groupId>
            <artifactId>langchain4j</artifactId>
        </dependency>
        <!--lombok-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <!--test-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

2.4 写properties

为子工程新建application.properties,内容如下:
server.port=9001 ​ 

spring.application.name=langchain4j-0101-helloword

2.5 写主启动类

package com.bbchat.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;



@SpringBootApplication
public class Main {
    public static void main(String[] args) {

        System.out.printf("Hello and welcome!");
        SpringApplication.run(Main.class,args);
    }
}

2.6 写配置类

package com.bbchat.demo.config;

import dev.langchain4j.model.chat.ChatModel;
import dev.langchain4j.model.openai.OpenAiChatModel;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class LLMConfig {
    @Bean
    public ChatModel chatModelQwen()
    {
        return OpenAiChatModel.builder()
                .apiKey(System.getenv("aliqwen-apikey"))
                .modelName("qwen-plus")
                .baseUrl("https://dashscope.aliyuncs.com/compatible-mode/v1")
                .build();
    }
}

2.7 写controller

package com.bbchat.demo.controller;

import dev.langchain4j.model.chat.ChatModel;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
@Slf4j
public class HelloLangChain4JController {
    @Resource
    private ChatModel chatModelQwen;

    // http://localhost:9001/langchain4j/hello?prompt=如何学习大模型应用开发
    @GetMapping(value = "/langchain4j/hello")
    public String hello(@RequestParam(value = "prompt", defaultValue = "你是谁") String prompt)
    {
        String result = chatModelQwen.chat(prompt);

        System.out.println("通过langchain4j调用模型返回结果:\n"+result);

        return result;
    }
}

2.8 测试

三、Sprngboot整合LangChain4J

LangChain4J官方文档: Spring Boot Integration | LangChain4j
按照官网上的说法是:
LangChain4J 作为 Java 生态中集成大语言模型(LLM)的框架,其 “原生整合” 和 “Boot 整合” 是两种主流使用方式,核心差异在于是否依赖 Spring Boot 生态,适用于不同场景。

3.1 原生整合的特点

  • 优点
:轻量(无额外框架依赖)、灵活度高(可完全控制组件生命周期)、适合嵌入非 Spring 项目(如传统 Java 桌面应用)。
  • 缺点
:配置分散在代码中、需手动管理依赖和组件(如记忆、工具调用)、缺乏自动配置和依赖注入能力。

3.2 Boot整合的特点

  • 优点
:配置集中化(通过 application.yml)、依赖注入简化组件管理、与 Spring 生态无缝集成(如结合 Spring MVC 暴露 API、Spring Security 处理权限)、自动支持高级功能(如记忆、工具调用)。
  • 缺点
:引入 Spring Boot 依赖,增加项目体积,不适合纯轻量 Java 项目。

3.3 手敲两种整合

1、POM文件

在maven聚合工程中新建一个module,我们在子工程的pom文件中把两种集成方式所需要的依赖都写上,其中红框是原生整合、绿框是boot整合。
附完整Module的POM文件
<?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>
    <parent>
        <groupId>com.bbchat.demo</groupId>
        <artifactId>langchain4j-demo</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>

    <artifactId>langchain4j-0102-boot</artifactId>

    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>


    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--langchain4j-open-ai 基础-->
        <dependency>
            <groupId>dev.langchain4j</groupId>
            <artifactId>langchain4j-open-ai</artifactId>
        </dependency>
        <!--langchain4j 高阶-->
        <dependency>
            <groupId>dev.langchain4j</groupId>
            <artifactId>langchain4j</artifactId>
        </dependency>
        <!--1 LangChain4j 整合boot底层支持-->
        <!--   https://docs.langchain4j.dev/tutorials/spring-boot-integration  -->
        <dependency>
            <groupId>dev.langchain4j</groupId>
            <artifactId>langchain4j-open-ai-spring-boot-starter</artifactId>
        </dependency>
        <!--2 LangChain4j 整合boot高阶支持-->
        <dependency>
            <groupId>dev.langchain4j</groupId>
            <artifactId>langchain4j-spring-boot-starter</artifactId>
        </dependency>
        <!--lombok-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <!--test-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>dev.langchain4j</groupId>
            <artifactId>langchain4j-core</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

2、application.properties

其中的apiqwen-apikey环境变量是本文第二章节中配置的
server.port=9002

spring.application.name=langchain4j-0102-boot

langchain4j.open-ai.chat-model.api-key=${aliqwen-apikey}
langchain4j.open-ai.chat-model.model-name=qwen-plus
langchain4j.open-ai.chat-model.base-url=https://dashscope.aliyuncs.com/compatible-mode/v1

3、写主启动类

package com.bbchat.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;


@SpringBootApplication
public class Main {
    public static void main(String[] args) {

        System.out.printf("welcome langchain4j-0102-boot!");
        SpringApplication.run(Main.class,args);

        }
    }

4、编写原生整合

新建PopularIntegrationController,代码如下:
package com.bbchat.demo.controller;

import dev.langchain4j.model.chat.ChatModel;
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 PopularIntegrationController {
    @Resource
    private ChatModel chatModel;

    // http://localhost:9002/lc4j/boot/chat
    @GetMapping(value = "/lc4j/boot/chat")
    public String chat(@RequestParam(value = "prompt", defaultValue = "你是谁") String prompt)
    {
        return chatModel.chat(prompt);
    }
}

5、编写boot整合

新建service接口类,代码如下:
package com.bbchat.demo.service;

import dev.langchain4j.service.spring.AiService;

@AiService
public interface ChatAssistant {
    String chat(String prompt);
}
新建DeclarativeAIServiceController,代码如下:
package com.bbchat.demo.controller;

import com.bbchat.demo.service.ChatAssistant;
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 DeclarativeAIServiceController {
    @Resource
    private ChatAssistant chatAssistantQwen;

    // http://localhost:9002/lc4j/boot/declarative
    @GetMapping(value = "/lc4j/boot/declarative")
    public String declarative(@RequestParam(value = "prompt", defaultValue = "你是谁") String prompt)
    {
        return chatAssistantQwen.chat(prompt);
    }
}

6、验证

作者验证时用的9003端口,大家玩的时候以代码里面的端口为准。
<think>嗯,用户问的是使用LangChain4j构建链式应用需要引入什么依赖。首先,我需要确定用户对LangChain4j的了解程度。可能他们刚开始接触这个库,所以需要详细的依赖配置说明。 接下来,我应该回忆一下LangChain4j的基本结构。通常,Java项目使用Maven或Gradle管理依赖,所以需要分别给出这两种构建工具的配置示例。核心依赖肯定是langchain4j-core,这是基础功能所必须的。 然后,用户提到“链式应用”,可能需要集成不同的模块,比如语言模型、嵌入模型、向量数据库等。所以除了核心依赖,还需要列举可选模块。例如,如果想用OpenAI的模型,就需要langchain4j-open-ai;如果使用LocalAI,则是langchain4j-local-ai。嵌入模型可能需要langchain4j-hugging-face,而向量数据库如Redis、Milvus等也有对应的依赖。 还需要考虑版本问题,应该建议使用最新稳定版,比如0.29.0,但也要提醒用户去官方查看最新版本。此外,可能需要添加依赖管理的部分,特别是Maven的BOM,确保各个模块版本一致,避免冲突。 另外,用户可能需要示例代码来理解如何使用这些依赖,所以提供一个简单的Hello World示例会很有帮助。同时,要指出不同的功能需要不同的模块,比如如果不需要Hugging Face的嵌入模型,就不必引入那个依赖。 可能还需要注意一些常见的陷阱,比如依赖冲突或者缺少必要的模块导致功能无法使用。因此,提醒用户根据具体需求选择依赖,并参考官方文档。 最后,确保回答结构清晰,分点列出核心依赖和可选依赖,并给出配置示例,这样用户能一步步跟着操作。同时,语言要简洁明了,避免技术术语过多,方便新手理解。</think>使用 LangChain4j 构建链式应用时,主要需要引入以下依赖(以 Maven 和 Gradle 为例): --- ### **一、核心依赖** #### 1. LangChain4j 基础库(必须) ```xml <!-- Maven --> <dependency> <groupId>dev.langchain4j</groupId> <artifactId>langchain4j-core</artifactId> <version>0.29.0</version> <!-- 检查最新版本 --> </dependency> ``` ```groovy // Gradle implementation 'dev.langchain4j:langchain4j-core:0.29.0' ``` --- ### **二、可选功能模块** #### 2. 大语言模型集成(按需选择) ```xml <!-- OpenAI --> <dependency> <groupId>dev.langchain4j</groupId> <artifactId>langchain4j-open-ai</artifactId> <version>0.29.0</version> </dependency> <!-- LocalAI --> <dependency> <groupId>dev.langchain4j</groupId> <artifactId>langchain4j-local-ai</artifactId> <version>0.29.0</version> </dependency> ``` #### 3. 嵌入模型(Embedding) ```xml <!-- Hugging Face 嵌入 --> <dependency> <groupId>dev.langchain4j</groupId> <artifactId>langchain4j-hugging-face</artifactId> <version>0.29.0</version> </dependency> ``` #### 4. 向量数据库(Vector Store) ```xml <!-- Redis --> <dependency> <groupId>dev.langchain4j</groupId> <artifactId>langchain4j-redis</artifactId> <version>0.29.0</version> </dependency> <!-- Milvus --> <dependency> <groupId>dev.langchain4j</groupId> <artifactId>langchain4j-milvus</artifactId> <version>0.29.0</version> </dependency> ``` --- ### **三、推荐依赖管理** 建议使用 BOM(Bill of Materials)统一管理版本: ```xml <!-- Maven BOM --> <dependencyManagement> <dependencies> <dependency> <groupId>dev.langchain4j</groupId> <artifactId>langchain4j-bom</artifactId> <version>0.29.0</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> ``` --- ### **四、简单示例** ```java // 使用 OpenAI 的简单链式调用 public class App { public static void main(String[] args) { OpenAiChatModel model = OpenAiChatModel.builder() .apiKey("YOUR_KEY") .modelName("gpt-3.5-turbo") .build(); String response = model.generate("Hello world!"); System.out.println(response); } } ``` --- ### **五、注意事项** 1. **版本更新**:建议通过 [Maven Central](https://central.sonatype.com/artifact/dev.langchain4j/langchain4j-core/0.29.0) 检查最新版本 2. **模块选择**:根据具体需求组合模块(如不需要向量数据库可跳过相关依赖) 3. **环境配置**:某些模块(如 OpenAI)需要 API Key 或本地服务支持
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值