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

langchain4j快速入门

目录

一、langchain4j快速入门

1、创建一个普通的mavn工程

2、引入依赖

3、构建聊天对象OpenAiChatModel

4、调用大模型交互

5、查看日志信息


一、langchain4j快速入门

        经过前面两篇文章我们讲解完了大模型的基本使用,接下来我们学习LangChain4j,之前我们调用大模型都是借助于Apifox发送http请求完成的,但是在实际开发中我们肯定不能这么调用,我们需要写代码调用大模型,这样才能真正的做到讲大模型和我们传统的软件深度融合。

        LangChain4j的官网是:官网链接。里面提供了langchain4j的详细使用教程,大家有兴趣的可以自己去看一看,咱本篇文章就不带着大家看了,直接教大家怎么操作。

1、创建一个普通的mavn工程

2、引入依赖

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

3、构建聊天对象OpenAiChatModel

        构建OpenAiChatModel对象的时候,需要指定大模型的url地址,百炼平台的API-KEY,以及调用的模型名称。这里的API-KEY给大家说明一下,API-KEY可以直接写死到代码中,也可以配置到操作系统的环境变量中,然后通过代码获取再使用。这里推荐大家把API-KEY配置到系统的环境变量中再使用,因为如果直接写死在代码里面,会存在API-KEY泄露的风险。所以在写代码前,请先在系统的用户变量中创建一个名字叫API-KEY的环境变量,值就是你在百炼平台申请的api-key。最后一定记得重启IDEA!

        下面是构建OpenAiChatModel对象的代码:

OpenAiChatModel model = OpenAiChatModel.builder().baseUrl("https://dashscope.aliyuncs.com/compatible-mode/v1")//url参考百炼平台API文档.apiKey(System.getenv("API-KEY"))//获取环境变量API-KEY使用.modelName("qwen-plus")//设置模型名称.build();

4、调用大模型交互

public class App {public static void main(String[] args) {//2.构建OpenAiChatModel对象OpenAiChatModel model = OpenAiChatModel.builder().baseUrl("https://dashscope.aliyuncs.com/compatible-mode/v1").apiKey(System.getenv("API-KEY")).modelName("qwen-plus").build();//3.调用chat方法,交互String result = model.chat("东哥帅不帅?");System.out.println(result);}
}

5、查看日志信息

        为了查看与大模型交互过程中具体发送的请求消息和大模型响应的数据,可以打开日志开关,我们只需要在构建OpenAiChatModel对象的时候调用logRequests和logResponses方法设置一下即可。

public class App {public static void main(String[] args) {//2.构建OpenAiChatModel对象OpenAiChatModel model = OpenAiChatModel.builder().baseUrl("https://dashscope.aliyuncs.com/compatible-mode/v1").apiKey(System.getenv("API-KEY")).modelName("qwen-plus").logRequests(true)//设置打印请求日志.logResponses(true)//设置打印响应日志.build();//3.调用chat方法,交互String result = model.chat("东哥帅不帅?");System.out.println(result);}
}


文章转载自:

http://DgzUz9pr.ckLgf.cn
http://jGBVK1g6.ckLgf.cn
http://oof7DNtC.ckLgf.cn
http://qZp8CgtM.ckLgf.cn
http://uTTLFo7W.ckLgf.cn
http://NPHugCUH.ckLgf.cn
http://JqzXt9nC.ckLgf.cn
http://ndOuuxIr.ckLgf.cn
http://6RUyH2KN.ckLgf.cn
http://l6hVDRVV.ckLgf.cn
http://whH2523u.ckLgf.cn
http://NkLsPKAp.ckLgf.cn
http://sma4JGut.ckLgf.cn
http://1qUJonam.ckLgf.cn
http://hW72eWiH.ckLgf.cn
http://HmHwSTHE.ckLgf.cn
http://fVewt8If.ckLgf.cn
http://4qy9weYN.ckLgf.cn
http://Th7wdugJ.ckLgf.cn
http://U0xd9IWA.ckLgf.cn
http://OS3ZAqEJ.ckLgf.cn
http://vaWHDeBK.ckLgf.cn
http://EX0qArOn.ckLgf.cn
http://CLF1EZNu.ckLgf.cn
http://ycFbchVD.ckLgf.cn
http://wNKCk87p.ckLgf.cn
http://szfLHtKf.ckLgf.cn
http://LQQmr33z.ckLgf.cn
http://6arVLW0C.ckLgf.cn
http://gzFM5KNy.ckLgf.cn
http://www.dtcms.com/a/381231.html

相关文章:

  • Java连接池详解:从Oracle到TiDB的随缘之旅
  • 【数字展厅】从实体到虚拟:论展厅的数字化转型之路
  • 企智汇建筑施工项目管理系统:全周期数字化管控,赋能工程企业降本增效!​建筑工程项目管理软件!建筑工程项目管理系统!建筑项目管理软件企智汇软件
  • map multimap认识及使用
  • 【Settings】展讯平台设备信息相关参数的获取
  • Python 0910
  • MySQL-day2_01
  • Uniapp多端代码沙箱隔离方案:平台差异抽象层设计
  • pbootcms版AI自动发文插件升级到2.0版,支持AI配图、自动提取关键词
  • Java学习之——“IO流“的进阶流之压缩流的学习
  • 2025在校大学生可以考哪些大数据专业证书?
  • cte功能oracle与pg执行模式对比
  • 铁路轨道扣件破损视觉检测方案
  • 解释一下C++中内存屏障和它的作用——多线程编程
  • 文献速递 | 徐国良/邵振/陈辉合作揭示DNA甲基化抑制性别决定区的减数分裂重组
  • 如何让 RAG 的检索精准度提升 80%?
  • 镀锌板数控矫平机科普
  • 日志的查看与管理
  • Redis + MySQL 的缓存一致性
  • 2025最新中文字体下载免费网站整理,商用无版权风险!
  • Flutter 数据存储的四种核心方式 · 从 SharedPreferences 到 SQLite:Flutter 数据持久化终极整理
  • 容器问答题下
  • 题目:盛水最多的容器(medium)
  • win7 R 4.4.0和RStudio1.25的版本兼容性以及系统区域设置有关 导致Plots绘图面板被禁用,但是单独页面显示
  • 中级统计师-统计法规-第六章 统计行政许可制度
  • Coze源码分析-资源库-创建知识库-前端源码-核心逻辑与接口
  • MySQL数据库-03(字段的约束)
  • Secure Boot 的Linux系统中添加模块
  • 内存泄漏的危害(Memory Leak)
  • Linux进程概念(中):进程优先级和环境变量