LangChain打造一个AI客服

最近在学习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代码

链接:colab.research.google.com/

OpenAI API Key

点击:platform.openai.com/api-keys 创建你的APIKey

注:每个ChatGPT账号都有5$额度的APIKey,同一个手机号注册的第n(n>=2)个账号将没有免费额度的APIKey

第一个LangChain应用------AI客服

这个程序只有需要2行安装指令和7行代码

来到colab官网新建一个笔记本

安装指令

新建代码,输入并运行如下代码:

ini 复制代码
!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行代码

python 复制代码
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)
  1. from langchain.chat_models import ChatOpenAIchat_models是个接口,他引入一个聊天模型
  2. from langchain.schema import HumanMessage我们把问题传给HumanMessage,这里有三种角色,system,assistance,user,system是规定做什么,assistance就是助理,user就是我们
  3. import os引入文件系统
  4. os.environ['OPENAI_API_KEY'] = ''设置环境变量,langchain会自动从环境变量中拿到key
  5. chat = ChatOpenAI(temperature=0, model_name="gpt-3.5-turbo")这里是实例化对象,不需要new,temperature是设置自由度(0,1)值越大越发散,越不可控。
  6. response = chat([HuamnMessage(content="Hello LangChain!")])给HumanMessage聊天对象传递一个数组,实现第一次对话

4. 运行代码

如何向开源项目提交代码?

  1. fork到自己的本地仓库

    加入到自己的仓库,才有提交权限

  2. 发现了人家的bug,或者人家需要我们做的job

    把活干完,并且完成测试 add commit 并且push

  3. 提交到我们自己的远程仓库

  4. 点进这次提交,然后create pull request

    然后描述问题,怎么解决的,截图,最后提交

  5. 远程仓库的代码就会比人家的仓库多点东西,人家就收到合并代码的请求,人家去check,merge到自己的仓库,然后自己就会成为开发者,contributors就会有自己的头像

这里我们就以发现了"OpenAI新版本更新后,与LangChain的0.0.316不兼容,会报错!"为例,frok后,我们可以去指定路径打开终端输入如下指令下载到该路径中去

php 复制代码
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版本,然后终端中输入如下指令去提交

sql 复制代码
git add .\01_Hello_Langchain\README.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开发变得十分简单,如果觉得文章对你学习有所帮助,还请"点赞+评论+收藏"一键三连,感谢支持!

相关推荐
神夜大侠5 分钟前
VUE 实现公告无缝循环滚动
前端·javascript·vue.js
Fanstay9855 分钟前
人工智能技术的应用前景及其对生活和工作方式的影响
人工智能·生活
明辉光焱7 分钟前
【Electron】Electron Forge如何支持Element plus?
前端·javascript·vue.js·electron·node.js
lunch( ̄︶ ̄)9 分钟前
《AI 使生活更美好》
人工智能·生活
winfredzhang17 分钟前
如何使用 python 中的 Pillow 创建可自定义的图标生成器
python·pillow·图标·png
Hoper.J20 分钟前
用两行命令快速搭建深度学习环境(Docker/torch2.5.1+cu118/命令行美化+插件),包含完整的 Docker 安装步骤
人工智能·深度学习·docker
Shaidou_Data25 分钟前
信息技术引领未来:大数据治理的实践与挑战
大数据·人工智能·数据清洗·信息技术·数据治理技术
Elastic 中国社区官方博客26 分钟前
开始使用 Elastic AI Assistant 进行可观察性和 Microsoft Azure OpenAI
大数据·人工智能·elasticsearch·microsoft·搜索引擎·全文检索·azure
柯南二号40 分钟前
HarmonyOS ArkTS 下拉列表组件
前端·javascript·数据库·harmonyos·arkts
wyy729342 分钟前
v-html 富文本中图片使用element-ui image-viewer组件实现预览,并且阻止滚动条
前端·ui·html