是参考知乎 鹅厂架构师的 文章
小白上手LangChain学习说明书(上篇)
langchain介绍
将LLM中的prompt通过函数调用进行标准化。
官方文档如何学习
langchain六个分类
Model IO、Retrieval、Chains、Memory、Agents和Callbacks
Model IO
prompt
两种不同的 prompt :
Propmpt template :根据接口将prompt格式化
和 Selectors:按照不同的条件选择不同的提示词
模板格式
f-string
jinja2
Propmpt Template
基本提示模板
部分提示词模版:
自定义提示模板:官方给了创建一个给定名称函数的英语解释例子
少量提示模板:就是few-shot
独立化prompt
Selectors
如何用代码实现筛选提示词
总结
主要介绍了常用的构建prompt的方式
LLM
如何调用
有单个调用
批量调用
异步接口调用
自定义语言模型调用
大预言模型的调用测试
跟踪token的使用i情况
序列化配置大语言模型:将模型运行的系数保存在配置文件中以便下次运行加载
流式处理
OutputParasers
列表解析器
日期
枚举
自动修复解析器
Retrieval:检索
向量数据库
存储方式
高维记录
通过乘积量化将高维向量分解为多个子向量,然后用聚类将每个子向量分成簇
突破方向
检索方式
检索变成了最近邻问题
DataLoaders
如何用代码加载不同类型格式的文本文件
文本拆分DataTransformers
文中提到的工具为langchain提供的RecursiveCharacterTextSplitter类
向量检索应用
Memory
多轮对话信息 拼接
Memory的基本实现原理
有三种方式
buffer
所有历史存储ConversationBufferMemory
截断窗口存储ConversationBufferWindowMemory
通过token限制
summary
调用ConversationSummaryBufferMemory这个api进行对话总结
vector
Chains
LLMChains
单输入输出
多输入单输出
多输入多输出
RouterChains
进行内容选择