随笔分类 - 15.Java/Scala
摘要:
接上节继续,今天来学习Skill的使用,要说明的是:目前langchain4j关于SKILL的API尚在试验阶段,未来可能会有较大变化,生产环境使用时,请大家谨慎。 先添加pom依赖: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="ht
阅读全文
接上节继续,今天来学习Skill的使用,要说明的是:目前langchain4j关于SKILL的API尚在试验阶段,未来可能会有较大变化,生产环境使用时,请大家谨慎。 先添加pom依赖: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="ht
阅读全文
摘要:
swig 是1个可以将C/C++包装成其它语言(比如:C#, java , python)接口的工具,直接下载即可使用。 下面演示如何用它来调用C代码 一、写一个C示例 example.c /* File : example.c */ /* 一个全局变量 */ double Foo = 3.0; /
阅读全文
swig 是1个可以将C/C++包装成其它语言(比如:C#, java , python)接口的工具,直接下载即可使用。 下面演示如何用它来调用C代码 一、写一个C示例 example.c /* File : example.c */ /* 一个全局变量 */ double Foo = 3.0; /
阅读全文
摘要:
接上节继续,在某些循环迭代流程中,希望人工干预来影响流程走向,也就是所谓的human_in_the_loop 代码示例 public class HumanInLoopGraphApplication { private static final String LOOP_COUNT_KEY = "l
阅读全文
接上节继续,在某些循环迭代流程中,希望人工干预来影响流程走向,也就是所谓的human_in_the_loop 代码示例 public class HumanInLoopGraphApplication { private static final String LOOP_COUNT_KEY = "l
阅读全文
摘要:
接上节继续,Checkpoint(检查点)的主要作用是保存图执行过程中的状态,让图可以在需要时暂停并在之后从断点恢复执行,通常需要与interrupt结合使用。 先定义1个图 public static StateGraph<MessagesState<String>> getGraph() thr
阅读全文
接上节继续,Checkpoint(检查点)的主要作用是保存图执行过程中的状态,让图可以在需要时暂停并在之后从断点恢复执行,通常需要与interrupt结合使用。 先定义1个图 public static StateGraph<MessagesState<String>> getGraph() thr
阅读全文
摘要:
接上节继续,流式响应在LLM应用中是改善用户体验的重要手段之一,可以有效缓解长耗时应用的用户焦虑感。 Stream基础示例 定义节点 /** * @author junmingyang */ public class ChatNode implements NodeAction<MessagesSt
阅读全文
接上节继续,流式响应在LLM应用中是改善用户体验的重要手段之一,可以有效缓解长耗时应用的用户焦虑感。 Stream基础示例 定义节点 /** * @author junmingyang */ public class ChatNode implements NodeAction<MessagesSt
阅读全文
摘要:
接上节继续,本篇将学习如何实现并行工作流。 上面这张图,用代码很容易绘制,参考以下代码。 核心代码 public static StateGraph<AgentState> getParallelGraph() throws GraphStateException { return new Stat
阅读全文
接上节继续,本篇将学习如何实现并行工作流。 上面这张图,用代码很容易绘制,参考以下代码。 核心代码 public static StateGraph<AgentState> getParallelGraph() throws GraphStateException { return new Stat
阅读全文
摘要:
接上节继续,用过Spring框架的同学都知道,Spring中的AOP,可以在无侵入的情况下,对原有的代码逻辑做增强(比如:在代码执行前后,自动记录日志、计算方法执行耗时等等) LangGraph4j中的Hook机制跟AOP类似,可以在Node执行的before/after/wrap 这3个时机,无侵
阅读全文
接上节继续,用过Spring框架的同学都知道,Spring中的AOP,可以在无侵入的情况下,对原有的代码逻辑做增强(比如:在代码执行前后,自动记录日志、计算方法执行耗时等等) LangGraph4j中的Hook机制跟AOP类似,可以在Node执行的before/after/wrap 这3个时机,无侵
阅读全文
摘要:
接上节继续,前面的3种基本工作流演示,节点上携带的状态数据使用的是默认的AgentState data的Value是Object类型(通俗点说,等同于没有类型,没有强类型约束),读写状态值时,需要做各种类型转换,十分繁琐,且容易出错。实际应用时,可以给AgentState中的各项元素,加1个类型说明
阅读全文
接上节继续,前面的3种基本工作流演示,节点上携带的状态数据使用的是默认的AgentState data的Value是Object类型(通俗点说,等同于没有类型,没有强类型约束),读写状态值时,需要做各种类型转换,十分繁琐,且容易出错。实际应用时,可以给AgentState中的各项元素,加1个类型说明
阅读全文
摘要:
接上节继续,本节将演示条件工作流如何用langgraph4j实现。 注:循环工作流可以看成 条件工作流的一个变种。node1 -> node2 -> node1 这样就形成了1个死循环(loop),为了能跳出死循环,用条件边来判定跳出时机。 一、定义节点 public class Node1Acti
阅读全文
接上节继续,本节将演示条件工作流如何用langgraph4j实现。 注:循环工作流可以看成 条件工作流的一个变种。node1 -> node2 -> node1 这样就形成了1个死循环(loop),为了能跳出死循环,用条件边来判定跳出时机。 一、定义节点 public class Node1Acti
阅读全文
摘要:
一句话秒懂 LangGraph是一个状态管理和工作流编排框架,专注于构建复杂的多步骤应用,LangGraph4j是LangGraph开源生态中的java实现。 既生瑜?何生亮? Dify VS LangGraph4j (有了dify,还有必要学习langgraph之类的编排框架吗?) 听听deeps
阅读全文
一句话秒懂 LangGraph是一个状态管理和工作流编排框架,专注于构建复杂的多步骤应用,LangGraph4j是LangGraph开源生态中的java实现。 既生瑜?何生亮? Dify VS LangGraph4j (有了dify,还有必要学习langgraph之类的编排框架吗?) 听听deeps
阅读全文
摘要:
上篇学习了ReACT,今天继续学习PlanAndExecute模式 与ReACT模式的关键区别如下: 对比维度ReAct AgentPlan-and-Execute Agent 思考模式 单步思考-行动循环 两阶段分离:先规划后执行 执行流程 Thought → Action → Observati
阅读全文
上篇学习了ReACT,今天继续学习PlanAndExecute模式 与ReACT模式的关键区别如下: 对比维度ReAct AgentPlan-and-Execute Agent 思考模式 单步思考-行动循环 两阶段分离:先规划后执行 执行流程 Thought → Action → Observati
阅读全文
摘要:
经过前面的一系列流程,招聘来到了最重要的1个环节,AI虽然强大,但是不能完全代替人做决定,最终还是要Boss决策这个候选人的去留。从系统设计角度来说,整个AI智能体环节中,要预留人工干预的能力,也称为"人机协同"(human_in_the_loop) 示例代码: 1 @SpringBootAppli
阅读全文
经过前面的一系列流程,招聘来到了最重要的1个环节,AI虽然强大,但是不能完全代替人做决定,最终还是要Boss决策这个候选人的去留。从系统设计角度来说,整个AI智能体环节中,要预留人工干预的能力,也称为"人机协同"(human_in_the_loop) 示例代码: 1 @SpringBootAppli
阅读全文
摘要:
接上节继续,前面讨论的这个AI招聘示例,并非所有环节都需要AI参与,比如:HR、经理、团队对简历分别做出评价后,【计算平均分】以及【根据平均分更新状态(比如:平均分低于0.8则拒绝)】,这2个环节完全可以用代码实现,以节省大模型算力成本。 这时候,就不需要使用类似下面的AgentServices来构
阅读全文
接上节继续,前面讨论的这个AI招聘示例,并非所有环节都需要AI参与,比如:HR、经理、团队对简历分别做出评价后,【计算平均分】以及【根据平均分更新状态(比如:平均分低于0.8则拒绝)】,这2个环节完全可以用代码实现,以节省大模型算力成本。 这时候,就不需要使用类似下面的AgentServices来构
阅读全文
摘要:
书接上回,这次学习一种更高级的模式:监督者模式。职场上的牛马们,大家回想一下,每次部门的OKR,是怎样层层拆解最终落地的?是不是得有一个大佬(即:监督者),根据OKR先做拆解计划(plan),然后把活儿派给各组去落地(action),中间还会时不时的review? 这个就叫做监督者模式。 仍然还是这
阅读全文
书接上回,这次学习一种更高级的模式:监督者模式。职场上的牛马们,大家回想一下,每次部门的OKR,是怎样层层拆解最终落地的?是不是得有一个大佬(即:监督者),根据OKR先做拆解计划(plan),然后把活儿派给各组去落地(action),中间还会时不时的review? 这个就叫做监督者模式。 仍然还是这
阅读全文
摘要:
前面已经学习了 顺序、循环、条件分支、并行 这4种基本的工作流编排方式,利用这些可以组合出各种复杂的逻辑。下面将前面招聘的整个流程串起来,做一个相对比较完整的工作流: 宏观上,1-2-3是面向候选人的,4-5-6是面向公司招聘团队的。 一、定义Agent 1.1 CandidateWorkflow
阅读全文
前面已经学习了 顺序、循环、条件分支、并行 这4种基本的工作流编排方式,利用这些可以组合出各种复杂的逻辑。下面将前面招聘的整个流程串起来,做一个相对比较完整的工作流: 宏观上,1-2-3是面向候选人的,4-5-6是面向公司招聘团队的。 一、定义Agent 1.1 CandidateWorkflow
阅读全文
摘要:
书接上回,简历评估完后,根据评估结果,如果合格,公司就该通知面试,否则回邮件拒绝。也就是今天要演示的“条件工作流”。下面定义这2个分支对应的Agent: 一、定义不同分支的Agent 1.1 EmailAssistant (发邮件拒绝候选人Agent) 1 public interface Emai
阅读全文
书接上回,简历评估完后,根据评估结果,如果合格,公司就该通知面试,否则回邮件拒绝。也就是今天要演示的“条件工作流”。下面定义这2个分支对应的Agent: 一、定义不同分支的Agent 1.1 EmailAssistant (发邮件拒绝候选人Agent) 1 public interface Emai
阅读全文
摘要:
书接上回,现在简历已经润色得足够好了,投递到了HR手上,假设跟候选人也做了初步的电话沟通。接下来,公司需要对候选人做如下审查: 经理:针对简历,结合招聘岗位要求,审查简历是否符合要求(包括优点和不足) HR:针对简历,结合电话沟通记录以及HR招聘相关要求,审查简历是否适合(包括优点和不足) 团队成员
阅读全文
书接上回,现在简历已经润色得足够好了,投递到了HR手上,假设跟候选人也做了初步的电话沟通。接下来,公司需要对候选人做如下审查: 经理:针对简历,结合招聘岗位要求,审查简历是否符合要求(包括优点和不足) HR:针对简历,结合电话沟通记录以及HR招聘相关要求,审查简历是否适合(包括优点和不足) 团队成员
阅读全文
摘要:
接上节继续,仍然还是这个简历优化的示例,这次引入1个 “简历审阅者(CVReviewer)”的角色,定义如下: public interface CvReviewer { @Agent("根据特定指示审阅简历,提供反馈和分数。请考虑简历与职位要求的匹配程度") @SystemMessage("""
阅读全文
接上节继续,仍然还是这个简历优化的示例,这次引入1个 “简历审阅者(CVReviewer)”的角色,定义如下: public interface CvReviewer { @Agent("根据特定指示审阅简历,提供反馈和分数。请考虑简历与职位要求的匹配程度") @SystemMessage("""
阅读全文
摘要:
接上节继续,本篇将演示 顺序工作流的实现(即:Building Effective AI Agents \ Anthropic 中的 Prompt Chain模式) 上一节,我们学会了如何基于个人资料,生成一份简历。有了简历,自然要投递到某个招聘岗位,假设有个“全栈工程师”的岗位JD要求如下: jo
阅读全文
接上节继续,本篇将演示 顺序工作流的实现(即:Building Effective AI Agents \ Anthropic 中的 Prompt Chain模式) 上一节,我们学会了如何基于个人资料,生成一份简历。有了简历,自然要投递到某个招聘岗位,假设有个“全栈工程师”的岗位JD要求如下: jo
阅读全文
摘要:
自近年AI智能体火爆以来,各种相关的框架和最佳实践也不断涌现,Anthropic公司2024年发布的Building Effective AI Agents \ Anthropic 无疑是最有影响力的指导文章之一,langchain4j在此影响之下,也实现一系列的workflow编排&Agent功能
阅读全文
自近年AI智能体火爆以来,各种相关的框架和最佳实践也不断涌现,Anthropic公司2024年发布的Building Effective AI Agents \ Anthropic 无疑是最有影响力的指导文章之一,langchain4j在此影响之下,也实现一系列的workflow编排&Agent功能
阅读全文
浙公网安备 33010602011771号