第一章 LangChain:开启大语言模型时代的钥匙
文章目录
前言
《LangChain入门指南》是目前相对全面的介绍了LangChain这个框架的内容与如何使用这个框架开发一个基于大语言模型的应用程序的一本书。如果你打算了解基于大语言模型的应用程序的基础知识或者是开发一款程序,都可以从这本书入手。
下面我将带着大家从头到尾的梳理一遍这本书的知识点,完成一些示例代码的开发。文章的结尾提供了一个基于LangChain开发的AIGC知识库平台,可以尝试使用,有任何疑问欢迎提出。
一、主要内容
1、大语言模型概述
1.1 什么是大语言模型
大语言模型是一种建立在Transformer架构上的大规模神经网络程序,其功能主要是理解和处理各种语言文字,它的优势在于它能够在多种任务中实现通用学习,不需要针对某一种语言进行定制。
想要大语言模型能够像人一样的理解和处理语言文字就得从零开始训练一个大语言模型。模型的训练方式与单词接龙类似,根据已出现的字预测下一个字,整个训练就是一个周而复始的过程,使用的文字越多越优质,训练得到的大语言模型也就越好。
1.2 大语言模型的发展
OpenAI在2022年11月30日发布了基于GPT的聊天模型ChatGPT标志着大语言模型走向全人类的新纪元。
随后国外的Anthropic推出Claude2,Meta推出LLaMa2,Google推出PalM2。 国内百度首先推出文心一言,随后阿里巴巴推出通义千问,科大讯飞推出星火,华为推出盘古3.0,腾讯推出混元。
1.3 大语言模型的应用场景
从目前的发展情况来看,大语言模型的应用范围广泛并且极其灵活,但并未确切的体现在某一个领域。与其说大语言模型能做什么,不如说你想让大语言模型做什么。目前所知的几个场景有:智能对话、文本生成、知识问答、情感分析、编程辅助。
1.4 大语言模型的基础知识
GPT是模型,ChatGPT是产品,二者不能混为一谈。ChatGPT是基于GPT经过优化开发出来的一款能进行有效对话的产品。
我们始终要铭记一个观念,就是我们在于大语言模型对话时,模型并不能真正的理解我们所表达的含义,它只是依据训练时的经验,从之前所训练的数据的经验中预测与对话内容匹配的答案。明白了这一点,也就明白了提示词的重要性,我们需要通过不断地优化我们对模型输入的话术、结构、要求,要确保我们能够获得更具体的答案。
Token
我们在使用或者训练大语言模型中通常会听到一个单词,Token。它是大语言模型在理解和处理文字时的最小单位,在英文中可能是一个符号、一个单词,在中文中可能是一个字符。在训练大语言模型时,就是通过将文字拆分成多个Token,让模型预测某一个或多个Token后面的Token来完成。
模型支持的上下文长度指的是模型在生成文本或者是理解输入文本的时候,最多可以考虑的文本长度。常见的8K就是8000个Token,32K就是32000个Token。当我们明显感受到模型的回答开始偏题或者是重复的时候就代表已经开始超出模型的理解范围了。
大语言模型的幻觉
由于大语言模型并不是真的具有记忆,也并不是真的具体文字理解和逻辑推理能力,它只是根据训练数据预测来生成。所以当输入的文字超出的模型的训练范围或是模型训练数据过于庞大,就会导致模型会给出一些看似合理但是并不正确的回答,我们称之为模型的幻觉。
大语言模型的微调
大语言模型的微调这个概念其实就是基于某一个已经训练好的模型进行小范围的参数微调,使得大语言模型能够适应某一特定的领域。具体完成的任务和完成任务的性能由微调的数据决定。
2、LangChain与大语言模型
LangChain是大语言模型的编程框架,它可以将大语言模型与其他工具、数据相结合,实现强大的应用。LangChain一开始是一个开源项目,2023年3月LangChain成为一家拥有巨大潜力的初创公司。
二、总结
大语言模型的核心技术就是Transformer架构,这个架构主要解决的问题就是使得深度神经网络能够更加精准的理解人类的自然语言。
基于这个架构,很多包括OpenAI、Anthropic、Google、百度等在内的公司纷纷训练并发布自己的大语言模型,用于应对一些智能对话、文本生成、情感分析等场景任务。LangChain就是一个集成这些平台提供的大语言模型,结合其他工具,开发应对这些任务的应用程序的框架。我们可以使用平台提供的大语言模型与LangChain结合起来,开发自己的人工智能下游应用。也可以通过微调开源大模型的方式,使得模型更加适应一些特定的领域。
基于LangChin开发的AIGC知识库:免费使用