初始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

  1. 进入OpenAI官网

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

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

  1. 右上角找到View API keys
  1. 创建一个新的key

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

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

第一步:

  • 安装LangChain框架
ini 复制代码
!pip install langchain==0.0.316

第二步:

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

第三步:

  • 导入LangChain中的HumanMessage,准备进行回复。
python 复制代码
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)

第四步:

  • 试试自定义
scss 复制代码
response = chat([HumanMessage(content="怎样才能变得更优秀?")])
print(response)

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

参考资料

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

相关推荐
小灰灰搞电子2 分钟前
github/gitee 操作命令详解
gitee·github
L***一2 分钟前
大数据与财务管理专业就业方向与职业发展路径探析——基于数字化时代复合型人才需求视角
人工智能
Testopia4 分钟前
AI编程实例 -- 数据可视化实战教程
人工智能·信息可视化·ai编程
0思必得08 分钟前
[Web自动化] Selenium处理Cookie
前端·爬虫·python·selenium·自动化
跨境摸鱼9 分钟前
选品别只看“需求”,更要看“供给”:亚马逊新思路——用“供给断层”挑出更好打的品
大数据·人工智能·跨境电商·亚马逊·跨境·营销策略
喵手10 分钟前
Python爬虫实战:房价/租金指数时间序列爬虫实战 - 从多页采集到趋势分析的完整方案(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·房价/租金指数时间序列·多页采集到趋势分析·采集结果sqlite到处
XX風12 分钟前
5.1 deep learning introduction
人工智能·深度学习
serve the people12 分钟前
python环境搭建 (六) Makefile 简单使用方法
java·服务器·python
m0_5648768412 分钟前
分布式训练DP与DDP
人工智能·深度学习·算法
汪碧康15 分钟前
OpenClaw 原版和汉化版windows 和Linux 下的部署实践
linux·人工智能·windows·agent·clawdbot·moltbot·openclaw