Q: LangChain dify coze是竞品关系 都是AI Agent搭建平台,dify和coze
属于低代码,langChain属于高代码,coze优于dify

Q:向量数据库是存储向量,做相似度检索的,可以用faiss milvus chromdb

Q:使用AI编程,要有清晰的逻辑思维,把这个思维告诉给AI

Q: LangChain, LangGraph是一家,LangGraph是前者的升级版本 能力更强,
前者的工作流是线性的,后者的工作流更加复杂

LangChain:提供了一套工具、组件和接口,简化了创建LLM应用的过程。

LangChain由多个组件组成;
1 Models:模型,比如 GPT-4o, Qwen
2 Prompts:提示,包括提示管理、提示优化和提示序列化
3 Memory:记忆,用来保存和模型交互时的上下文
4 Indexes:索引,用于结构化文档,方便和模型交互,如果要构建自己的知
识库,就需要各种类型文档的加载 转换 长文本切割 文本向量计算,向量索
引存储查询等
5 Chains:链 一系列对各组件的调用
6 Agents:代理,决定模型采取哪些行动,执行并且观察流程,直到完成为止

Agent的作用

Agent决定调用哪些工具完成用户的需求,以及工具的调用顺序
LangChain中集成了很多了常用的tools(工具),也可以调用自己的工具

Tool工具

serpapi 搜索引擎
1lm-math 给Agent提供数学计算

示例:问当前北京的温度是多少华氏度,这个温度的1/4是多少?
Thinking:Agent需要哪些tools?
Serpapi 搜索当前北京的温度
1lm-math 计算这个温度的1/4 如果不调用数学工具 大模型在计算上可能会回答错误

Memory 记忆

大模型的记忆空间一般是32K,大的是128K,是有限的

LangChain中的几种短期记忆方式:
1 BufferMemory
将之前的对话完全存储下来,传给LLM,但大模型的记忆空闲有限
适用:对话不多时

2 BufferWindowMemory
最近的K组对话存储下来,传给LLM
适用:对话很多 但希望简单的处理方式时

3 ConversionMemory
把对话进行摘要,将摘要存储在内存中,相当于将压缩过的历史对话传给LLM
适用:对话很多 要用全部历史对话 就快速压缩

4 VectorStore-backed Memory 将之前所有对话通过向量存储到VectorDB
(向量数据库)中,每次对话,会根据用户的输入信息,匹配向量数据库中最相
似的K组对话
适用:对话很多 要精细化做对话查找时

Agent设计

AGENT_TMPL=“”"按照给定的格式回答一下问题,你可以使用下面这些工
具:
(tools}
回答时需要遵循以下用–括起来的格式:

Question:我需要回答的问题
Thought:回答这个上述问题我需要做些什么
Action:"(tool name)”中的一个工具名
Action Input:选择这个工具所需要的输入
Observation:选择这个工具返回的结果
…(这个 思考/行动/行动输入/观察 可以重复N次,N不超过5)
Thought:我现在知道最终答案
Final Ansser:原始输入问题的最终答案

现在开始回答,记得在给出最终答案前,需要按照指定格式进行一步一步的推
理。
Question:{input}
{agent_scratchpad)
“”"

Q:如何创建个人的知识库,并可以智能问答?

  1. Tool
    不同的需求,调用不同的Too1,根据query和 tool description之间的匹
    配进行调用
    几乎任何功能都能封装成tool,比如查天气,查新闻,计算数学题

  2. RAG
    query=>与 RAG中的chunk进行相似度的匹配(基于embedding)=> 取Top5的chunk 给到LLM进行回答
    RAG的常用场景有智能客服,问答

Q: LangChain更早的提出了Tool调用

Q:选择一个框架时,主要看框架给提供的工具全不全,推荐langchain coze

Q:Function Call里面可以调用别的api查询吗?
A:是的,比如可以在Function Call中,使用 Claude写代码

Q: tool是agent的一部分吗?
A:是的,agent是全集,是组装工厂,在工厂里面tool是重要的一个环节

Q:最终项目落地可以用coze吗?
A:如果不考虑数据安全问题,可以用coze或者 使用coze本地私有化部署的版

ReAct范式(Reason- Action)

大模型的推理方式,大模型回答问题是一步一步的逼近答案的,不断地思考 运行 观察,是一个思考模型,指示大模型如何工作:

思考=>Action Action Input=>观察>思考
适用于有一定复杂程度的问题,让AI自己进行探索求解

@5-product_llm.py 帮我使用LangChain中的ReAct模式简化这个代码,写
到6-product_llm.py

fewshot: 小样本的示例,给到大模型作为RAG的上下文知识,做错题本

Q:怎么保证调用工具后回答内容的安全性?比如问怎么造炸弹?
做一个安全审核工具,在回答前先审核

Q:ReAct的实现过程:(大模型的自我对话的过程)
=>我要完成XXX,我看到了{tool},我可以选择某一个tool,传入 input
=>在代码中调用这个tool,传入相应的 tool input=>得到tool的 ouput
=>我要完成XXX,我看到了{tool},我可以选择某一个tool,传入 input

Case 工具链组合

Q:推理模型幻觉大,可以用来头脑风暴,实际项目中用得比较少

Case 搭建故障诊断Agent

帮我搭建一个网络故障诊断类的Agent,工具之间存在串联,第一个工具的输出是第二个工具的输入;如果有10个工具的话,会有很多输入输出的关系。
希望Agent,在适当的时候调用适合的工具

可以参考 @1-simple toolchain.py编写新的python

Q:业务系统的日志,每小时上G的日志,有无好的分析办法?
Step1 先通过关键词定位位置 做个粗筛,再通过时间范围进行筛选
Step2 把有问题的日志整理起来 当文字量不是太大的情况下,可以让LLM进行解读

LECEL构建任务链

LECEL是lanchain 推出的链式表达式语言,支持用 | 操作符将各类单元组合。每个 | 左侧的输出会自动作为右侧的输入,实现数据流式传递。
优势:
代码简洁,逻辑清晰,易于多步任务编排
支持多分支 条件 并行等复杂链路
易于插拔 复用和调试每个子任务

典型用法:
串联:A | B | C,A的输出传给B, B的输出传给C。
分支:{“x”: A, “y”: B }, 并行执行A和B。
支持流式:如 .stream() 方法可边生成边消费。

AI Agent对比

工具 核心定位 适用性
LangChain 开源LLM应用开发框架 适用于外企 快速构建RAG 对话系统 工具调用等线性任务

LangGraph 升级的LangChain 基于图的循环和条件逻辑,支持多Agent协作 适用于外企的复杂任务

Qwen-Agent 通义千问的AI Agent框架 可快速构建RAG MCP等应用 适用于国外 作者推荐

Coze 和 Dify 适用于业务人员拖拉拽生成简单AI应用

AI Agent选择建议

无代码开发:Coze
快速原型开发:LangChain 或 Qwen-Agent
复杂Agent系统:LangGraph(多Agent协作) 或 Dify(API深度集成)
企业私有化:Dify(开源部署),Qwen-Agent 或 LangChian+LangGraph(灵活组合)

Q:如何学习大模型?
A:
1 先找业务场景
2 选择适合的方案
方案1 RAG LangChain RAG方案
方案2 LangChain ReAct + Tool方案

3 实施
@之前的代码,描述现有的场景

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/93498.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/93498.shtml
英文地址,请注明出处:http://en.pswp.cn/web/93498.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实用技巧:Oracle中精准查看表占用空间大小

目录实用技巧:Oracle中精准查看表占用空间大小一、为什么需要精准统计表空间占用?二、完整查询SQL:覆盖表、LOB、索引三、SQL语句关键逻辑解析1. 基础表:dba_tables 与 dba_tablespaces2. 子查询1:统计表段空间&#x…

openEuler等Linux系统中如何复制移动硬盘的数据

在 openEuler 系统中,提示 “You should mount volume first” ,意思是需要先挂载移动硬盘的分区才能访问: 安装必要软件(针对特殊文件系统) 如果移动硬盘是 NTFS 等非 Linux 原生支持的文件系统格式,需要安装对应的支持软件,以挂载 NTFS 格式移动硬盘为例,需要安装 …

java如何把字符串数字转换成数字类型

在Java中将字符串数字转换为数字类型有多种方法,以下是详细说明和示例代码: 一、基础转换方法 Integer.parseInt() String str "123"; int num Integer.parseInt(str); // 转换为intDouble.parseDouble() String str "3.14"; dou…

WPFC#超市管理系统(6)订单详情、顾客注册、商品销售排行查询和库存提示、LiveChat报表

WPF&C#超市管理系统10. 订单详情10.1 页面布局10.2 功能实现11. 顾客注册12. 商品销售排行查询与库存提示14. LiveChart报表总结10. 订单详情 10.1 页面布局 页面分三行布置,第一行复用OutstorageView界面的第一行,将属性和命令修改为顾客相关第二…

【Linux】文件基础IO

1.关于文件的共识原理 1.文件内容属性 2.文件分为打开的文件和没打开的文件 3.打开的文件: 文件被打开必须先被加载到内存,所以本质是研究进程和文件的关系,一个进程可以打开多个文件。操作系统内部一定存在大量被打开的文件,要进…

基于微信小程序的生态农产销售管理的设计与实现/基于C#的生态农产销售系统的设计与实现、基于asp.net的农产销售系统的设计与实现

基于微信小程序的生态农产销售管理的设计与实现/基于C#的生态农产销售系统的设计与实现、基于asp.net的农产销售系统的设计与实现

Java研学-SpringCloud(五)

一 Nacos 配置中心 1 引入依赖 – services.pom每个微服务都需要<!--配置中心--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency>2 配置文件 –…

.NET 中的延迟初始化:Lazy<T> 与LazyInitializer

标签&#xff1a;线程安全、延迟初始化、按需初始化、提升启动性能 项目地址&#xff1a;NitasDemo/12Lazy/LazyDemo at main Nita121388/NitasDemo 目录Lazy<T>1. 概念2. 基本用法 3. 异常处理 4. 线程安全模式 5. 示例1. 线程安全模式 (ExecutionAndPublication)2. 发…

【LLIE专题】LLIE低照度图像结构先验提取方法

Zero-Shot Day-Night Domain Adaptation with a Physics Prior&#xff08;ICCV,2021&#xff09;专题介绍一、研究背景二、方法1. 物理反射模型与颜色不变特征的推导&#xff08;原理推导、物理依据&#xff09;2. 颜色不变特征的计算&#xff08;特征计算公式整个过程&#x…

Font Awesome Kit 使用详解

在现代网页设计中&#xff0c;图标是提升用户体验的关键元素。而 Font Awesome 作为最受欢迎的图标库&#xff0c;其最新版本 Font Awesome 7 通过 Kit 功能提供了更便捷高效的集成方式。本文将带你全面了解如何使用 Font Awesome Kit&#xff0c;让你的网站图标管理变得轻松高…

第七十八章:AI的“智能美食家”:输出图像风格偏移的定位方法——从“滤镜病”到“大师风范”!

AI图像风格偏移前言&#xff1a;AI的“火眼金睛”——输出图像风格偏移的定位方法&#xff01;第一章&#xff1a;痛点直击——“画风跑偏”&#xff1f;AI生成艺术的“审美危机”&#xff01;第二章&#xff1a;探秘“画风密码”&#xff1a;什么是风格偏移&#xff1f;它藏在…

Android原生(Kotlin)与Flutter混合开发 - 设备控制与状态同步解决方案

Kotlin 原生实现 (Android) 1.1 AndroidManifest.xml <manifest xmlns:android"http://schemas.android.com/apk/res/android"package"com.afloia.smartconnect"><applicationandroid:name".MainApplication"android:label"Smart …

已开源:Highcharts.NET,Highcharts Android,与Highcharts iOS集成

近期了解到&#xff0c;Highcharts官方宣布将Highcharts.NET&#xff0c;Highcharts Android&#xff0c;与Highcharts iOS集成转换为开源。对于Highcharts提供世界一流的数据可视化工具&#xff0c;一直致力于将资源集中在可以为您提供最大价值的地方。官方提到&#xff1a;这…

KingbaseES:一体化架构与多层防护,支撑业务的持续稳定运行与扩展

声明&#xff1a;文章为本人真实测评博客&#xff0c;非广告 目录 引言 一、什么是KingbaseES&#xff1f; 二、KingbaseES核心特性 1. 一键迁移&#xff0c;极速性能&#xff0c;安全无忧​ 2. 性能强劲&#xff0c;扩展性强&#xff0c;助力企业应对大规模并发挑战​ …

scikit-learn/sklearn学习|广义线性回归 Logistic regression的三种成本函数

【1】引言 前序学习进程中&#xff0c;已经对线性回归和岭回归做了初步解读。 实际上&#xff0c; Logistic regression是一种广义的线性模型&#xff0c;在对线性分类的进一步学习前&#xff0c;有必要了解 Logistic regression。 【2】Logistic regression的3种成本函数 …

Tiptap(基于 Prosemirror)vs TinyMCE:哪个更适合你的技术栈?

在这之前&#xff0c;先来介绍一下 ProseMirror&#xff1a; 1. ProseMirror 是底层内核 定位&#xff1a;一个强大的 富文本编辑框架/引擎&#xff0c;不是一个成品编辑器。 作者&#xff1a;Marijn Haverbeke&#xff08;CodeMirror 作者&#xff09;。 核心思想&#xff1…

多墨智能-AI一键生成工作文档/流程图/思维导图

本文转载自&#xff1a;多墨智能-AI一键生成工作文档/流程图/思维导图 - Hello123工具导航 ** 一、AI 文档与视觉化创作助手 多墨智能是一款基于人工智能的在线工具&#xff0c;支持一键生成专业文档、流程图与思维导图&#xff0c;通过关键词输入快速完成内容创作&#xff0…

Kafka_Broker_副本基本信息

Kafka副本作用&#xff1a;提高数据可靠性 Kafka默认副本1个&#xff0c;生产环境一般配置为2个&#xff0c;保证数据可靠性&#xff0c;太多副本会增加磁盘存储空间&#xff0c;增加网络上数据传输&#xff0c;降低效率 Kafka中副本分为&#xff1a;Leader和Follower&#xff…

FreeRTOS 中的守护任务(Daemon Task)

在 FreeRTOS 中&#xff0c;守护任务&#xff08;Daemon Task&#xff09;是一个特殊的系统任务&#xff0c;主要用于管理软件定时器和其他后台操作。以下是关于 FreeRTOS 守护任务的详细信息&#xff1a; 守护任务的作用软件定时器管理&#xff1a; 当启用 configUSE_TIMERS 时…

博士招生 | 麻省理工学院 招收化学+人工智能方向 博士/博士后

内容源自“图灵学术博研社”gongzhonghao学校简介麻省理工学院&#xff08;MIT&#xff09;QS世界排名第1&#xff0c;是全球科技研究领域的顶尖学府。自成立以来&#xff0c;MIT以其卓越的科研和教育质量赢得了世界的尊敬。学校在科学、工程、经济和管理等多个领域具有深远的影…