赞
踩
随着LLM(Large language models )的发展,不仅仅出现了很多新的应用,一些开发框架也发展很快,典型的就是本文介绍的项目——LangChain,目前LangChain几乎一天一个版本,几个月时间Star数目已经49k+。
LangChain是一个开源框架,能够把LLM的能力做为一个模块与其他能力组合,创造新的功能更强大的应用。
本文先阐述了LangChain解决的问题与背景,然后介绍LangChain中的基本概念,第三部分使用LangChain的python框架,用100行代码实现了一个简单的答疑机器人,通过此示例,能对LangChain的应用场景有个快速的认知。
官方的表述:“Building applications with LLMs through composability”,LangChain的目的是为了开发应用,通过模块组合的方式使用LLM,并与其他模块组合的方式来创造应用。
使用LangChain的目的是Building applications ,下面从两个方面分析下在开发应用过程中LangChain能解决的问题,一是从一个框架的角度,也就是“连接”的角度,二是从对于目前LLM模型能力补充的角度,LangChain中不少设计也是针对于此。
LLM取得了快速发展,能够基于LLM实现新的功能更强大的应用,但如果只使用LLM的能力,能做的事情是非常有限的,典型的是看到的对话交互。LangChain能够连接LLM的能力与目前已有的其他能力,创造能力更强大的应用。有些类似于ChatGPT支持插件,但LangChain作为一个框架,把LLM抽象为一个模块,也就是说这个LLM的模式是可以替换的,比如集成公司自研的模型。
训练的数据只到2021年,一些新的信息无法纳入。OpenAI不同模型的数据可以参考:OpenAI Models。解决这个问题,LangChain能够集成搜索引擎模块,在处理问题时,如果是最新的事件,通过搜索引擎来获取数据并分析。
token指的是 OpenAI 处理文本的基本单位。例如,“hamburger” 被分成 “ham”、“bur” 和 “ger” 三个 Token,而 “pear” 是一个 Token。1个 Token 大约相当于 4 个字符或者 0.75 个英文单词。而且中文相对英文,使用的token更多(“你好,世界” 11个token,"Hello World"只有两个token),可以使用OpenAi提供的token分析器来分析,地址:https://platform.openai.com/tokenizer。
GPT3.5不同模型token为4k到8k,GPT4模型有8k和32k的tokens模型。不同模型的token可以参考:OpenAI Models,OpenAi的官方说明:What are tokens and how to count them?。
LangChain在一些场景下能部分解决这个问题,比如检索分析本地资源场景,通过本地构建embedding的库,搜索结果后,让LLM组织语言来回答。embedding简单可以理解为文本的向量化,向量化后能够让机器来计算文本的相似程度。在对话场景下,如果需要记录聊天记录,LangChain有专门的Memory模块来实现此能力。
本章节主要目的不是系统介绍LangChain中的概念,主要目的是能让未接触过LangChain的同学能有个快速认知,主要关注于Chain与Agent组件。学习一门技术最好的方式是阅读官方文档,学习LangChain也是,需要要系统学习,可以参考文档,LangChain的文档地址:https://www.wpsshop.cn/w/我家自动化/article/detail/475634
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。