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

相关推荐
dong_junshuai12 分钟前
每天一个开源项目#43 KTransformers:18.5K星的异构MoE推理引擎
github
熊猫钓鱼>_>13 分钟前
Redis 突发缓存穿透:一次完整的定位复盘
数据库·人工智能·redis·缓存·ai·agent·智能
Xzaveir33 分钟前
不要用一个状态表示“号码已认证”:企业号码身份的四域模型
android·人工智能
To_OC41 分钟前
搭 RAG 的第一个坎:网页检索答非所问?聊聊文档加载与分块的那些坑
人工智能·llm·agent
科技林总42 分钟前
图像处理领域的技术发展
人工智能·深度学习·计算机视觉
lauo43 分钟前
掌心核爆:iQOO首款小平板搭载2nm骁龙8E6,开启AI原生计算的移动终端新纪元
前端·人工智能·智能手机·重构·电脑·ai-native
wenb1n44 分钟前
MySQL诊断系列(3/6):索引分析——5个SQL揪出“僵尸索引”
数据库·人工智能·编程语言
阿里云大数据AI技术1 小时前
从向量存储到 Agentic 数据基础设施:Paimon × Milvus 如何构建 AI 原生多模态数据湖
人工智能·agent
字节跳动视频云技术团队1 小时前
一句话上线 AI Agent 应用:火山 Supabase + IGA Pages 全栈部署实践
人工智能·agent
QN1幻化引擎1 小时前
SFA 信号场注意力:用8KB参数换248x KV Cache压缩,边缘设备也能跑长序列
人工智能·算法·gitee·gitlab