初始AIGC(五):LangChain框架初体验

前言

在之前的OpenAI专栏中,曾先后介绍了如何实现简单的AI客服回复、简单的图片识别、简单的情感分析以及tokenizer模块。在其中我们学习了来自Hugging Face的transformers库,它是一个流行的用于自然语言处理(NLP)的 Python 库,并导入其中的pipeline模块以实现简单情感分析。还使用了来自大众点评的中文模型以进行更准确的分析。之后还学习到了pipeline模块中引入字典SUPPORTED_TASKS ,其中包含了 Transformers 库支持的各种任务(tasks)的信息。结合PIL(Python的图片的专业库)实现了图片中物体位置的识别。最近我正在学习LangChain框架,由于是很新的框架,你在GPT3.5也搜索不到他的相关知识。下面我会简单介绍一下我的学习成果。

首先,何为LangChain框架呢?

LangChain 是一个帮助在应用程序中使用大型语言模型的编程框架。是一款Python工具,2023年2月份增加了对Typescript的支持。2023年4月份,可以支持多种 JavaScript 环境了,包括 Node.js、浏览器、Cloudflare Workers、Vercel/Next.js、Deno 和 Supabase Edge Functions。它可以让AI开发人员把像GPT-4这样的大型语言模型和外部数据结合起来。它提供了Python或JavaScript(TypeScript) 的包。

LangChain框架有什么作用

由于大模型本身存在应用局限,LangChain 可以加快基于大模型的应用构建速度。以ChatGPT为例, 其训练数据只截至 2021 年底,无法实时获取外部信息,所以你在GPT3.5都搜不到LangChain框架的信息,因为它是2022年诞生的,另一个缺点就是,通用大模型仅训练了公开的数据知识,对于一些较为专业的问题大模型会给出胡说八道的答案。目前这些缺陷都可以通过外接 API 的方式来进行改善,比如 OpenAI 官方给出了 Plugin 让 ChatGPT 可以接入互联网,用向量数据库 作为知识库对 prompt 进行处理后再对大模型进行提问等。而LangChain为开发者们提供了方便,它封装好了大量的API相关逻辑和代码实现,开发者们可以直接调用,大大加快了构建一个应用的速度。

在学习LangChain框架之前,我们得先做好一些准备工作。

获取Openai_key

进入OpenAI官网

2.使用Google账号登录(现在好像得绑定国外手机号才能进去,大家可以去网上租一个短时间的国外手机号(不是很贵,大概一块多)进行验证,)

3.登录后点击右上角Log in 会来到下面页面,点击右边的API

右上角找到View API keys

创建一个新的key

OK,拿到API keys之后,我们就可以进行今天的学习了。

我们依旧使用Colaboratory来书写代码,这个在之前的文章介绍过。今天我们只进行简单代码的书写(博主也刚入门^-^)

第一步:

安装LangChain框架
!pip install langchain==0.0.316

第二步:

安装openai,这里值得注意的是,这里版本的选择很重要,这里我们一定要指定版本为0.28.1,如果没有指定安装的版本,就会默认安装最新版得openai,但是最新版在这里不兼容!所以我们要指定OpenAI的代码,才能进行接下来的操作。
!pip install openai==0.28.1

第三步:

导入LangChain中的HumanMessage,准备进行回复。
from langchain.chat_models import ChatOpenAI
from langchain.schema import HumanMessage
import os
os.environ[‘OPENAI_API_KEY’] = ‘这里输入自己的API keys’
chat = ChatOpenAI(temperature=0,model_name=”gpt-3.5-turbo”)
# openai 接受的就是一个数组
response = chat([HumanMessage(content=”Hello LangChain!”)])
print(response)

第四步:

试试自定义
response = chat([HumanMessage(content=”怎样才能变得更优秀?”)])
print(response)

今天的内容比较简单,接下来我还会继续学习更深层次的内容,并更新我的分享。资料来源在下面的链接中,大家感兴趣的也可以去了解一下。

参考资料

-(wtf-langchain/01_Hello_Langchain at main · sugarforever/wtf-langchain (github.com))

Introduction | 🦜️🔗 Langchain

​ 

Read More 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *