自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

代码让AI扣

不想做码农

  • 博客(284)
  • 资源 (3)
  • 收藏
  • 关注

原创 Langchain4j 系列之三十六 - Agent之Workflows源码分析

再看看。

2026-01-27 10:00:00 17

原创 Langchain4j 系列之三十五 - Agent之Workflows

本章给大家演示了Langchain4j中如何实现各种常见的workflow,那么下一章,给大家从底层源码分析这些场景的workflow是如何实现的。Langchain4j 系列上一章:《

2026-01-27 09:59:45 138

原创 Langchain4j 系列之三十四 - Agents入门

1)首先,来看看如何定义Agent。从示例中可以知道通过的agentBuilder()方法构建一个Agent。点进入可以看看其通过来创建,再看看说明:从上图可以看到会通过解析用户代理的接口的方法,把agent的名称、id、描述和outputKey信息获取到,以便后面创建代理。2)再看看看的build()方法。说明:从上图可以看到,通过Proxy代理的方式,构建一个Agent。因此从上面图可以知道,Langchain4j 中的Agent就是通过Proxy代理方式创建了用户定义接口的代理类。

2026-01-26 09:47:26 532

原创 Langchain4j 系列之三十三 - Classification(分类器)

本章简单演示了Langchain4j中如何实现一个分类器,分类器在实际生产应用中很常见,也在文章的最后分析了其中底层代码原理。Langchain4j 系列上一章:《

2026-01-26 09:46:54 367

原创 Langchain4j 系列之三十二 - Observability之集成Arize-Phoenix

本章给大家演示了Langchain4j中如何集成Arize-Phoenix,这个在生产级别的实际使用是非常重要的。但是其中关于opentelemetry、openinference、Arize-Phoenix并没有细讲,这是由于这方面内容也比较多,要了解这个的朋友可以上网搜一下。后面如果有时间,可以独立开一个系列来讲一下这个。Langchain4j 系列上一章:《

2026-01-22 15:46:10 846

原创 Langchain4j 系列之三十一 - Observability之入门

本章讲解了Langchain4j中Observability的功能,并通过代码演示了。可观测性在生产级别是比较重要的内容,下一章将再进一步讲解如何结合可视化平台展现数据。Langchain4j 系列上一章:《

2026-01-22 15:45:45 576

原创 Langchain4j 系列之三十 - Guardrails之二

本章讲解了Guardrails的另外一部分Output Guardrails,同时通过源码分析Guardrails的实现原理,相信通过这两章的学习,对Langchain4j中的Guardrails应该是掌握了。Guardrails其实在生产级别的应用是比较广泛的,在一些场景比如大模型直接回答“这个问题我无法回答”等这样的答复,很可能底层就是通过类似Guardrails方式实现的。Langchain4j 系列上一章:《

2026-01-21 14:01:22 619

原创 Langchain4j 系列之二十九 - Guardrails之一

本章讲解了Guardrails,在实际生产中,Guardrails的作用非常大。因为相对于训练大模型不能把控来说,使用实际编码的Guardrails更容易控制大模型的输入和输出结果。下一节继续讲解OutputGuardrails和Guardrails的源码解析Langchain4j 系列上一章:《

2026-01-21 14:00:49 695

原创 Langchain4j 系列之二十八 - Hugging Face 集成

本章演示了大模型社区Hugging Face 上面如何部署大模型,并通过Langchain4j调用部署的大模型,其实现在国内很多云厂商都提供响应的云上部署功能,并且使用Langchain4j 直接就可以访问了,Hugging Face只是一个例子而已。Langchain4j 系列上一章:《

2026-01-20 13:54:52 743

原创 Langchain4j 系列之二十七 - Ollama集成Deepseek

本章示了Ollama的部署和运行,然后又演示了如何在Langchain4j调用Ollama大模型。为什么Ollama如此重要,这是因为Ollama通过统一规范,让不同厂商的大模型统一化,这个对后续应用非常友好,因此现在很多人都喜欢使用该方式部署大模型。因此Langchain4j才会特意兼容Ollama部署好的大模型。Langchain4j 系列上一章:《

2026-01-20 13:54:36 778

原创 Langchain4j 系列之二十六 - ONNX部署本地模型

该抽象类里面有一些重载的构造方法,这些方法可以通过Path、String等不同方式加载模型2)再看看。

2026-01-19 10:25:41 699

原创 Langchain4j 系列之二十五 - Moderation Models & Audio Models

本章先说明了Moderation是什么,然后演示了Langchain4j的Moderation Models。最后讲了Langchain4j 的实验性接口AudioTranscriptionModel,是用于实现语音的。关于不同类型的大模型也就讲解到这里。Langchain4j 系列上一章:《

2026-01-19 10:25:24 665

原创 Langchain4j 系列之二十四 - Scoring (Reranking) Models

本章通过演示 Scoring (Reranking) Models,展现Langchain4j 的评分(重排序)模型。这种模型在实际应用中非常广泛,除了现在在RAG中用于确认检索结果的相关性之外,比如检索系统的排序、构建图数据库等,都可以使用这种模型来相关性判断。Langchain4j 系列上一章:《

2026-01-15 09:27:01 663

原创 Langchain4j 系列之二十三 - Image Models

本章通过演示Langchain4j的ImageModel,但我个人觉得这一块Langchain4j做得比较简单。目前的图像大模型已经比较成熟了,除了图片生成,类似图片问答、图片生文等等其它的功能也比较广泛应用,但是目前Langchain4j 还不支持,只能去使用厂商的原生API。Langchain4j 系列上一章:《

2026-01-15 09:26:44 688

原创 Langchain4j 系列之二十二 - Embedding Models

首先在人类社会中使用的文字、图片、音频、视频等数据,如何让大模型识别。计算机只会识别0和1,那么这时候要让计算机识别文字,就需要把所有文字进行编码,以中文为例比如00001代表男,00002代表女,这样每个字都有一个编码。虽然编码可以让计算机识别,但是还是有缺点的。最大的缺点就是文字之间是有一定的关联关系,也就是说每个字独立编码,那么机器是不理解文字之间的关系,为了解决这个问题,分词就出现了。为了解决文字之间的关系。这时候就有人想到使用Tokenizer 分词器。

2026-01-14 09:02:39 956

原创 Langchain4j 系列之二十一 - Language Models

本章讲解了LanguageModel和ChatModel的区别,并演示了Langchain4j中LanguageModel的使用。虽然现在LanguageModel除了一些特殊场景下文本生成之外,比较少见,在Langchain4j中也是建议使用ChatModel可以替代LanguageModel,但是作为AI应用开发,还是要了解一下一些大模型训练的基本原理,对于选择模型也是一个知识输入。Langchain4j 系列上一章:《

2026-01-14 09:02:15 700

原创 Langchain4j 系列之二十 - RAG综合案例

本章通过一个比较完整的案例,演示了Langchain4j的RAG模块。关于RAG模块功能就先讲到这里,其中还涉及到一些embedding模型,scoringModel等,这些在后面都会单独用一章来讲。Langchain4j 系列上一章:《

2026-01-13 09:00:02 738

原创 Langchain4j 系列之十九 - RAG之Retrieval

本章讲述了Langchain4j的RAG模块中,关于Retrieval的所有功能,并通过几个示例演示如何使用这些内容。可见Langchain4j已经很好给封装了RAG模块的流程,并提供诸多可扩展的接口供自定义流程。下一章将通过一个综合示例,对RAG进行一次总结演示Langchain4j 系列上一章:《

2026-01-13 08:59:40 781

原创 Langchain4j 系列之十八 - RAG之Indexing

本章讲述了Langchain4j的RAG模块中关于indexing的所有功能,并通过几个示例演示如何使用这些内容。从本章中可以看到Langchain4j很好得给用户封装了RAG模块的流程,并提供诸多可扩展的接口供自定义流程。下一章继续讲解RAG模块的第二部分Retrieval。Langchain4j 系列上一章:《

2026-01-12 08:11:18 1079

原创 Langchain4j 系列之十七 - RAG入门

本章讲述了RAG是什么,并通过一个简单示例演示Langchain4j 如何实现RAG。可以看到Langchain4j 为用户封装了很多底层逻辑和抽象,使得用户使用RAG非常方便。文章中也对Langchain4j 中实现RAG的原理进行分析。下一章将更为深入的研究Langchain4j 的RAG使用。Langchain4j 系列上一章:《

2026-01-12 08:10:56 698

原创 Langchain4j 系列之十六 - MCP其它功能

本章讲述了MCP的其它功能,至此关于MCP的讲解就到此结束。下一章开始讲讲述RAG的用法Langchain4j 系列上一章:《

2026-01-08 09:34:38 1079

原创 Langchain4j 系列之十五 - MCP源码解析

本章从底层源代码解析了Langchain4j 中是如何实现调用MCP服务,并分析了Stdio和Streamable HTTP不同协议的实现方式。相信通过这一章就基本上能够明白Langchain4j 调用MCP服务的基本原理。Langchain4j 除了实现标准协议的MCP Tools访问之外,还提供了Websocket协议、Resources、Prompt等其它功能,这些下一章再细讲。Langchain4j 系列上一章:《

2026-01-08 09:34:19 1349

原创 Langchain4j 系列之十四 - MCP入门

先来看看官方文档的定义:翻译过来就是:MCP 是一种开放协议,它规范了应用程序如何为大型语言模型提供上下文。可以把 MCP 想象成 AI 应用程序的 USB-C 接口。就像 USB-C 为您的设备连接各种外设和配件提供了标准化方式一样,MCP 也为 AI 模型连接不同的数据源和工具提供了标准化方式。上下文标准化不同的数据源和工具。1)工具对外提供服务统一化:解决不断增长的各式各样的工具,大模型可以直接接入,无需适配各种工具。

2026-01-07 09:16:00 1189

原创 Langchain4j 系列之十三 - 工具调用(高级用法之二)

本章讲述了工具调用的高级用法,包括获得执行结果、动态调用、直接返回、错误处理。花了两章的时间讲了工具的高级用法,这些是因为在真正的生产环境都会用到。

2026-01-07 09:15:40 777

原创 Langchain4j 系列之十二 - 工具调用(高级用法之一)

本章讲述了使用AI Services的方式下工具调用的一些高级用法,包括参数传递、聊天记忆、并发执行,下一章将继续讲解工具调用其它高级用法Langchain4j 系列上一章:《

2026-01-06 09:13:03 1093

原创 Langchain4j 系列之十一 - 工具调用(AI Services)

1)首先看看tools()方法,在AiServices中有几个重载的tools()方法,其最底层都是调用来解析工具2)那继续进入类,看看是如何创建工具的。从下图可以看出,无论传入Map或者Object,都会最终被解析放入变量和,其中就是工具描述(这是给大模型的提示词用的),而则是工具执行器(这是根据大模型返回的结果调用工具)。(这一点在之前ChatModel手搓调用工具的示例中也可以看出一个大概)

2026-01-06 09:12:44 1009

原创 Langchain4j 系列之十 - 工具调用(ChatModel)

在Langchain4j 中,工具的定义有两种方式,一种是基于ToolSpecification,一种是基于@Tool注解。以下是关于ToolSpecification的示例代码.name("getWeather") // 工具的名称,必须是唯一.description("Returns the weather forecast for a given city") // 工具的描述,这个辅助大模型知道工具的功能。

2026-01-05 09:06:55 771

原创 Langchain4j 系列之九 - 自定义聊天记忆

上一个系列讲了Spring AI得到反馈效果不错,有人私信我说这个和Langchain4j有什么区别。如果站在使用方面,都是基于Java的大模型应用研发的工具,本质上没太大区别。但是从细节层面来说还是有很多不同之处,所以索性借此机会,给大家分享一下Langchain4j框架。在本系列中会按照Spring AI系列的顺序来写Langchain4j,这样的好处是可以对比两者不同的细节。上一章讲了Langchain4j 的聊天记忆ChatMeory功能,同时分析了其底层原理。这一章通过自定义保留策略和自定义存储的

2026-01-05 09:06:35 682

原创 Langchain4j 系列之八 - 聊天记忆

聊天记忆就是将用户之前与大模型的对话过程,在问下一个问题的时候,也将这部分对话过程的记录扔给大语言模型,这样大语言模型就能知道之前谈论什么,不会导致没有上下文的情况下,大模型答非所问。聊天记录保留策略:由于大模型每次输入的token长度有限,因此用户不可能将之前所有的聊天记录都扔给大模型,因此用户必须有一个保留策略,可以是最近几条、也可以是提炼后的结果等等。Langchain4j 目前提供默认两种,一种是保留最近几条,一种是以token数量限制筛选最近几条。会话隔离。

2026-01-04 08:53:32 1018

原创 Langchain4j 系列之七 - 结构化输出

本章讲述了如何让大模型结构化输出,可以看到AiServices提供了很方便的封装,不过由于不同大模型支持程度,目前这个标准化程度可能没有那么高。Langchain4j 系列上一章:《

2026-01-04 08:53:15 1270

原创 Langchain4j 系列之六 - 提示词

本章讲述了提示词以及提示词模版的使用,分别展现ChatModel和AiServices两种使用方式。这里还是看不出ChatModel和AiServices之间的不同。不过越后面就会知道Langchain4j 为用户基于AiServices提供很多内置方便应用功能。下一章继续Langchain4j 系列上一章:《

2025-12-31 13:44:19 868

原创 Langchain4j 系列之五 - 大模型参数和常用配置

本章讲述了如何设置调用大语言模型的参数和Langchain4j 为了开发过程中的常用配置。这些功能在AiServices中也一样有的,这里就不在多演示。下一章开始就进入大语言模型的常见应用功能,包括提示词、聊天记忆、工具、MCP等等。Langchain4j 系列上一章:《

2025-12-31 13:43:57 875

原创 Langchain4j 系列之四 - AI Services(流式模式)

本章讲述了AI Services的流式模式下的使用以及其底层原理。在这里就可以看到AI Services为了用户使用起来更方便,其封装了很多底层内容,让用户使用更少的编码,实现复杂功能。Langchain4j 系列上一章:《

2025-12-30 13:35:34 769

原创 Langchain4j 系列之三 - AI Services(同步模式)

5)点开上面381行,可以看到进入抽象类。

2025-12-30 13:34:48 1097

原创 Langchain4j 系列之二 - ChatModel和StreamingChatModel源码解析

本章详细讲述了Langchain4j的在ChatModel和StreamingChatModel下的底层代码原理,这部分其实对后面了解其它底层代码原理都有很好的帮助,希望可以细读,下一章将讲解Langchain4j的高层次API:AiServices。Langchain4j 系列上一章:《

2025-12-29 10:35:09 711

原创 Langchain4j 系列之一 - 开篇

本章讲述了Langchain4j的来源以及功能特性,并使用一个入门示例作为引子,让大家看看编写一个聊天对话是多么简单。接下来将进入Langchain4j的更高级使用。Langchain4j 系列下一章:《

2025-12-29 10:33:49 891

原创 Spring AI 系列之四十 - Spring AI Alibaba-集成百炼智能体

本章演示了如何使用Spring AI Alibaba集成百炼平台的智能体,这样对于实际应用开发来说是非常迅速的,这就是Spring AI Alibaba框架的优势之一。好了,本次对于Spring AI Alibaba的内容已经讲完了,虽然还有些内容没有讲到,但是相信你看文档也能够很快掌握。关于Spring AI的章节也就完整讲完了,本次系列就到此结束。Spring AI系列上一章:《

2025-08-08 15:51:35 1577

原创 Spring AI 系列之三十九 - Spring AI Alibaba-集成百炼知识库

本章演示了如何使用Spring AI Alibaba集成百炼平台的知识库,这样对于实际应用开发来说是非常迅速的,这就是Spring AI Alibaba框架的优势之一。下一章将讲如何集成百炼平台的线上智能体。Spring AI系列上一章:《

2025-08-08 15:49:47 1652 2

原创 Spring AI 系列之三十八 - Spring AI Alibaba-Tool Calling

本章讲解了Spring AI Alibaba的Tool Calling的生态,可以看出在Spring AI的基础上,Spring AI Alibaba扩展了很多插件,这样也是丰富了Spring AI的生态,对于java用户来说是一个很好的福音。Spring AI系列上一章:《

2025-08-07 08:33:36 1355

原创 Spring AI 系列之三十七 - Spring AI Alibaba-DocumentReader

本章讲解了Spring AI Alibaba的DocumentReader生态,可以看出在Spring AI的基础上,Spring AI Alibaba扩展了很多插件,这样也是丰富了Spring AI的生态,对于java用户来说是一个很好的福音。Spring AI系列上一章:《

2025-08-07 08:30:08 1369

flink-1.20.0下载

flink-1.20.0下载

2025-02-25

docker Windows安装软件

docker Windows安装软件

2025-02-21

VMware-workstation-full-15.5.6安装包

vmware:VMware-workstation-full-15.5.6安装包

2025-02-21

Mysql的可视化客户端工具

Mysql的可视化客户端工具

2024-11-28

ZooInspector.zip

ZooInspector是一款可以连接zookeeper的可视化客户端

2024-11-07

robo3t-1.4.4 Windows版本

robo3t是一款mongo的客户端可视化工具,1.4.4版本可以连接低版本的mongodb

2024-11-07

mongo-shake-v2.6.5 Linux版本

mongo-shake是一款同步mongo的bingo日志,可以作为从库或者读取实时更新的工具

2024-11-07

influxdb2-2.7.10-windows

influxdb2-2.7.10-windows,是一个Windows版本可以运行的的influxdb。

2024-11-07

influxStuido-0.2.0.0-Release

influxStuido一款可视化查询influxDB的客户端工具

2024-11-07

2023年AIGC发展研究报告1.0版-清华大学

2023年AIGC发展研究报告,清华大学

2023-08-01

netty-4.1.16.Final 源码 allinone

netty-4.1.16最终版本,包括jar、源码、doc等,其中jar有allinone和分开的功能jar。

2017-10-10

JACOB_1.9(java导成word工具jar包)

JACOB 1.9版本 用于java导成word文档的工具jar包

2012-11-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除