最近在学习LangChain,langchain的第一个入门应用就是和ChatGPT结合形成的一个AI客服,本期文章就带大家一起认识下
LangChain
LangChain
是现在用得最多的AI框架,langchain
在帮助如基于文档数据的回答、聊天机器人和代理这类的应用程序
langchain网址:github.com/sugarforeve…
OpenAI
ChatGPT就是OpenAI开发的一种基于人工智能技术的自然语言处理模型,它的API允许开发人员通过简单的API调用来访问这些模型
LangChain与OpenAI结合实现AI客服
准备工作:
Colab
我们使用Google Colab在线平台运行python代码
Google Colaboratory
是由Google提供的云端开发环境,用户可以直接在浏览器中编写和执行python代码
OpenAI API Key
点击:platform.openai.com/api-keys 创建你的APIKey
注:每个ChatGPT账号都有5$额度的APIKey,同一个手机号注册的第n(n>=2)个账号将没有免费额度的APIKey
第一个LangChain应用——AI客服
这个程序只有需要2行安装指令和7行代码
-
来到colab官网新建一个笔记本
-
安装指令
新建代码,输入并运行如下代码:
!pip install langchain==0.0.316
!pip install openai==0.28.1
!pip install langchain==0.0.316
安装langchain极简AI开发框架,细心的你会发现,此时的langchain版本还未到1.0.0,这里介绍下版本号
主版本号.次版本号.修订号
一般来说,主版本号代表软件重大变更,次版本号代表一些新功能,修订号代表修复的bug或小改进
另外,如果项目到了1.0.0版本,出了问题就需要负商业责任,目前langchain还没有到这个版本
!pip install openai==0.28.1
这里安装的并非openai最新版本,如果这里你没有指名版本就代表安装最新版本,截至目前,openai最新版本是1.3.9。不用新版本的原因是:OpenAI新版本更新后,与LangChain的0.0.316不兼容,会报错! 这里如果你是第一个发现这个bug的人,你可以向langchain作者的源代码提交代码,我们先把AI客服介绍完,再带大家了解如何向大佬开源项目提交代码
-
7行代码
from langchain.chat_models import ChatOpenAI from langchain.schema import HumanMessage import os os.environ['OPENAI_API_KEY'] = '您的有效apiKey' chat = ChatOpenAI(temperature=0, model_name="gpt-3.5-turbo") response = chat([HumanMessage(content="Hello LangChain!")]) print(response)
from langchain.chat_models import ChatOpenAI
中chat_models
是个接口,他引入一个聊天模型from langchain.schema import HumanMessage
我们把问题传给HumanMessage
,这里有三种角色,system,assistance,user,system是规定做什么,assistance就是助理,user就是我们import os
引入文件系统os.environ['OPENAI_API_KEY'] = ''
设置环境变量,langchain会自动从环境变量中拿到keychat = ChatOpenAI(temperature=0, model_name="gpt-3.5-turbo")
这里是实例化对象,不需要new,temperature是设置自由度(0,1)值越大越发散,越不可控。response = chat([HuamnMessage(content="Hello LangChain!")])
给HumanMessage聊天对象传递一个数组,实现第一次对话
4. 运行代码
如何向开源项目提交代码?
-
fork到自己的本地仓库
加入到自己的仓库,才有提交权限
-
发现了人家的bug,或者人家需要我们做的job
把活干完,并且完成测试 add commit 并且push
-
提交到我们自己的远程仓库
-
点进这次提交,然后create pull request
然后描述问题,怎么解决的,截图,最后提交
-
远程仓库的代码就会比人家的仓库多点东西,人家就收到合并代码的请求,人家去check,merge到自己的仓库,然后自己就会成为开发者,contributors就会有自己的头像
这里我们就以发现了“OpenAI新版本更新后,与LangChain的0.0.316不兼容,会报错!”为例,frok后,我们可以去指定路径打开终端输入如下指令下载到该路径中去
git config --global user.name"你的github用户名"
git config --global user.name"你的github主邮箱"
git clone https://github.com/sugarforever/wtf-langchain.git // 该链接为Code按钮中的Local-HTTPS链接
于是修改人家的readme.md,指名需要低版本的OpenAI版本,然后终端中输入如下指令去提交
git add .01_Hello_LangchainREADME.md
git commit -m 'openai新版本不兼容,指定版本回退'
git push origin main
然后去Create Pull Requests,title写“fixed openai version bug”,然后提交的请求可以送到作者那边去,作者要是check并merge到了自己的仓库,你就会成为该项目的开发者,contributors就会有自己的头像
如果你是刚毕业的大学生,有这种经历,你是完全可以写进简历中的,当然,前提是人家的开源项目的stars足够多
总结
本期文章我们入门了LangChain,了解了OpenAI与它的关系,并实现了AI客服功能,LangChain给我们带来了很多惊喜,它让AI开发变得十分简单,如果觉得文章对你学习有所帮助,还请”点赞+评论+收藏“一键三连,感谢支持!