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

相关推荐
simodai几秒前
机器学习1.Anaconda安装+环境配置
人工智能·机器学习
知否技术3 分钟前
别再踩坑了!这份 Vue3+TypeScript 项目教程,赶紧收藏!
前端·typescript
IT_陈寒7 分钟前
JavaScript 2024:10个颠覆你认知的ES新特性实战解析
前端·人工智能·后端
ModelWhale12 分钟前
AI教育白皮书解读 | 医学教育数智化转型新机遇,“人工智能+”行动实践正当时
人工智能·ai
大模型真好玩13 分钟前
大模型工程面试经典(五)—大模型微调与RAG该如何选?
人工智能·面试·deepseek
meng半颗糖16 分钟前
JavaScript 性能优化实战指南
前端·javascript·servlet·性能优化
EndingCoder18 分钟前
离线应用开发:Service Worker 与缓存
前端·javascript·缓存·性能优化·electron·前端框架
遗憾随她而去.30 分钟前
css3的 --自定义属性, 变量
前端·css·css3
九章云极AladdinEdu2 小时前
临床数据挖掘与分析:利用GPU加速Pandas和Scikit-learn处理大规模数据集
人工智能·pytorch·数据挖掘·pandas·scikit-learn·paddlepaddle·gpu算力
上海锝秉工控2 小时前
超声波风向传感器:以科技之翼,捕捉风的每一次呼吸
大数据·人工智能·科技