1.使用的框架

LangChain4J 是一个基于 Java/Kotlin 的框架,旨在简化 大型语言模型(LLM)在 JVM 生态(如 Java/Kotlin 应用) 中的集成和应用开发。它移植了 Python 版 LangChain 的核心概念,并针对 Java 开发者进行了优化,使企业级应用能更方便地利用 LLM(如 OpenAI、Hugging Face 等)的能力(其中我学的是java,所以都是java的写法)  LangChain4j的网址

2.搭建项目

JDK支持的最低版本为17

作为一个例子,让我们导入OpenAI依赖(我用的是deepseek模型,其中deepseek模型和OpenAl的实现方法完全一致,所以后面在创建实例的时候,把模型名直接替换成deepseek即可)

 对于Maven  pom.xml

<dependency>
    <groupId>dev.langchain4j</groupId>
    <artifactId>langchain4j-open-ai</artifactId>
    <version>1.1.0</version>
</dependency>

如果希望使用高级AI服务API,您还需要添加 以下依赖:(这两个依赖都导入吧,后面也会用的)

<dependency>
    <groupId>dev.langchain4j</groupId>
    <artifactId>langchain4j</artifactId>
    <version>1.1.0</version>
</dependency>

还有一个依赖,也可以导入,关于日志记录的,不然可能不知道控制台怎么运行的

<dependency>
    <groupId>dev.langchain4j</groupId>
    <artifactId>langchain4j</artifactId>
    <version>1.1.0</version>
</dependency>

去deekseek获取第三方授权(密钥)DeepSeek开发平台链接

就是去充点钱,然后去创建一个密钥,建议获取完之后是配置到环境变量中的用户变量中(安全起见,我是配置到用户变量中的)

3创建一个 OpenAiChatModel(deepseek可以复用) 的实例+对话

//从坏境变量中获取密钥
String apiKey = System.getenv("DEEPSEEK_API_KEY");
OpenAiChatModel model = OpenAiChatModel.builder()
        .apiKey(apiKey)
        .modelName("deepseek-chat") //这个需要参考keepseek的文档
         //这里有两个模型,一个是deepseek-chat,一个是deepseek-reasoner
        .baseUrl("https://api.deepseek.com") //调用接口的基地址
        .logRequests(true) //日志记录的
        .logResponses(true) //日志记录的 (如果没有导入日志依赖,可以不写)
        .build();

String answer = model.chat("你是谁?");
System.out.println(answer);


模型 & 价格 | DeepSeek API Docshttps://api-docs.deepseek.com/zh-cn/quick_start/pricing

运行结果(我是有日志的,所以可以看到向deekseek发送的http请求的json)

 以上这些是坏境搭建和使用第三方调用,现在告诉你们如何使用本地的模型,注意前面的依赖导入继续放在那里就可以了

4.本地调用 

4.1搭建本地坏境

 Ollama 是一个开源工具,用于在本地计算机上运行和管理大型语言模型(LLMs),如 Llama 3、Mistral、Gemma 等。它支持 macOS、Linux 和 Windows(WSL),并提供了简单的命令行界面(CLI)来下载、运行和交互式使用 LLM(我使用的就是ollama)

下载地址Ollama下载

可以去看看deepdeek的模型了deepseek-r1模型网址(我选择的是内存最小的那个,越厉害的内存越大,电脑扛不住,婉拒了哈)

它是默认装在C盘的,也可以改(但是我没改哈哈哈,我总感觉改了之后后面会有点麻烦)  

安装完ollama之后就可以cmd了,我找的是内存最小的deepseek-r1:1.5b,之后在命令行输入ollama pull deepseek-r1:1.5b  就可以下载了,下载成功之后就可以在cmd中提问了,在cmd中试运行: ollama run deepseek-r1:1.5b "你是谁?" 

4.2导入依赖

在pom.xml中导入依赖

<dependency>
    <groupId>dev.langchain4j</groupId>
    <artifactId>langchain4j-ollama</artifactId>
    <version>1.1.0-rc1</version>
</dependency>

4.3创建实例+使用

//在ollama运行时,它会先加载整个模型到内存,然后再进行推理,所以启动时间较长
ChatModel model = OllamaChatModel.builder()
        .baseUrl("http://localhost:11434")
        .modelName("deepseek-r1:1.5b") //这个是你下载的模型的名字
        .temperature(0.0) 0-1 随机性,数值越大,随机性越高,越有创新
        .logRequests(true)
        .logResponses(true)
        .timeout(Duration.ofMinutes(8)) 设置超时时间
        .build();

String answer = model.chat("你好,请给一份周日在长沙旅游一天的行程安排。");

就这样了,第一次写博客,好累哈哈哈哈(今天老师突然说要我们给当天学的东西做一个复习。我仔细一想,好吧,写吧,之后我自己也好找哈哈哈)

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐