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行代码

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

1.png

  1. 安装指令

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

!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客服介绍完,再带大家了解如何向大佬开源项目提交代码

  1. 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)
    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. 运行代码

2.png

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

  1. fork到自己的本地仓库

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

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

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

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

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

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

  5. 远程仓库的代码就会比人家的仓库多点东西,人家就收到合并代码的请求,人家去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_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开发变得十分简单,如果觉得文章对你学习有所帮助,还请”点赞+评论+收藏“一键三连,感谢支持!

求赞.jpg

如何学习大模型 AGI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

-END-


👉AGI大模型学习路线汇总👈

大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

👉AGI大模型实战案例👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉AGI大模型视频和PDF合集👈

观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述
在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉获取方式:

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/17630.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端使用JavaScript实现一个LRU缓存

引言 LRU(Least Recently Used)算法是一种广泛应用于内存管理和缓存系统的策略,在微前端、状态管理以及性能优化等场景下,合理使用缓存机制能够有效提升应用性能。本文将介绍LRU算法的基本原理,并通过JavaScript实现案…

三、Ollama导入大模型(.Net8+SemanticKernel+Ollama)

Ollama导入大模型 一、导入Ollama大模型1、使用run命令2、使用Modelfile方式 二、导入自定义大模型(Ollama官网以外的大模型)三、使用OpenWebUI导入大模型 Ollama可以导入官方提供的大模型,也可以导入huggingface上的自定义大模型&#xff08…

详解布隆过滤器(含面试考点)

Bloom Filter 底层逻辑主要代码实现解析(以C为例)优缺点应用场景面试常问问题1:什么是布隆过滤器?问题2:布隆过滤器如何处理误报?问题3:如何设计布隆过滤器以最小化误报率?问题4&…

Jetpack架构组件_2. 数据绑定库

1.理论基础 数据绑定库是一个支持库,可让您使用声明性格式(而不是以程序化方式)将布局中的界面组件绑定到应用中的数据源。 布局通常使用调用界面框架方法的代码在 activity 中定义。例如,以下代码会调用 findViewById() 来查找 T…

zabbix自定义监控项

文章目录 1、配置conf文件(zabbix_agent2)linuxwindows 2、配置监控项3、配置触发器4、查看监控数据 示例自定义程序 hash_tool:输出指定目录的哈希值 调用指令: hash_tool --path [指定目录] 1、配置conf文件(zabbix_agent2) linux vim /etc/zabbix/z…

安卓获取内部存储信息

目录 前言获取存储容量 前言 原生系统设置里的存储容量到底是怎么计算的,跟踪源码,涉及到VolumeInfo、StorageManagerVolumeProvider、PrivateStorageInfo、StorageStatsManager......等等,java上层没有办法使用简单的api获取到吗&#xff1f…

深入解析Python中的两种导入方法:from...import与import

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、引言 二、from...import与import的基本区别 1. 导入方式的不同 2. 命名空间的差异 三…

Linux基础知识点总结!超详细

Linux 的学习对于一个IT工程师的重要性是不言而喻的,学好它是工程师必备修养之一。 Linux 基础 操作系统 操作系统Operating System简称OS,是软件的一部分,它是硬件基础上的第一层软件,是硬件和其它软件沟通的桥梁。 操作系统…

软件项目管理 - 作业集合

软件项目管理 - 作业集合 作业一 1、项目与日常运作的主要区别有哪些? 项目:为提供一项独特产品、服务或成果所做的临时性努力 运作:连续不断周而复始的活动 项目是一次性的,日常运作是重复进行的; 项目是以目标为导…

CI/CD:持续集成/持续部署

1. 安装docker、docker-compose # 安装Docker yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo sed -i sdownload.docker.commirrors.aliyun.com/docker-ce /…

neo4j docker安装使用,py2neo python包使用

参考:https://neo4j.com/docs/operations-manual/current/docker/introduction/ 运行: docker run --publish7474:7474 --publish7687:7687 neo4j查看: http://192***ip:7474 username/password 都是 neo4j/neo4j 简单案例 创建例子&am…

重生之 SpringBoot3 入门保姆级学习(04、 包扫描)

重生之 SpringBoot3 入门保姆级学习(04、 包扫描) 2.1 包扫描 2.1 包扫描 默认包扫描规则: SpringBootApplication 标注的就是主程序 SpringBoot 只会扫描主程序下面的包 自动的 component-scan 功能 在 SpringBootApplication 添加参数可以…

前端开发工程师——AngularJS

一.表达式和语句 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-w…

创新融合,5G+工业操作系统引领未来工厂

为加速企业完成生产制造自动化和经营管理自动化&#xff0c;从而走向未来工厂&#xff0c;蓝卓不断探索supOS工业操作系统与前沿技术的的创新融合&#xff0c;而5G技术为工业操作系统提供了更多元化的赋能手段和想象空间。目前&#xff0c;supOS围绕生产、安全、质检、监控等领…

语音转文字软件哪个好?掌握这3个方法,告别手写记录

开会多又杂&#xff0c;手写记录累死人&#xff1f; 每天的工作日程中&#xff0c;会议总是不可或缺的一部分。不论是团队讨论还是项目汇报&#xff0c;会议记录都是必不可少的。但手写记录会议内容不仅耗时耗力&#xff0c;还容易遗漏重要信息。 那么&#xff0c;有没有更高…

张驰咨询:六西格玛培训,IT界的“福尔摩斯”

六西格玛&#xff0c;这个曾以制造业为背景的管理理念&#xff0c;如今却在IT领域大放异彩。其背后的原因&#xff0c;不仅仅是因为六西格玛追求零缺陷、持续改进的核心价值观与IT行业对产品质量和用户体验的极致追求不谋而合&#xff0c;更是因为它提供了一种全新的思维方式和…

C语言作为计算机行业的基础之一,是否制约了行业本身的发展?

c不是计算机行业的基础啦&#xff0c;你想&#xff0c;c语言出现时已经有一套成熟的计算机体系&#xff0c;有基于内存地址的寻找指令、数据的工作方式&#xff0c;有汇编语言&#xff0c;那搞出c这种高级语言就很正常啊&#xff01;刚好我有一些资料&#xff0c;是我根据网友给…

西安航空学院电子工程学院领导莅临泰迪智能科技参观交流

5月26日&#xff0c;西安航空学院电子工程学院院长杨亚萍、专业教师刘坤莅临广东泰迪智能科技股份有限公司产教融合实训基地参观交流。泰迪智能科技董事长张良均、副总经理施兴、产品中心负责周东平、校企合作经理吴桂锋与泰迪智能科技韩伟进行热情了接待。双方就专业建设、协同…

Alamofire常见GET/POST等请求方式的使用,响应直接为json

Alamofire 官方仓库地址&#xff1a;https://github.com/Alamofire/Alamofire xcode中安装和使用&#xff1a;swift网络库Alamofire的安装及简单使用&#xff0c;苹果开发必备-CSDN博客 Alamofire是一个基于Swift语言开发的优秀网络请求库。它封装了底层的网络请求工作&…

正邦科技(day1)

1&#xff1a;充电桩工作了两个半小时&#xff0c;已用电量13度电&#xff08;一般的话是一个小时7度电&#xff09; 2&#xff1a;火线&#xff08;红色&#xff0c;棕色&#xff09;&#xff0c;零线&#xff08;蓝色&#xff09; 3&#xff1a;充电桩工作了两个半小时&#…