01-AI大模型智能客服 V0.1「上」

你好,我是悦创。

首发:https://mp.weixin.qq.com/s/6MTkpWZCEbFWOcUn0Vexvw

V0.1 版本我将分为上中下三篇进行书写和发布,欢迎分享和我微信进讨论群:Jiabcdefh。

计划:

  1. 会迭代好几个版本,看阅读量和点赞、分享、赞赏啥的。有人看和学还有支持我的,我就会加速更新。😭
  2. 每个版本预估3篇,三篇结束看情况是否录成视频,大家可以选择众筹让我录成视频,众筹达到200元,我就开始录视频。;
  3. 众筹方法:公众号尾部赞赏我~

迷时师渡,悟了自渡。「是度还是渡」。

  1. 纯实战,纯代码,讲落地。
  2. 一个项目,递进式地为你深入浅出。

1. V0.1 大纲

  1. 对话机器人的产品设计
  2. 大语言模型的使用
  3. 提示词工程
  4. 开发环境讲解
  5. 工程化代码讲解
  6. 答疑和总结

2. 安装库

安装 openai、pandas、tiktoken。

# 这里是依赖库,运行代码前需要先安装
!pip install openai pandas tiktoken

3. 早期的对话系统

早期,没有大语言模型的时候,我们对话系统是如何实现的?

def AssistantResponse(user_message):
    if user_message in ["你好", "Hello", "Bonjour"]:
        return "欢迎您!"
    elif user_message in ["你是谁", "你叫什么名字"]:
        return "我是机器人小悦"
    else:
        return "不好意思,我没能理解您的问题"

简单的调用进行体验一下:

user_message = "你好"
print(f'User: {user_message}\nAssistant: {AssistantResponse(user_message)}')

输出:

User: 你好
Assistant: 欢迎您!

我们可以再进行测试:

user_message = "你是"
print(f'User: {user_message}\nAssistant: {AssistantResponse(user_message)}')

输出:

User: 你是
Assistant: 不好意思,我没能理解您的问题

继续测试:

user_message = "你是谁"
print(f'User: {user_message}\nAssistant: {AssistantResponse(user_message)}')

输出:

User: 你是谁
Assistant: 我是机器人小悦

所以,你应该到这里能发现。我们现在的机器人🤖能不能正常回答,取决于:我们有没有提前预判用户可能会问的问题🙋。这种情况下,按目前的代码,只能使用穷举法。——但是,实际上是不可能的,一种语言都做不完。何况,有各类语言。用户换一种提问方式,机器人也会失效,所以早期这种实现是有很大局限性的。

中间还经历过各种不同技术驱动的系统,例如最经典的 RASA …意图识别,技能,填槽,动作

现在,有了大模型的加持,一切都不同了…

4. 大模型初体验

import openai 
# openai.api_key = 'Raplace to your API Key' 
openai.api_key = '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'

prompt = ["问题:介绍一下 AI悦创·编程一对一是什么类型的公司\n回答:"]
response = openai.Completion.create(engine="text-davinci-002", prompt=prompt, temperature=0, max_tokens=1024)
print(response['choices'][0]['text'])

输出:

AI悦创·编程一对一是一家专注于为学生提供个性化编程教育的公司。我们提供针对性的课程设置和专业的师资队伍,帮助学生学习编程,培养创新能力和解决问题的能力。

可以看见,上面大语言模型的回答并不是那么合适。会给你一个虚假的回答,也就是不懂装懂。所以,我们也需要自己拥有辨别能力。

我们,可以通过提示工程或者向量数据库等,都可以进行解决。

5. 小悦技术全景图

首先来看就是我们小悦技术架构图怎么来设计。

首先的话就是我们无论做怎样的软件系统,它都是需要有一个硬件把这个东西跑起来。我们实际上会用到 OpenAI 的 GPT 的模型,也会用到我们私有化部署的 LLaMa2 的模型,还有各种各样的 AI 模型。

那这些模型,有些是需要通过本地私有化的方式来部署,那就需要用到 GPU 了。那上层的话可能就是我们要做服务交付的时候,会用到容器相关的技术。那就会用到云计算相关的算力资源,然后还有像 docker 这种容器管理的工具和平台。

在最上层,我们利用各种中间件来解决特定的问题,例如前面提到的三种数据库。中间层则涵盖了各种大型模型,如 LAMA Two、Checker M2、OpenAI 的 GPT 模型,以及我们先前使用的 Tax Da Vinci 02 等。而在最底层,我们将进行大量的工程封装,将这些模型转化为 API,并通过UI进行简洁的展示。简而言之,这就是我们课程的核心内容,并且可以被概括为一张图。

6. 小悦关键流程图

其实,提到如 OpenAI GPT或者拉玛这样的技术,我相信大家都不陌生。但具体的实现流程是怎样的呢?其实非常直接:只要用户提出问题,系统便会给出答复,就这么简单。

Schedule,这个图不完整,后期会重新制作

当然,这是一个基本的流程。

但在实际应用中,我们会增加很多复杂性。为什么要这样做?因为简单的流程容易导致我们最初展示的那种幻觉「答非所问」问题。针对这个幻觉问题,之前我们提到过有多种解决方法。而在这门课程中,我们会采用这些方法来逐一解决这个问题。

首先,我们可以采用向量数据库的方法或者微调模型来减少幻觉的发生。这涉及到许多核心技术,例如,如何最大化地利用 OpenAI 的模型以获得最佳效果。此外,如何微调一个模型或使用向量数据库来解决特定问题都是充满挑战的话题。

这门课程涵盖的内容,只要大家能够掌握,无疑可以助你们实现个人目标,包括升职加薪等。

我们已经详细介绍了不少内容。那么,如何实现“小悦 V0.1”呢?

我们的目标是找到一个最简单的方法,使“小悦V0.1”这个版本得以实现。实际上,我们刚刚深入讨论了一个最基础的系统,用户只需提交一个问题,系统便会为其提供答复。整个过程是由一个大型模型驱动的。在实现过程中,我们还会在 UI 上使用 gradio,同时借助 LangChain 来搭建服务,利用某个开发框架进行中间过程的开发,再用 Jupyter 来调试我们的代码。

7. 小悦 V0.1 介绍

幻觉的存在导致回复的不是我们想要的,小悦对话机器人应运而生,开始打造 V0.1 版本

v0.1

要造一个小悦机器人需要些什么
  1. 得封装下服务来调用下大语言模型;
  2. 需要了解下大语言模型如何调用;
  3. 需要有一个前端来给用户操作;
  4. 需要知道用户使用的好不好;
总而言之,先做一个 POC 来验证下是可行性

“POC”是“Proof Of Concept”的缩写,中文常译为“概念验证”。这是一个实验或原型,其目的是验证某个想法、概念或理论在实际应用中是否可行。通过POC,开发者或研究者可以验证某个解决方案在特定场景中是否有效,从而避免在完整开发之前浪费时间和资源。

在我上面写出:“总而言之,先做一个 POC 来验证下是可行性”就是说,在全面开发或实施之前,先制作一个原型或实验来确认这个想法或方法是否真的可行。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

工作流能实现自动化吗?应该用什么工具?

研究显示,CRM系统工作流自动化软件不仅能简化冗余的工作且不需要监控和指导就能提高员工的工作效率。企业需要工作流自动化软件吗?答案是肯定的,工作流自动化的好处有哪些? 为什么企业需要工作流自动化软件 每家企业都希望降本增…

百面深度学习-自然语言处理

自然语言处理 神经机器翻译模型经历了哪些主要的结构变化?分别解决了哪些问题? 神经机器翻译(Neural Machine Translation, NMT)是一种使用深度学习技术来实现自动翻译的方法。自从提出以来,NMT模型经历了几个重要的…

【刷题笔记】数组-双指针||覆盖||重复元素

【刷题笔记】数组-双指针||覆盖||重复元素 目录 移除元素删除有序数组中的重复项删除有序数组中的重复项 II分析 移除元素 https://leetcode.cn/problems/remove-element/ 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并…

电商数据采集及数据监测的关注重点

当品牌需要做分析报告时,需要用到电商数据,所以分析的前提是数据采集,只有采集的数据越准确,分析的报告才有价值,同样,品牌在做数据监测的基础也是采集,如电商价格监测,需要采集到准…

Linux多线程基本概念

目录 ​编辑 1.什么是进程,线程,并发,并行 优点 缺点 什么资源是线程应该私有的呢 为什么线程切换成本更低呢 3.线程控制 pthread_create lpthread选项 makefile 代码实现 ps -aL 什么是LWP 轻量级进程ID与进程ID之间的区别 LWP与pthr…

使用HTML+CSS+JS网页设计与制作,酷炫动效科技农业网页

使用HTMLCSSJS网页设计与制作,酷炫动效科技农业网页。 可以用于家乡介绍、科技农业、图片画廊展示等个人网站的设计与制作。农业网站、家乡网站、农产品网站、旅游网站。 网站亮点 1、视觉设计:排版布局极简设计,优质的视觉体验等。 2、动…

英特尔工作站:助力专业用户实现高效创作

原创 | 文 BFT机器人 英特尔工作站是由全球知名的英特尔公司设计和开发的一款计算平台。英特尔在工作站处理器领域将其产品分为性能型和移动型两类,它的诞生旨在满足专业用户在科学、工程、设计等领域对高性能计算的需求。英特尔工作站配备了最新的英特尔处理器、大…

【Linux】23、内存超详细介绍

文章目录 零、资料一、内存映射1.1 TLB1.2 多级页表1.3 大页 二、虚拟内存空间分布2.1 用户空间的段2.2 内存分配和回收2.2.1 小对象2.2.2 释放 三、查看内存使用情况3.1 Buffer 和 Cache3.1.1 proc 文件系统3.1.2 案例3.1.2.1 场景 1:磁盘和文件写案例3.1.2.2 场景…

中通快递查询入口,根据物流更新量筛选出需要的单号记录

批量中通快递单号的物流信息,根据物流更新量将需要的单号记录筛选出来。 所需工具: 一个【快递批量查询高手】软件 中通快递单号若干 操作步骤: 步骤1:运行【快递批量查询高手】软件,并登录 步骤2:点击主…

UI彩虹外链网盘系统整站源码/PHP网盘与外链分享程序/整站+模版文件

源码简介: 全新UI彩虹外链网盘系统源码,它是PHP网盘与外链分享程序,提供了整站模版文件,前后端美化模板。 彩虹外链网盘美化模板是一款专为PHP网盘和外链分享程序设计的模板。它具备多种功能,包括支持所有格式文件的…

单片机学习3——数码管

数码管,根据内部结构,可分为共阴极数码管和共阳极数码管。七段发光管加上一个小数点,共计8段。因此,我们对它编程的时候,刚好是用一个字节。 数码管的显示方式: 1)静态显示; 2&…

小型内衣洗衣机什么牌子好?口碑最好的小型洗衣机

很多人会觉得内衣洗衣机是智商税,洗个内衣只需要两分钟的事情,需要花个几百块钱去入手一个洗衣机吗?然而清洗贴身衣物的并不是一件简单的事情,如果只是简单的搓洗,内裤上看不见的细菌也无法消除,而且对来生…

BEV+Transformer架构加速“上车”,智能驾驶市场变革开启

BEVTransformer成为了高阶智能驾驶领域最为火热的技术趋势。 近日,在2023年广州车展期间,不少车企及智能驾驶厂商都发布了BEVTransformer方案。其中,极越01已经实现了“BEVTransformer”的“纯视觉”方案的量产,成为国内唯一量产…

Vue组件的几种通信方式

这里写目录标题 Vue组件的几种通信(数据传递)方式非父子组件间通信(Bus事件总线)介绍实例 非父子通信-provide&inject1.作用2.场景3.语法4.注意 父子组件间的通信固定props属性名(v-model)介绍实例 不固…

PC8231(CC/CV)5V/2.4A同步降压芯片 频率可调 限流欠压补偿

一.概述 PC8231 是一款同步降压转换器, 该转换器可驱动输出 2.4A 负载电流。 设计允许 PC8231 在 9V 到40V 宽输入电压范围内工作。通过将 COMP/EN 引脚逻辑电平拉低来实现外部关断功能,并进入待机模式。外部补偿使反馈控制环路具有良好的线…

工业自动化配电柜监控技术,不会用就太可惜了!

随着社会的发展,电力系统在现代生活和工业中扮演着至关重要的角色。而配电柜作为电力系统的重要组成部分,其稳定运行对于保障电力供应的可靠性至关重要。 因此,为了提高配电柜的运行效率、确保电力系统的安全稳定运行,配电柜监控系…

Pycharm Available Packages显示Noting to show

使用Pycharm安装依赖包时Available packages 页面点击添加按钮后,没有任何包显示,并且无法搜索安装. 在各种网站查看到的方法如下: 1.网络问题,需要添加镜像源 点击Manage Repositories 添加一个可用的镜像源地址即可 2.打开了anaconda(那个绿色圈圈小图标),再点一下把它点…

ChatGPT进阶:提示工程的神秘面纱与实战指南

文章目录 一、提示工程的概念与原理二、提示工程的实践方法三、提示工程的挑战与展望四、实战案例分析总结《ChatGPT进阶:提示工程入门》内容简介作者简介陈颢鹏:李子菡: 目录获取方式 在人工智能领域,对话系统已经成为了一个热门…

vatee万腾的科技征途:Vatee数字化力量的新视野

在科技的浪潮中,Vatee万腾正展开一场引人注目的科技征途,以其独特的数字化力量描绘出一片新的视野。这不仅是一次技术的升级,更是一场对未来的全新探索,为我们带来了前所未有的数字化时代。 Vatee万腾以其卓越的技术实力和前瞻性的…