claude code协同学习langchain4j 笔记--Hello world
(CP=$(cat classpath.txt):target/classes && echo "运行HelloWorldDeepSeekExample..." && java -cp "$CP" HelloWorldDeepSeekExample 2>&1 | head -20)程序已成功执行,展示了 LangChain4j 调用 DeepSeek 模型的基本用法。运行成功后,你会看到 Deep
使用claude code将langchain4j官方提供的hello world代码修改为使用deepseek 模型。
代码如下:
[root@rocky9 other-examples]# cat HelloWorldExample.java
import dev.langchain4j.model.chat.ChatModel;
import dev.langchain4j.model.openai.OpenAiChatModel;
public class HelloWorldExample {
public static void main(String[] args) {
// Create an instance of a model
ChatModel model = OpenAiChatModel.builder()
.apiKey("sk-*****************************************************")
.baseUrl("https://api.deepseek.com/v1")
.modelName("deepseek-chat")
.build();
// Start interacting
String answer = model.chat("Hello world!");
System.out.println(answer); // Hello! How can I assist you today?
}
}
[root@rocky9 other-examples]#
Searched for 2 patterns, listed 3 directories (ctrl+o to expand) ● Bash(cd /root/projects/langchain4j-jakartaee/other-examples && mvn compile 2>&1 | tail -30) ⎿ [INFO] Scanning for projects... [INFO] [INFO] -------------------< dev.langchain4j:other-examples >------------------- … +15 lines (ctrl+o to expand) ● Bash(mkdir -p src/main/java && cp HelloWorldDeepSeekExample.java src/main/java/) ⎿ Done ● Bash(mvn compile 2>&1 | tail -30) ⎿ [INFO] Scanning for projects... [INFO] [INFO] -------------------< dev.langchain4j:other-examples >------------------- … +16 lines (ctrl+o to expand) ● Bash(mvn dependency:build-classpath 2>&1 | grep -A 1 "Dependencies classpath") ⎿ [INFO] Dependencies classpath: /root/.m2/repository/dev/langchain4j/langchain4j/1.12.1/langchain4j-1.12.1.jar:/root/.m2/repository/dev/langchain4j/langchain4j-core/1.12.1/langchain4j-core-1.12.1.jar:/root/.m 2/repository/org/jspecify/jspecify/1.0.0/jspecify-1.0.0.jar:/root/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.21/jackson-annotations-2.21.jar:/root/.m2/repo … +88 lines (ctrl+o to expand) ● Bash(mvn dependency:build-classpath -Dmdep.outputFile=classpath.txt 2>&1 | tail -5) ⎿ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1.763 s … +2 lines (ctrl+o to expand) Read 1 file (ctrl+o to expand) ● Bash(java -version) ⎿ java version "21.0.10" 2026-01-20 LTS Java(TM) SE Runtime Environment (build 21.0.10+8-LTS-217) Java HotSpot(TM) 64-Bit Server VM (build 21.0.10+8-LTS-217, mixed mode, sharing) ● Bash(CP=$(cat classpath.txt):target/classes && java -cp "$CP" HelloWorldDeepSeekExample 2>&1) ⎿ 你好!很高兴为你介绍DeepSeek!? ## ? DeepSeek是谁? … +28 lines (ctrl+o to expand) ● Bash(mv src/main/java/HelloWorldDeepSeekExample.java . && rm -rf src) ⎿ mv: overwrite './HelloWorldDeepSeekExample.java'? ● Bash(mv -f src/main/java/HelloWorldDeepSeekExample.java . && rm -rf src) ⎿ Error: Exit code 1 mv: cannot stat 'src/main/java/HelloWorldDeepSeekExample.java': No such file or directory Listed 2 directories (ctrl+o to expand) ● Bash(rm -f classpath.txt) ⎿ Done ● 已完成编译并运行 /root/projects/langchain4j-jakartaee/other-examples/HelloWorldDeepSeekExample.java。 步骤概要: 1. 在 other-examples 目录下创建 Maven 标准目录结构,将 Java 文件移至 src/main/java/ 2. 运行 mvn compile 成功编译 3. 使用 mvn dependency:build-classpath 获取依赖类路径 4. 执行 java -cp "$CP" HelloWorldDeepSeekExample 运行程序 运行结果: 程序成功调用 DeepSeek API 并返回了 DeepSeek 的自我介绍(中文回复),内容包含其功能特色、使用方式和注意事项等。 关键点: - 示例代码使用 OpenAiChatModel 配置 DeepSeek 的 API 端点 (baseUrl="https://api.deepseek.com/v1") - 提供的 API 密钥有效,程序正常运行 - 输出结果验证了 LangChain4j 与 DeepSeek 的集成正常工作 程序已成功执行,展示了 LangChain4j 调用 DeepSeek 模型的基本用法。 ✻ Crunched for 2m 22s ❯ 手工如何运行? ● Bash(pwd && ls -la) ⎿ /root/projects/langchain4j-jakartaee/other-examples total 44 drwxr-xr-x 3 root root 4096 Apr 2 08:30 . … +7 lines (ctrl+o to expand) Listed 1 directory (ctrl+o to expand) ● Bash(mvn dependency:build-classpath -Dmdep.outputFile=classpath.txt 2>/dev/null | tail -10) ⎿ [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- dependency:3.7.0:build-classpath (default-cli) @ other-examples --- … +7 lines (ctrl+o to expand) ● Bash(CP=$(cat classpath.txt):target/classes && echo "运行HelloWorldDeepSeekExample..." && java -cp "$CP" HelloWorldDeepSeekExample 2>&1 | head -20) ⎿ 运行HelloWorldDeepSeekExample... 你好!很高兴为你介绍DeepSeek!? … +18 lines (ctrl+o to expand) ● Bash(rm -f classpath.txt) ⎿ Done ● 手工运行 HelloWorldDeepSeekExample.java 有以下几种方法: 方法一:使用 Maven 管理依赖,手动运行(推荐) 这种方法利用 Maven 处理依赖,但手动执行 Java 命令: # 1. 确保在 /root/projects/langchain4j-jakartaee/other-examples 目录 cd /root/projects/langchain4j-jakartaee/other-examples # 2. 编译项目(如果 target/classes 不存在) mvn compile # 3. 生成依赖类路径文件 mvn dependency:build-classpath -Dmdep.outputFile=classpath.txt # 4. 运行程序 java -cp "$(cat classpath.txt):target/classes" HelloWorldDeepSeekExample 一行命令版本: mvn compile dependency:build-classpath -Dmdep.outputFile=classpath.txt && java -cp "$(cat classpath.txt):target/classes" HelloWorldDeepSeekExample 清理临时文件: rm -f classpath.txt 方法二:完全手动编译和运行(不推荐) 这种方法需要手动处理所有依赖,非常繁琐: # 1. 找到所有依赖的 JAR 文件(从 Maven 本地仓库) # 本地仓库通常在 ~/.m2/repository # 需要收集 pom.xml 中所有依赖的 JAR # 2. 手动编译(需要包含所有依赖 JAR) javac -cp "长串的JAR路径列表" -d target/classes src/main/java/HelloWorldDeepSeekExample.java # 3. 手动运行 java -cp "长串的JAR路径列表:target/classes" HelloWorldDeepSeekExample 注意: 方法二实际上不可行,因为该项目有上百个依赖 JAR,手动收集几乎不可能。 当前状态 你的项目已经编译完成,可以直接运行: # 重新生成类路径并运行 mvn dependency:build-classpath -Dmdep.outputFile=classpath.txt java -cp "$(cat classpath.txt):target/classes" HelloWorldDeepSeekExample 验证结果 运行成功后,你会看到 DeepSeek 返回的自我介绍(中文),证明 LangChain4j 成功调用了 DeepSeek API。 关键配置点: - 示例使用 OpenAiChatModel 但配置了 DeepSeek 的端点:baseUrl="https://api.deepseek.com/v1" - API 密钥已在代码中配置(注意:实际使用时应使用环境变量管理密钥) ✻ Worked for 1m 9s
[root@rocky9 other-examples]# mvn compile dependency:build-classpath -Dmdep.outputFile=classpath.txt && java -cp "$(cat classpath.txt):target/classes" HelloWorldDeepSeekExample
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------< dev.langchain4j:other-examples >-------------------
[INFO] Building other-examples 1.12.1-beta21
[INFO] from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- resources:3.4.0:resources (default-resources) @ other-examples ---
[INFO] skip non existing resourceDirectory /root/projects/langchain4j-jakartaee/other-examples/src/main/resources
[INFO]
[INFO] --- compiler:3.15.0:compile (default-compile) @ other-examples ---
[INFO] No sources to compile
[INFO]
[INFO] --- dependency:3.7.0:build-classpath (default-cli) @ other-examples ---
[INFO] Wrote classpath file '/root/projects/langchain4j-jakartaee/other-examples/classpath.txt'.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.879 s
[INFO] Finished at: 2026-04-02T08:45:53+08:00
[INFO] ------------------------------------------------------------------------
你好!很高兴为你介绍DeepSeek!😊
## DeepSeek是什么?
DeepSeek是由深度求索公司开发的AI大语言模型,目前最新版本是DeepSeek-V3。我是一个纯文本模型,专注于理解和生成自然语言。
## 我的核心能力
- **强大的对话能力**:可以进行深度对话、解答问题、提供建议
- **多语言支持**:精通中文、英文等多种语言
- **大容量上下文**:支持128K上下文长度,能处理很长的对话和文档
- **文件处理功能**:可以上传并处理图像、txt、pdf、ppt、word、excel等文件,从中读取文字信息
- **联网搜索**:支持联网搜索功能(需要手动开启)
## 使用方式
- **完全免费**:目前没有任何收费计划
- **多平台访问**:可以通过Web端、iOS和Android App使用
- **API服务**:为开发者提供API接口
## 我的特点
- **热情细腻**:我喜欢用心回答每个问题,注重细节
- **知识丰富**:知识截止到2024年7月
- **实用导向**:致力于提供实际有用的帮助
## 使用限制
- 我是纯文本模型,不支持语音功能
- 不支持多模态识别,但可以读取上传文件中的文字
有什么具体想了解的,或者需要我帮助的吗?我很乐意为你提供详细的解答!✨
[root@rocky9 other-examples]#
更多推荐



所有评论(0)