# langchain-learning
langchain的学习笔记。依赖:
```python
openai==0.27.8
langchian==0.0.225
```
和langchain相类似的一些工具:
- [danswer-ai/danswer: Ask Questions in natural language and get Answers backed by private sources. Connects to tools like Slack, GitHub, Confluence, etc.](https://github.com/danswer-ai/danswer)
## **文章**
**注意:由于langchain或langchain-ChatGLM的更新,可能导致部分源码和讲解的有所差异。**
有的一些文章直接放的是一些链接,从网上收集整理而来。
****
- langchain组件-数据连接(data connection)
- langchain组件-模型IO(model IO)
- langchain组件-链(chains)
- langchain组件-代理(agents)
- langchain组件-内存(memory)
- langchain组件-回调(callbacks)
- langchain中ChatOpenAI背后做了什么.md
- langchain.load.serializable.py.md
- langchain中的一些schema.md
- langchain中是怎么调用chatgpt的接口的.md
- langchain结构化输出背后的原理,md
- langchain中memory的工作原理.md
- langchain怎么确保输出符合道德期望.md
- langchain中路由链LLMRouterChain的原理.md
- langchain中的EmbeddingRouterChain原理.md
- langchain集成GPTCache.md
- langchain集成Mivus向量数据库.md
- langchain中的StreamingStdOutCallbackHandler原理.md
- pydantic中config的一些配置.md
- pydantic中的Serializable和root_validator.md
- python中常用的一些魔术方法.md
- python的typing常用的类型.md
- python中functools的partial的用法.md
- python中inspect的signature用法.md
- python中args和kwargs.md
- [我为什么放弃了 LangChain? - 知乎 (zhihu.com)](https://zhuanlan.zhihu.com/p/645358531)
目前基于langchain的中文项目有两个:
- https://github.com/yanqiangmiffy/Chinese-LangChain
- https://github.com/imClumsyPanda/langchain-ChatGLM
我们从中可以学到不少。
#### langchain-ChatGLM
- 使用api部署langchain-chatglm的基本原理.md
- 上传文档时发生了什么.md
- 关于HuggingFaceEmbeddings.md
- 关于InMemoryDocstore.md
- 关于CharacterTextSplitter.md
- 关于TextLoader.md
- 关于怎么调用bing的搜索接口.md
- 根据query得到相关的doc的原理.md
- 根据查询出的docs和query生成prompt.md
- 根据prompt用模型生成结果.md
- [ChatGPT小型平替之ChatGLM-6B本地化部署、接入本地知识库体验 | 京东云技术团队](https://juejin.cn/post/7246408135015415868)
## **中文例子**
- 定制中文LLM模型
- 定制中文聊天模型
- 使用中文splitter.md
- 根据query查询docs.md
- mini-langchain-ChatGLM.md
- 打造简易版类小爱同学助手.md
- chatglm实现agent控制.md
- [向量检索增强chatglm生成-结合ES](https://zhuanlan.zhihu.com/p/644619003)
- [知识图谱抽取LLM - 知乎 (zhihu.com)](https://zhuanlan.zhihu.com/p/645509983)
## **英文例子**
- langchain使用openai例子.md(文本翻译)
- openai调用chatgpt例子.md
- langchain解析结果并格式化输出.md
- langchain带有记忆的对话.md
- langchain中使用不同链.md
- langchain基于文档的问答md
- [使用GGML和LangChain在CPU上运行量化的llama2](https://zhuanlan.zhihu.com/p/644701608)
- [本地部署开源大模型的完整教程:LangChain + Streamlit+ Llama - 知乎 (zhihu.com)](https://zhuanlan.zhihu.com/p/639565332)
## prompt工程.md
一个优化的prompt对结果至关重要,感兴趣的可以去看看这个。
[yzfly/LangGPT: LangGPT: Empowering everyone to become a prompt expert!🚀 Structured Prompt,结构化提示词。 (github.com)](https://github.com/yzfly/LangGPT):构建结构化的高质量prompt
## **langchain可能存在一些问题**
虽然langchain给我们提供了一些便利,但是也存在一些问题:
- **无法解决大模型基础技术问题,主要是prompt重用问题**:首先很多大模型应用的问题都是大模型基础技术的缺陷,并不是LangChain能够解决的。其中核心的问题是大模型的开发主要工作是prompt工程。而这一点的重用性很低。但是,这些功能都**需要非常定制的手写prompt**。链中的每一步都需要手写prompt。输入数据必须以非常特定的方式格式化,以生成该功能/链步骤的良好输出。设置DAG编排来运行这些链的部分只占工作的5%,95%的工作实际上只是在提示调整和数据序列化格式上。这些东西都是**不可重用**的。
- **LangChain糟糕的抽象与隐藏的垃圾prompt造成开发的困难**:简单说,就是LangChain的抽象工作不够好,所以很多步骤需要自己构建。而且LangChain内置的很多prompt都很差,不如自己构造,但是它们又隐藏了这些默认prompt。
- **LangChain框架很难debug**:**尽管LangChain很多方法提供打印详细信息的参数,但是实际上它们并没有很多有价值的信息**。例如,如果你想看到实际的prompt或者LLM查询等,都是十分困难的。原因和刚才一样,LangChain大多数时候都是隐藏了自己内部的prompt。所以如果你使用LangChain开发效果不好,你想去调试代码看看哪些prompt有问题,那就很难。
- **LangChain鼓励工具锁定**:LangChain鼓励用户在其平台上进行开发和操作,但是如果用户需要进行一些LangChain文档中没有涵盖的工作流程,即使有自定义代理,也很难进行修改。这就意味着,一旦用户开始使用LangChain,他们可能会发现自己被限制在LangChain的特定工具和功能中,而无法轻易地切换到其他可能更适合他们需求的工具或平台。
以上内容来自:
- [Langchain Is Pointless | Hacker News (ycombinator.com)](https://news.ycombinator.com/item?id=36645575)
- [使用LangChain做大模型开发的一些问题:来自Hacker News的激烈讨论~](https://zhuanlan.zhihu.com/p/642498874)
有时候一些简单的任务,我们完全可以自己去实现相关的流程,这样**每一部分都由我们自己把控**,更易于修改。
# 使用langchain解决复杂任务
## 方法一:领域微调LLM
使用领域数据对LLM进行微调,受限于计算资源和模型参数的大小,而且模型会存在胡言乱语的情况。这里面涉及到一系列的问题:
- 数据怎么获取,怎么进行数据清理。
- 分词使用什么方式。
- 模型采用什么架构,怎么训练,怎么评估模型。
- 模型怎么进行有效推理,怎么进行部署。
- 领域预训练、领域指令微调、奖励模型、结果对齐。
## 方法二:langchain + LLM + tools
基本思路:
1、用户提问:请对比下商品雅诗兰黛特润修护肌活精华露和SK-II护肤精华?
2、RouterChain问题路由,即使用哪种方式回答问题:(调用一次LLM)
- RouterChain可以是一个LLM,也可以是一个embedding,去匹配到合适的解决方案,如果没有匹配到任何解决方案,则使用模型内部知识进行回答。
- 这里匹配到**商品对比**这一问题,得到解决方案:(1)调用商品搜索工具得到每一个商品的介绍。(2)通过搜索结果对比这些商品。
3、使用Planner生成step:(调用一次LLM)
- 根据解决方案生成合适的steps,比如:(1)搜索雅诗兰黛特润修护肌活精华露。(2)搜索SK-II护肤精华。(3)对比上述商品。
4、执行者Executer执行上述步骤:(调用steps次LLM,n是超参数表明调用的最大次数)
- 需要提供工具,每个step的问题,需要调用llm生成每个工具的调用参数。
- 调用工具获取结果。
5、对所有的结果进行汇总。(调用一次LLM)
## 方法三:langchain + LLM + 检索
相比于方案1,不使用工具,直接根据问题进行对数据库进行检索,然后对检索到的结果进行回答。
检索的方式可以是基于给定问题的关键字,使用ES工具从海量数据库中检索到可能存在答案的topk段落。把这topk个段落连同问�
没有合适的资源?快使用搜索试试~ 我知道了~
《AI大模型应用》--langchain学习笔记,包含源码解读、使用中文模型、实例等。.zip
共85个文件
md:56个
png:12个
webp:8个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 77 浏览量
2024-07-19
17:14:32
上传
评论
收藏 9.25MB ZIP 举报
温馨提示
个人深耕AI大模型应用领域积累的成果,希望对您有所帮助。有大模型账号、环境问题、AI大模型技术应用落地方案等相关问题,欢迎详聊,能为您解决问题是我的荣幸! 个人深耕AI大模型应用领域积累的成果,希望对您有所帮助。有大模型账号、环境问题、AI大模型技术应用落地方案等相关问题,欢迎详聊,能为您解决问题是我的荣幸! 个人深耕AI大模型应用领域积累的成果,希望对您有所帮助。有大模型账号、环境问题、AI大模型技术应用落地方案等相关问题,欢迎详聊,能为您解决问题是我的荣幸! 个人深耕AI大模型应用领域积累的成果,希望对您有所帮助。有大模型账号、环境问题、AI大模型技术应用落地方案等相关问题,欢迎详聊,能为您解决问题是我的荣幸! 个人深耕AI大模型应用领域积累的成果,希望对您有所帮助。有大模型账号、环境问题、AI大模型技术应用落地方案等相关问题,欢迎详聊,能为您解决问题是我的荣幸!
资源推荐
资源详情
资源评论
收起资源包目录
《AI大模型应用》--langchain学习笔记,包含langchain源码解读、langchain中使用中文模型、langchain实例等。.zip (85个子文件)
prompt工程.md 9KB
data
test_corpus.txt 46KB
智能体-llama_generative_agent源码解读.md 33KB
文章
langchain集成Mivus向量数据库.md 2KB
python的typing常用的类型.md 2KB
pydantic中config的一些配置.md 3KB
langchian中的ChatPromptTemplate原理.md 19KB
langchain中LLMChain原理.md 53KB
langchain.load.serializable.py.md 9KB
python中常用的一些魔术方法.md 3KB
langchain结构化输出背后的原理.md 11KB
langchain怎么确保输出符合道德期望.md 7KB
pydantic中的Serializable和root_validator.md 6KB
python中functools的partial的用法.md 1KB
langchain怎么确保输出符合道德期望.assets
v2-284fd837e5c016ddd36faee89a37d4bb_720w.webp 64KB
v2-725a02272610a6350432470a454603e1_720w.webp 50KB
v2-81e9dab51a9ff43f053757f487ce58bf_720w.webp 29KB
v2-e5d301aa4517b10cb59e295d9cce466a_720w.png 8KB
v2-0f651841755c0ce57095ee1c92a61180_720w.png 5KB
langchain中的StreamingStdOutCallbackHandler原理.md 4KB
langchain集成GPTCache.md 3KB
langchain中是怎么调用chatgpt的接口的.md 14KB
langchain中initialize_agent的原理.md 46KB
langchain中的一些schema.md 47KB
langchain中memory的工作原理.md 9KB
langchain中路由链LLMRouterChain的原理.md 13KB
python中args和kwargs.md 1KB
langchain-chatglm
关于CharacterTextSplitter.md 17KB
根据查询出的docs和query生成prompt.md 1KB
关于怎么调用bing搜索接口.md 4KB
根据prompt用模型生成结果.md 17KB
使用api部署langchain-chatglm的基本原理.md.md 27KB
上传文档时发生了什么.md 21KB
关于InMemoryDocstore.md 4KB
根据query得到相关的doc的原理.md 9KB
关于HuggingFaceEmbeddings.md 25KB
关于TextLoader.md 14KB
langchain中ChatOpenAI背后做了什么.md 20KB
官方文档学习
组件-链.pdf 1.84MB
组件-模型IO.assets
9ed90e22-7497-4460-81ce-d1f703e4b9e7.png 278KB
组件-链.assets
36e9dd56-7066-4d54-897e-f38c756f8e5e.png 229KB
e9dbda41-d4d7-474d-8fbd-84c0e50808ad.png 521KB
7de280fc-389b-4081-af01-ad5d0685d7b1.png 595KB
db684c44-a7cf-452e-978d-14c119b8bbe7.png 384KB
组件-内存.pdf 547KB
组件-数据连接.pdf 1.3MB
组件-链.md 89KB
初步认识.pdf 214KB
初步认识.md 7KB
组件-数据连接.assets
dfe7b878-3c1d-4123-ae5c-cd17758a29b1.png 193KB
f221f652-1c2f-45f7-9a15-222c16106770.png 525KB
f03e9b67-b107-4225-8920-71f8b7e0ac76.png 256KB
组件-回调.md 33KB
组件-代理.pdf 1.03MB
组件-内存.md 105KB
组件-数据连接.md 79KB
组件-模型IO.md 69KB
组件-回调.pdf 279KB
组件-模型IO.pdf 721KB
组件-代理.md 246KB
langchain中的EmbeddingRouterChain原理.md 4KB
python中inspect的signature用法.md 800B
langchain中的一些schema.assets
image-20230706174323824.png 11KB
README.assets
640.png 145KB
中文例子
根据query查询docs.md 14KB
chatglm实现agent控制.assets
v2-3e8e500321140396dfe4a4ae6b120fd4_720w.webp 20KB
chatglm实现agent控制.md 115KB
mini-langchain-ChatGLM.md 17KB
定制中文聊天模型.md 7KB
打造简易版类小爱同学助手.md 5KB
定制中文模型.md 4KB
README.md 1KB
使用中文splitter.md 6KB
英文例子
openai调用chatgpt例子.md 692B
langchain中使用链.assets
287263118276474996f72c503eddb984tplv-k3u1fbpfcp-zoom-in-crop-mark1512000.webp 29KB
eae7d59e0da7494e899175a500a8990etplv-k3u1fbpfcp-zoom-in-crop-mark1512000.webp 27KB
257f9fc8ce224d1784c0a5886696026btplv-k3u1fbpfcp-zoom-in-crop-mark1512000.webp 34KB
langchain基于文档的问答.md 14KB
langchain中使用不同的链.md 14KB
langchain解析结果并格式化输出.md 3KB
langchain使用openai例子.md 1KB
langchain带有记忆的对话.md 9KB
README.md 12KB
prompt工程.assets
v2-7b3d72c23ca12e980564897f16923a9e_1440w.webp 31KB
v2-15b0f2e85c19c728a790e2e18e2ab51a_r.jpg 84KB
共 85 条
- 1
资源评论
季风泯灭的季节
- 粉丝: 2045
- 资源: 3370
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 数据分析-泰坦尼克号幸存者预测
- DataStructure-二叉树的深度
- htt-code-share-圣诞树代码html
- 基于随机森林、LSTM、SVM、线性回归四种机器学习方法预测股价项目源码(高分项目)
- 随机森林、LSTM、SVM、线性回归四种机器学习方法预测股价项目源码(高分大作业)
- 超声波去披锋机3D图纸和工程图机械结构设计图纸和其它技术资料和技术方案非常好100%好用.zip
- 123456445678645
- 点此安装准易云课V2.zip
- 机械设计葡萄采摘机含工程图仿真说明书sw12可编辑非常好的设计图纸100%好用.zip
- 开盘啦5.17.0.0.apk
- 机械设计特斯拉model x汽车电子系统及线束总成 Catia非常好的设计图纸100%好用.zip
- Hadoop技术 期末考核方案(A卷)大数据2301班(1).docx
- 机械设计转盘式全自动卡针焊接机含工程图sw19可编辑非常好的设计图纸100%好用.zip
- 毕业设计基于Python+Django+Vue+MySql开发的前后端分离的贫困生资助管理系统源码+数据库
- 基于STM32单片机的智能空气监测系统源码(高分毕业设计)
- 基于stm32的环境监测系统源码(高分毕业设计).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功