Akemi

Akemi

it's better to burn out than to fade away

Langchain模块Memory常用组件
会话缓冲记忆ConversationBufferMemory 将预设的聊天记录保存起来,为之后的聊天提供上下文信息,同时也可以将实时聊天信息保存起来 会话缓冲窗口记忆ConversationBufferWindowMemory 记录最近k次的聊天交互信息 会话缓冲记忆ConversationBufferMemory123456789101112131415161718192021222324252627from langchain.memory import ConversationBufferMemoryfrom langchain.chains import Conversa...
Langchain模块Chain组件-多种chain
路由chain路由链是LangChain中用于智能决策和分发的核心机制,它可以根据输入内容自动选择最合适的处理路径。 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970from langchain_core.runnables import RunnablePassthrough, RunnableLambda, RunnableBranchfrom langchain.pro...
NFS权限与绑定挂载
前情提要:https://akemi.zj.cn/2025/08/26/Pacemaker-NFS/忘记做nfs迁移测试了 后续的权限挂载问题使用nfs-client 10.163.2.109挂载10.163.2.150后,发现写入失败,这个问题是因为nfs server共享后,虽然共享权限为rw,但server默认给client的权限为nobody匿名用户,为的是防止client使用root权限直接操作server文件。(默认选项root_squash,即默认对root权限进行控制 有两种处理方法: nfs server把挂载目录给777权限 nfs server共享时指定挂载选项n...
Docker根目录迁移
隔壁桌的嵌入式哥们ubutnu机器满了 一看根目录200G 100%,家目录1.8T 50% 结果全是空的文件夹,这种一看就是docker的问题,果然使用docker system df 可以看到所有容器都是用的临时存储,并且几个exited状态的容器占了大量空间 12345678910# 删除所有不使用的容器docker container prune -f# root@master:~# df -Th文件系统 类型 容量 已用 可用 已用% 挂载点udev devtmpfs 16G 0 16G 0% /devtmpf...
Langchain模块Chain组件基本用法
Chain是一种接口,将多个组件(llm、prompt等)串联在一起,以实现更复杂的应用或功能 模块化:将复杂的应用拆解成多个更简单,更易于管理和维护的模块,每个模块都可以独立进行开发和测试 可重用性:创建可以重复使用的组件和功能 可扩展性:可以轻松添加、修改、删除链中的组件,以满足应用的新需求或改变现有功能 API异步调用123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354import asyncioimport timefrom lan...
Langchain模块Callback组件
回调的基本概念: 在llm应用执行的每个阶段,比如日志记录、监控、流处理等 回调处理器是实现了callbackhandler接口的对象,每个可以订阅的事件都有一个方法,当事件被触发时,CallbackManager会在每个处理器上调用相应的方法 在哪些地方定义回调函数: 构造函数时定义:llmchain=(callbacks=[handler]) 发出请求时定义:llm.invoke(callbacks=… 构造函数中设置verbose为true,调用StdOutCallHandler 使用最简单回调123456789101112131415161718...
Langchain模块-DataCollection组件-Retriever检索器
用以查询嵌入到向量数据库中的数据 MultiQueryRetriever请求拆分多索引:将问题拆分出不同的问答 Contextual compression上下文压缩:对每个文件块进行摘要,方便于定位 self-querying元数据过滤器:将请求过滤成请求+过滤器,进行查询 时间加权向量存储检索器:加上时间因素 请求拆分多索引MultiQueryRetriever通过请求拆分多索,生成多维度的查询输入,其本身是一种增强了的检索器,可以被RetrievalQAWithSourcesChain所引用 1234567891011121314151617181920212223242526...
Langchain模块-DataCollection组件-文本嵌入与向量数据库embedding
维度 Chroma FAISS Milvus 类型 嵌入式向量数据库 向量检索库(非数据库) 分布式向量数据库 部署方式 轻量级,Python集成或独立服务 库形式集成,无独立服务 独立的数据库服务,支持集群 持久化 ✅ 支持(本地/云) ❌ 不支持(需额外实现) ✅ 支持(内置) 扩展性 中等,支持简单扩展 低,单机为主 高,分布式架构 生产就绪 适合中小规模 研究/中小应用 企业级大规模 查询功能 基础向量检索+元数据过滤 高性能向量检索 向量+标量混合查询、复杂过滤 社区生态 较新但增长快 成熟,Meta维护 活跃,CNCF项...
Langchain模块DataCollection组件-文件分割器splitter
文档转换器transformer文本切割、特征提取、问答转换、文档翻译、元数据标记器 文本分割这是最基本的将文本切割为不同的文档,可以选择使用换行符、逗号、句号等进行分割 1234567891011121314151617181920212223242526from langchain.text_splitter import CharacterTextSplittertext = """人工智能作为新一轮科技革命和产业变革的核心驱动力,正在对全球经济、社会发展和人类生活产生深刻影响。近年来,中国在人工智能领域取得了举世瞩目的成就,已成为全球人工智能发展的重...
Langchain模块DataCollection组件-文件加载器loader
为了llm应用获取外部数据,langchain提供了加载、转换、存储和查询数据的功能 文档加载器:加载不同来源的文档 文档转换器:拆分文档,将文档转换成问答格式、删除冗余文档 文本嵌入模型Embed:将非结构化文本转换为向量 向量存储:存储和搜索嵌入的数据 检索器:查询数据 文档加载器load csv、html、json、pdf文档加载 加载同一目录下多文档 第三方数据源组件 加载csv文档csv是一种使用逗号来分隔值的文本文件 csv文件加载器允许定制csv解析和加载,可以通过csv_args参数来设置,比如设定分隔符、引用字符和字段名等(跟awk差不多 12345678910...
avatar
王盛
当生命指向成长,时间就是你的朋友
FRIENDS
MyCSDN