文档转换器transformer文本切割、特征提取、问答转换、文档翻译、元数据标记器
文本分割这是最基本的将文本切割为不同的文档,可以选择使用换行符、逗号、句号等进行分割
1234567891011121314151617181920212223242526from langchain.text_splitter import CharacterTextSplittertext = """人工智能作为新一轮科技革命和产业变革的核心驱动力,正在对全球经济、社会发展和人类生活产生深刻影响。近年来,中国在人工智能领域取得了举世瞩目的成就,已成为全球人工智能发展的重...
为了llm应用获取外部数据,langchain提供了加载、转换、存储和查询数据的功能
文档加载器:加载不同来源的文档
文档转换器:拆分文档,将文档转换成问答格式、删除冗余文档
文本嵌入模型Embed:将非结构化文本转换为向量
向量存储:存储和搜索嵌入的数据
检索器:查询数据
文档加载器load
csv、html、json、pdf文档加载
加载同一目录下多文档
第三方数据源组件
加载csv文档csv是一种使用逗号来分隔值的文本文件
csv文件加载器允许定制csv解析和加载,可以通过csv_args参数来设置,比如设定分隔符、引用字符和字段名等(跟awk差不多
12345678910...
为什么需要输出解析器,因为调用大模型返回的内容并非给人看的,而是需要以特定的格式输出给其他的应用进行解析
解析器类型
输入示例
输出
适用场景
CommaSeparatedListOutputParser
“苹果,香蕉,橙子”
['苹果', '香蕉', '橙子']
简单列表提取
PydanticOutputParser
{"name": "苹果", "color": "红"}
Fruit(name='苹果', ...
在很多情况下,比如docker里跑GPU训练、处理任务,或者是用registry作为私有容器仓库,都很容易遇到爆炸的情况
毕竟docker默认情况下,是将数据存放在/var/lib下的,占根目录的空间
收到开发反馈说这个k8s节点经常遇到临时存储不够的情况
使用ncdu / --exclude /data --exclude /mnt 在排除挂载的空间之后扫描了一下根目录下的文件,结果删除了一堆log之后,ncdu显示只用了40G,实际上用了100多个G
123456789101112131415161718192021222324252627282930313233...
langchain本身不提供大模型,提供了llms工具与其他大语言模型进行交互
设置内存缓存12345678910111213141516171819202122232425262728293031from langchain_community.cache import InMemoryCacheimport langchainfrom langchain_deepseek import ChatDeepSeekfrom dotenv import load_dotenvimport timeload_dotenv()llm = ChatDeepSeek(model="dee...
prompt template 提示模板
example selectors 示例选择器
language models 语言模型应用
output parsers 输出解析器
prompt与template最简单的使用prompt template12345678910111213141516171819from langchain_deepseek import ChatDeepSeekfrom langchain.prompts import PromptTemplatefrom dotenv import load_dotenvload_dotenv()llm = ChatD...
langchain是一个框架,用以
集成大语言模型、其他数据源(文档、数据库、应用库等)
让不同来源的数据进行交互
支持链,一连串的动作
langchain的基础数据类型
texts 自然语言交互
chat messages 特定消息分类
system:提供背景信息,告诉AI需要做什么
human:用户信息
AI:AI给出的回应
documents 文本和元数据
examples 例子(代表了函数的输入以及预期输出
langchain的组件
模型-IO输入输出
数据连接
文档加载器:加载不同来源的文档
文档转换器:拆分文档,将文档转换为QA格式等
文本嵌入模型:将非结构化的文档...
在使用kubespray安装k8s时,k8s安装过程中会自动将域名解析信息写入/etc/resolv.conf
但如果使用较新版本的ubuntu安装,由于ubuntu的dns解析是通过systemd-resolved管理的,会导致使用hostNetwork模式的pod无法通过k8s集群内部域名,比如mysql-headless.prod.svc.cluster.local:8080这样的方式来访问服务
因为
同样的,也有一些类RHEL的系统就算不使用systemd-resolved,也会使用NetworkManager来管理dns解析
所以这篇就记录下如何修改dns,...
利用SSH加密隧道,将原本不安全的网络通信封装起来,安全地穿过不可信任的网络(如互联网),实现对特定网络服务的访问或代理。
特性
本地端口转发 (-L)
远程端口转发 (-R)
动态端口转发 (-D)
命令发起端
本地客户端
本地客户端(通常在内网)
本地客户端
转发方向
本地 -> 远程网络
远程 -> 本地网络
本地 -> 任意远程
绑定目标
固定的单一目标主机和端口
固定的单一目标主机和端口
动态的,不固定目标
本质
端口映射
端口映射
SOCKS代理服务器
适用场景
从外访问内网特定服务
内网穿透,暴露本地服务
全局代理,加密所有流量...
集中认证服务器的类型
基于LDAP的集中认证系统LDAP是一种常用的集中认证方式,将信息存储在LDAP目录中,具有层次化结构,便于组织和管理大量用户数据
基于kerberos的集中认证系统kerberos是一种网络认证协议,使用票据来验证用户身份,有一个专门的kerberos服务器负责颁发和管理票据
基于OAuth或OpenID Connect的集中认证系统(互联网APP常用)用于互联网应用和云服务中的身份认证与授权。OAuth允许用户授权第三方应用访问其在另一个服务提供商上的资源OpenID Connect在OAuth基础上,提供了简单的身份验证机制
1234567891011121...