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

相关推荐
正小安17 分钟前
如何在微信小程序中实现分包加载和预下载
前端·微信小程序·小程序
FreakStudio43 分钟前
全网最适合入门的面向对象编程教程:56 Python字符串与序列化-正则表达式和re模块应用
python·单片机·嵌入式·面向对象·电子diy
whaosoft-1431 小时前
大模型~合集3
人工智能
Dream-Y.ocean1 小时前
文心智能体平台AgenBuilder | 搭建智能体:情感顾问叶晴
人工智能·智能体
丶21361 小时前
【CUDA】【PyTorch】安装 PyTorch 与 CUDA 11.7 的详细步骤
人工智能·pytorch·python
春末的南方城市1 小时前
FLUX的ID保持项目也来了! 字节开源PuLID-FLUX-v0.9.0,开启一致性风格写真新纪元!
人工智能·计算机视觉·stable diffusion·aigc·图像生成
zmjia1111 小时前
AI大语言模型进阶应用及模型优化、本地化部署、从0-1搭建、智能体构建技术
人工智能·语言模型·自然语言处理
jndingxin2 小时前
OpenCV视频I/O(14)创建和写入视频文件的类:VideoWriter介绍
人工智能·opencv·音视频
_.Switch2 小时前
Python Web 应用中的 API 网关集成与优化
开发语言·前端·后端·python·架构·log4j
一路向前的月光2 小时前
Vue2中的监听和计算属性的区别
前端·javascript·vue.js