当前位置: 首页 > web >正文

LangChain4j-第一篇 |几分钟完成deepseek 在线集成

引言:AI 集成的Hello world

在AI迅猛增长的势头下,作为Java 程序员,也想学习开发AI 的应用产品。好在Java AI 生态也在逐步的完善,我们也可以使用java 语言开发属于自己的应用产品。LangChain4j通过声明式编程模型,将AI开发效率提升5倍以上。今天我们来学习LangChain4j的 hello world。

一、环境搭建实战

1. api key 申请

在项目开始之前先申请一个apikey

deepseek api key 申请/充值地址

申请完之后记得充个一块钱

1. 基础环境要求

# 验证环境
java -version # 要求17+
mvn -v       # 3.6+ 或 gradle 7.4+

使用spring initializr 构建springBoot 工程
在这里插入图片描述

2. 项目配置(Maven示例)

在pom.xml 中引入

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

整体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 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.3.9</version><relativePath/></parent><groupId>com.cg</groupId><artifactId>langchain4j</artifactId><version>0.0.1-SNAPSHOT</version><name>langchain4j</name><description>langchain4j</description><properties><java.version>17</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><spring-boot.version>3.3.9</spring-boot.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>dev.langchain4j</groupId><artifactId>langchain4j-open-ai-spring-boot-starter</artifactId><version>1.0.0-beta3</version></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${spring-boot.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><configuration><source>17</source><target>17</target><encoding>UTF-8</encoding></configuration></plugin><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>${spring-boot.version}</version><configuration><mainClass>com.cg.langchain4j.Langchain4jApplication</mainClass><skip>true</skip></configuration><executions><execution><id>repackage</id><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></build></project>

二、Hello World: 调用deepSeek api 实现对话

1.application.properties配置如下

server.port=8080
langchain4j.open-ai.chat-model.base-url=https://api.deepseek.com
langchain4j.open-ai.chat-model.api-key= 申请的apikey
langchain4j.open-ai.chat-model.model-name=deepseek-chat
langchain4j.open-ai.chat-model.log-requests=true
langchain4j.open-ai.chat-model.log-responses=true

2.chart 接口编写

@RestController
public class ChatController {ChatLanguageModel chatLanguageModel;public ChatController(ChatLanguageModel chatLanguageModel) {this.chatLanguageModel = chatLanguageModel;}@GetMapping("/chat")public String model(@RequestParam(value = "message", defaultValue = "Hello") String message) {return chatLanguageModel.chat(message);}

接下来我们启动工程,测试下接口,看能不能实现对话功能,通过接口调用可以看到,通过接口可以正常对话。
在这里插入图片描述

http://www.xdnf.cn/news/144.html

相关文章:

  • 三大等待和三大切换
  • Leetcode 2158. 每天绘制新区域的数量【Plus题】
  • MySQL:Join连接的原理
  • 54常用控件_QLCDNumber的属性
  • 支持mingw g++14.2 的c++23 功能print的vscode tasks.json生成调试
  • 细节:如何制作高质量的VR全景图
  • 《软件设计师》复习笔记(11.6)——系统转换、系统维护、系统评价
  • 【dataframe显示不全问题】打开一个行列超多的excel转成df之后行列显示不全
  • 25MathorCup选题浅析(睡醒扫一眼题目版)
  • Spark on K8s 在 vivo 大数据平台的混部实战与优化
  • 从零开始学A2A一:A2A 协议的高级应用与优化
  • 优化WAV音频文件
  • Flink 2.0 编译
  • 微信小程序怎么分包步骤(包括怎么主包跳转到分包)
  • Java集合框架深度解析:HashMap、HashSet、TreeMap、TreeSet与哈希表原理详解
  • C++ `unique_ptr` 多线程使用
  • 【React】通过 fetch 发起请求,设置 proxy 处理跨域
  • ESP32 搭建IDF+Vscode环境(详细教程)
  • 轻量化高精度的视频语义分割
  • 网络安全-Burp Suite基础篇
  • Android 音频架构全解析:从 AudioTrack 到 AudioFlinger
  • 【TeamFlow】 1 TeamFlow 去中心化生产协同系统架构
  • python抓取HTML页面数据+可视化数据分析(投资者数量趋势)
  • NFC 碰一碰发视频源码搭建,碰一碰发视频定制化开发技术
  • JavaScript性能优化实战指南
  • 云轴科技ZStack入选中国人工智能产业发展联盟《大模型应用交付供应商名录》
  • UE5 渲染视频
  • 龙虎榜——20250418
  • 微信小程序中,将搜索组件获取的值传递给父页面(如 index 页面)可以通过 自定义事件 或 页面引用 实现
  • C++面向对象