- 博客(88)
- 资源 (38)
- 收藏
- 关注
原创 MCP、A2A、Function Calling:AI架构设计的三驾马车
在AI技术快速发展的今天,MCP、A2A和Function Calling这三种架构设计和技术标准为我们提供了不同的视角和解决方案。它们各自具有独特的优点和应用场景,同时也存在一定的局限性。通过深入理解它们之间的关系和特点,我们可以更好地选择适合的技术方案,推动AI应用的开发和落地。未来,随着技术的不断融合和创新,AI将具备更强的协作能力和更广泛的应用范围,为我们的生活和工作带来更多的便利和价值。
2025-04-17 16:05:17
528
原创 Linux本地安装N8N,一路解决各种问题
本笔记记录本地安装N8N 的过程,有遇到一些小问题,在此记录首先检查服务器的Docker版本docker - v本地运行镜像拉取和运行命令检查是否运行成功从如上效果来看, 已经安装成功,接下来直接访问即可,如果是http://localhost:5678/;默认应该出现如下效果(初始的页面忘记截图,应该根据系统初始化参与信息调研,然后申请一个免费的KEY,激活后就可以看到如下界面)要其他电脑访问,需要通过IP地址+端口访问,并且需要开启HTTPS,要么就禁用HTTPS。
2025-04-15 15:05:09
350
原创 扩展知识1: LangChain中动态生成服务实现的工作原理
动态生成服务实现的基础是接口和注解的定义。开发者首先定义一个接口,接口中的每个方法都通过注解来描述其功能和行为。接口:定义了服务的契约,即可以被调用的方法。注解:提供了方法的具体行为描述,例如用户消息模板(@UserMessage)或系统消息(@SystemMessage)。动态生成服务实现是LangChain4j框架的核心功能,它通过接口和注解定义服务契约,动态创建代理对象来实现接口方法。这种机制使得开发者无需手动实现具体逻辑,而是由框架根据注解信息动态生成实现。
2025-02-28 06:30:00
628
原创 第9章:LangChain结构化输出-示例6(设置系统消息和用户消息模版)
定义了一个接口TextUtils,用于封装文本处理功能。translate(String text, String language):将文本翻译为目标语言。summarize(String text, int n):将文本总结为n个要点。解析方法定义:每个方法都通过@UserMessage注解定义了用户消息模板,{{text}}和{{language}}会被替换为方法参数。这使得AI能够理解用户的意图,并生成相应的响应。系统消息。
2025-02-25 06:30:00
761
原创 Elasticsearch索引设计与分片策略深度优化-手记
某社交平台因未关闭动态映射,用户输入的特殊符号导致字段爆炸式增长,最终引发集群元数据内存溢出。生产环境必须设置dynamic: strict通过ingest pipeline进行字段清洗和类型校验。
2025-02-24 14:57:51
453
原创 第9章:LangChain结构化输出-示例5(基于大模型如何精确匹配POJO的字段)
定义了一个接口RecipeExtractor,用于封装从文本中提取并构造Recipe对象的功能。接口中包含一个方法,用于从文本中提取Recipe对象。解析方法定义:extractRecipeFrom(String text)方法用于从文本中提取Recipe对象。注解使用:@UserMessage注解定义了用户消息模板,{{it}}会被替换为方法参数(即要提取信息的文本)。这使得AI能够理解用户的意图,并生成相应的响应。定义了一个Recipe类,用于表示提取的POJO对象。
2025-02-24 06:30:00
1190
原创 第9章:LangChain结构化输出-示例4(基于大模型从自然语言中提取POJO)
POJO提取服务通过定义一个接口PersonExtractor来封装POJO提取功能。接口中包含一个方法,用于从文本中提取并构造Person对象。解析方法定义:extractPersonFrom(String text)方法用于从文本中提取Person对象。注解使用:@UserMessage注解定义了用户消息模板,{{it}}会被替换为方法参数(即要提取信息的文本)。这使得AI能够理解用户的意图,并生成相应的响应。定义了一个Person类,用于表示提取的POJO对象。
2025-02-23 21:10:10
767
原创 第9章:LangChain结构化输出-示例3(日期和时间提取服务)
LangChain借助大模型从自然语言中提取日期和时间,日期和时间提取服务通过定义一个接口DateTimeExtractor来封装日期和时间提取功能。extractDateFrom(String text):从文本中提取日期(LocalDate)。extractTimeFrom(String text):从文本中提取时间(LocalTime)。extractDateTimeFrom(String text):从文本中提取日期和时间(LocalDateTime)。解析方法定义。
2025-02-23 20:39:00
786
原创 第9章:LangChain结构化输出-示例1(情感分析AI服务)
LangChain结构化输出,情感分析服务通过定义一个接口SentimentAnalyzer来封装情感分析功能。:分析文本的情感倾向,并返回一个Sentiment枚举值(POSITIVE、NEUTRAL、NEGATIVE)。:判断文本是否具有正面情感,并返回一个布尔值。")情感分析服务(SentimentAnalyzer)通过定义接口、使用注解和动态生成服务实现,展示了LangChain4j框架的强大功能。这种实现方式不仅简化了开发流程,还提高了代码的可维护性和可扩展性。
2025-02-23 20:05:51
1051
原创 第9章:LangChain结构化输出-示例2(数字提取服务)
LangChain结构化输出,关键内容提取;数字提取服务通过定义一个接口NumberExtractor来封装数字提取功能。extractInt(String text):从文本中提取整数(int)。extractLong(String text):从文本中提取长整数(long)。extractBigInteger(String text):从文本中提取大整数(BigInteger)。extractFloat(String text):从文本中提取浮点数(float)。
2025-02-23 20:02:31
898
原创 第9章:LangChain让大模型结构化输出
文章详细介绍了LangChain4j中如何使用结构化输出(Structured Outputs)。文章还详细介绍了如何在低级ChatLanguageModel API和高级AI服务API中使用JSON Schema,以及如何通过@Description注解提供更详细的指令。此外,还列举了使用JSON Schema时的限制和注意事项。这种结构化输出功能使得LLM生成的输出可以更方便地被应用程序解析和使用。
2025-02-23 13:42:18
812
原创 第8章:LangChain检索增强生成RAG--2.4Advanced RAG【高级RAG】
高级 RAG(Advanced RAG)通过多个模块化组件(如查询转换器、查询路由器、内容检索器、内容聚合器和内容注入器)来增强检索功能。这种实现方式提供了高度的灵活性和定制化能力,适用于需要复杂检索逻辑的场景。通过合理配置这些组件,开发者可以构建高效、智能的问答系统。
2025-02-21 19:58:17
723
原创 第8章:LangChain检索增强生成RAG--2.3Naive RAG
Naive RAG 是一种简单但有效的 RAG 实现,适用于需要快速启用 RAG 功能的场景。通过配置 EmbeddingStoreContentRetriever 和 AiServices,可以轻松地将文档内容检索功能集成到 AI 服务中。这种方法虽然简单,但在许多场景下已经足够有效,尤其是在需要快速原型开发和概念验证时。
2025-02-21 19:22:45
386
原创 第8章:LangChain检索增强生成RAG--2.2Core RAG APIs
功能:对文档进行总结,并将总结存储在元数据中。目的提高效率:通过总结,语言模型可以更快地理解文档的核心内容。改善搜索:总结可以被包含在每个 TextSegment 中,从而提高搜索的准确性。示例由于没有一种通用的解决方案,LangChain4j 建议开发者根据自己的数据特点实现自己的 DocumentTransformer。建议自定义逻辑:根据你的数据格式和需求,实现特定的转换逻辑。灵活性:自定义转换器可以更好地适应你的应用场景。示例@Override// 自定义转换逻辑。
2025-02-21 19:15:31
566
原创 第8章:LangChain检索增强生成RAG--2.1Easy RAG实现
Easy RAG 是 LangChain4j 提供的一个简化版的检索增强生成(RAG)功能,旨在帮助开发者快速上手并使用 RAG 技术核心功能简化文档处理:Easy RAG 支持多种文档格式(如 txt、csv、pdf、md、doc、docx 等),并自动将文档内容转换为嵌入向量,存储在嵌入存储(向量数据库)中。提供了从文件系统加载文档的功能,支持单个文件或整个目录的加载。自动嵌入与存储:使用默认的嵌入模型(如 bge-small-en-v1.5)将文档片段转换为嵌入向量,并存储在内存向量数据库(
2025-02-21 13:59:56
1058
原创 第8章:LangChain检索增强生成RAG--1概述
本章主要介绍基于 LangChain4j 中的 RAG(Retrieval-Augmented Generation,检索增强生成)概念及其实现方式。RAG 是一种通过检索相关知识来增强语言模型生成能力的技术,特别适用于需要结合特定领域知识或私有数据的场景。
2025-02-21 13:25:32
539
原创 第7章:在LangChain中如何调用函数Tools (Function Calling)
这篇文章详细介绍了LangChain4j中工具(Tools)的概念和使用方法。工具允许LLM在生成文本的同时,触发外部操作(如调用API、执行代码等)。工具的基本概念:工具是LLM可以调用的外部功能,用于增强其能力(如数学计算、网络搜索等)。工具的声明和使用:通过ToolSpecification和@Tool注解,开发者可以定义工具并将其集成到LLM的交互中。工具的执行和反馈:LLM可以在响应中表达调用工具的意图,开发者需要执行工具并将结果反馈给LLM。高级抽象。
2025-02-20 21:46:33
1255
原创 第6章:基于LangChain如何开发Agents,附带客户支持智能体示例
大多数基本的“代理”功能可以通过高层次的 AI Service 和 Tool APIs 构建。ChatLanguageModel(聊天语言模型)ToolSpecification(工具规范)ChatMemory(聊天记忆)本文简要介绍了 LangChain4j 中的“代理”概念,并提供了构建代理的两种方法:使用高层次的 AI Service 和 Tool APIs,或者使用低层次的 ChatLanguageModel、ToolSpecification 和 ChatMemory API。
2025-02-20 21:14:29
950
原创 第4章:在LangChain中如何实现响应式流(Response Streaming)
对于ChatLanguageModel和LanguageModel接口,LangChain4j提供了对应的StreamingChatLanguageModel和StreamingLanguageModel接口。这些接口的API类似,但支持流式传输响应。它们接受一个实现了StreamingResponseHandler接口的对象作为参数。// 当生成下一个token时调用default void onComplete(Response<T> response) {} // 当LLM完成生成时调用。
2025-02-20 20:22:43
1220
原创 第5章:在LangChain中如何使用AI Services
这篇文章详细介绍了 LangChain4j 中的 AI Services 概念,展示了如何通过高层次的抽象来简化与大语言模型(LLM)的交互。AI Services 的核心思想是隐藏底层复杂性,让开发者专注于业务逻辑,同时支持聊天记忆、工具调用和 RAG 等高级功能。通过示例和代码片段,文章展示了如何定义和使用 AI Services,以及如何将它们组合起来构建复杂的 LLM 驱动的应用程
2025-02-20 20:07:13
1026
原创 第3章:在LangChain中如何设置模型参数
这篇文章详细介绍了如何在LangChain4j中配置和调整模型参数,以优化模型的输出和性能。模型参数的作用:如何通过调整参数来控制模型的输出(如创造力、确定性、生成内容的量)以及连接性(如API密钥、超时时间等)。参数设置方式:通过静态工厂或构建器模式创建模型,并为每个参数指定值。在Quarkus和Spring Boot中的配置。
2025-02-20 17:08:38
818
原创 第2章:如何基于LangChain4j实现聊天记忆
文章详细介绍了LangChain4j中的ChatMemory功能,包括如何管理和维护聊天消息、如何实现驱逐策略、如何进行持久化存储,以及对SystemMessage的特殊处理。ChatMemory是构建聊天应用时管理对话状态的重要工具,通过合理使用驱逐策略和持久化功能,可以优化性能、降低成本,并实现更复杂的对话逻辑。
2025-02-20 16:32:19
1375
原创 第1章:LangChain4j的聊天与语言模型
本文主要介绍了LangChain4j中与语言模型和聊天模型相关的API。强调了ChatLanguageModel的重要性,并详细解释了如何通过ChatMessage管理多轮对话、支持多模态输入,以及如何利用Kotlin扩展进行异步处理。这些功能使得LangChain4j在构建聊天应用时更加灵活和强大。这是LangChain开发智能体的系列文档,欢迎连读第1章:LangChain4j的聊天与语言模型第2章:如何基于LangChain4j实现聊天记忆第3章:在LangChain中如何设置模型参数。
2025-02-20 16:25:30
1088
原创 软件开发过程中系统架构设计文档一般可以怎么写
系统架构设计文档是一个非常重要的文档,它描述了一个软件系统的整体结构和组成部分,包括各个模块、组件和它们之间的交互关系。架构图:通过图表形式展示系统的整体架构,包括系统的主要组件、模块、层次结构和它们之间的依赖关系。安全性设计:描述系统的安全性需求,以及如何保障系统的安全性,包括用户认证、访问控制、数据加密和安全审计等。技术选型:描述在系统开发中所选用的技术、框架和工具,并阐述为什么选择这些技术,以及它们在系统中的作用。概述:简要介绍系统的目的、范围和主要功能,以及与系统交互的用户和其他系统。
2023-03-22 22:37:40
4618
原创 什么是需求建模|概述
需求建模是软件建模最为重要的工作。需求模型描述软件的外部特性,包括软件能够给用户提供的功能和性能,分析模型、设计模型和测试模型均建立在需求模型的基础上。需求模型包括用例模型和非功能模型两个方面的内容;本章主要从软件需求、需求分析、软件需求建模、需求模型等概念进行阐述,同时简要阐述软件需求建模所需要遵循的一些原则。
2022-03-14 16:44:11
13188
4
原创 研发团队绩效管理如何做?
现在研发管理过程,避免不了涉及到绩效评估,那我们如何对开发团队做绩效评估相对来说更加合理和科学,本文主要就如何建立研发团队的绩效评估系统进行讨论
2022-02-12 23:25:08
1412
原创 EA使用入门笔记
近期在学习EA(Enterprise Architect)的使用,发现EA真是一个强大的设计工具,但限于中文的学习资料太少,一遍学习一遍记录以便于后续查阅本章先记录前期使用过程中记录的零散笔记控制台窗口调取:Start–>Design如下图:2. 设置连线样式和规则在用建立图元之间关系时,Association 默认是不带箭头的,如下图如何让线条待箭头呢,按如下操作:1)设置Association 默认带箭头;2)取消严格的连接器语法限制按如上设置好之后,再重新拉线建立关
2022-02-12 23:23:07
12305
2
原创 软件模型之业务建模|概述
业务建模又称业务领域建模。业务模型能够帮助人们理解现行业务,也有助于改进现行业务,业务建模也是需求建模和分析建模的基础。业务模型是对业务领域的抽象描述,包括业务愿景模型、涉众模型、业务过程模型、业务对象模型、业务规则模型等。本章主要知识点:业务模型的概念、业务愿景模型、涉众模型、业务过程模型、业务对象模型、业务规则模型概述要成功开发一个软件,首先需要认证分析软件所服务的业务领域,只有弄清楚了期业务背景、业务过程、业务资源和业务规则等问题,才能开发出符合业务规则、满足业务需求的软件。在业务分析 (bu
2022-02-08 16:19:48
6135
原创 软件模型之业务建模|愿景
业务愿景概览业务远景的概念业务愿景:用来描述公司的目标,发展蓝图和公司发展策略。业务远景要考虑的因素有:---使命机遇核心竞争力目标挑战机构优势关键成功因素关键过程弱点策略客户和对手业务目标的概念:业务目标描述企业的业务活动要大道的状态和追求的结果。目标可分为定性目标和定量目标。业务目标结构业务目标可以分解成若干个子目标,总目标的实现依赖与各个子目标的完成。业务目标建模UML对于业务目标的建模用带版本的类图来表示;或是在E
2022-02-08 16:16:49
1295
原创 软件模型之业务建模|涉众
涉众(stakeholder)是与建设的企业系统相关的人和事。涉众不等同于用户,用户是系统的使用者,是涉众的一部分。涉众可是企业内部人员也可以是与企业发生关系的外部组织或实体。涉众与业务系统存在关系,提取涉众并分析各个涉众对系统的期望,对全面分析业务系统有重要意义。
2022-02-08 16:13:57
2128
原创 软件模型之业务建模|过程
在软件模型业务建模过程中,业务过程的提取与建模至关重要,我们如何理解业务过程,如何分析通过何种方式进行表达,便于我们在项目需求陈述和开发过程中交流;本章主要聚焦业务过程建模展开从理论到实践和工具进行介绍。业务过程的概念业务过程(Business Process):是一些列以一种或者多种输入为条件从而为客户创造某种业务价值输出的活动流程。业务过程有特定的目标,同时也受外部环境或者其他过程中发生事件的影响。进一步说明:例如产品采购,产品销售,产品加工等。一个业务过程可能会跨越多个企业部门:
2022-02-08 16:11:17
2154
原创 软件模型之业务建模|对象建模
很多时候我们在去客户现场进行业务调研或业务分析时,不能够很好的识别客户的很业务以及有效的业务对象,本章主要围绕如何进行业务对象建模展开讨论## 业务对象的概念业务对象(Business Object):是业务领域中的各种事务,是企业的基本资源。例如:书店:图书、职工、会员、书库、售货员等。## 业务对象的分类业务对系那个可以分为:-1.业务边界对象:承担人机交互-2.业务控制对象:控制管理,协调任务-3.业务实体对象:一般事物(无生命)。-4.业务工人:业务领域的人(有生命)
2022-02-08 16:09:41
3368
原创 一种企业信息集成的系统
随着社会的进步,信息化、数字化、智能化的不断发展,企业内部的各种信息化智能化的改造需求层出不穷。每个企业内部因为发展和信息化规划等各方面的原因,各种信息、生产、支持类系统数目参差不齐,因此企业在做整体改造过程中,拉通各个系统的数据流形成数据共享,集成各个系统实验业务流程联动等就显得尤为困难。如果要实现企业信息化系统集成,无外乎都要对现有系统进行二次开发、然后再开发新系统做统一门户,其改造成本大,技术要求高,很多时候对现有系统或业务会带来一定的影响。
2022-02-08 16:07:21
1142
原创 X-Series的XrossTools工具安装
X-Series是一套轻量级的框架。包含好几个工具,各自解决不同场景的共性问题。每个工具都拥有基于Eclipse的图形化编辑器和基于标准maven依赖的运行时引擎。他们具有以下特点:- 易于使用。基于图形化界面,操作直观,容易理解- 易于集成。基于maven依赖,可以直接引入到项目
2022-02-08 16:05:10
570
原创 探索StarUML的认证机制
最近为选择合适的,轻量级的UML工具而伤神;试用了很多工具,最轻量简洁的要数StarUML了。此处主要介绍对其StarUML工具的科学之法(适合开发);这里仅作为技术交流体验,不建议大家用于商业用途。说明我安装的是StarUML3.2.2版本;这里主要介绍如何修改其源码来达到科学安装的目的;工具技术栈分析StarUML采用的技术框架,从表现上来看,应该是基于H5的Electron框架开发而成的;因此也就是说会JavaScript或ES6应该就没问题(当然不会也没关系,跟着本文的
2021-11-27 17:54:29
256
原创 aPaaS如何在不同组织结构运营组织结构中应用
最近几年低代码/无代码在业内很是热闹,因此很多这方面的平台也是层出不穷,现在基本统称为aPaaS;结合公司过往承接过的一些业务,再结合各大aPaaS平台的设计,对于如何基于aPaaS构建企业内部和企业运营系统做了一些思考,如下需求描述从过往的业务中提取了两类比较有代表性的业务进行探讨,一类是企业内部的管理系统(此次以一个设备生产企业为例);另一类是一个重型设备租赁企业的运营系统;企业内部的管理系统这里以一个设备生产型企业为例,企业以生产某类定制型电子产品为主,希望构建一套系统解决内部从销售接单,到销
2021-09-12 17:51:11
1542
原创 MQ的消息路由(ActiveMQ与RabbitMQ)
本文主要介绍热门的几个MQ产品的消息路由,实现方式。那什么是消息路由呢,就是将广播消息统一转化到一个队列或多个队列里面,从而达到消息的统一消费或消息的按组消费效果。其中队列消息里面的消息分组功能也算是消息路由的一种,但是这种是在消息生产端发送的时候提前指定消息分组规则,客户端端消费的时候再来进行消费。这种效果在一定情况下可以达到业务消息分类消费或顺时消费效果常用MQ产品:ActiveMQ是通过虚拟主题的模式https://blog.youkuaiyun.com/KimmKing/article/details/
2021-08-23 22:51:43
778
原创 Eclipse的物联网架构(Eclipse IoT Architectures)
物联网架构(IoT Architectures)典型的物联网解决方案的特点是许多设备(即事物)可能使用某种形式的网关通过网络与企业后端服务器通信,该后端服务器运行物联网平台,帮助将物联网信息集成到现有企业中。 设备、网关和云平台的角色定义明确,每个角色都提供任何强大的物联网解决方案所需的特定特性和功能。受限设备(Stack for Constrained Devices)传感器和执行器(Sensors and Actuators)物联网中的“物”是物联网解决方案的起点。它通常是数据的发起者,它与
2021-08-23 19:58:26
3660
原创 应届生如何写简历才能吸引HR和面试官
截止目前从事技术团队管理工作已经有些年头了,自从转型到管理,工作的一部分内容就是招聘;在这几年里面筛选了不少的简历,也面试过不少的应届生,和往届生;今天就从面试官的角度简单说下应届生的简历如何写才会引起HR和面试官的注意,希望对于刚毕业或正在找工作的你起到一些帮助简历筛选侧重点简历筛选流程一般中小企业对于应届生的招聘大致流程如下:用人部门提出需求,并拟定JD提供给HRHR根据用人部门需求进行招聘需求发布(到各大招聘平台或线下定向的招聘渠道)HR收集简历并做符合条件的简单筛选,然后推荐给用人部门
2021-08-21 18:37:01
459
activiti-designer-5.18.0 2.zip
2020-04-06
5个Why分析法
2019-04-08
构建敏捷银行-平安银行信用卡中心转型案例
2019-04-08
信息系统项目管理师教程pdf高清版
2015-07-27
flash上传头像预览裁剪
2013-07-05
DHTML参考手册(CHM)版本
2013-07-05
J2EE的13种核心技术.doc
2010-05-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人