AI+树莓派=阿里P8技术专家。模拟面试、学技术真的太香了 | 手把手教学

简介: 本课程由阿里P8技术专家分享,介绍如何使用树莓派和阿里云服务构建AI面试助手。通过模拟面试场景,讲解了Java中`==`与`equals`的区别,并演示了从硬件搭建、语音识别、AI Agent配置到代码实现的完整流程。项目利用树莓派作为核心,结合阿里云的实时语音识别、AI Agent和文字转语音服务,实现了一个能够回答面试问题的智能玩偶。课程展示了AI应用的简易构建过程,适合初学者学习和实践。

AI+树莓派=阿里P8技术专家。模拟面试、学技术真的太香了 | 手把手教学


 

本课程由讲师御风大世界分享。

 

A:在java中==运算符和equals方法用于对象比较时。它们之间有什么区别。各自在什么场景下使用最为合适?

B:==比较的是值相等。equals比较的是地址是否相等。

A:上述描述比较java中的两种equality检查方式,表达不够准确。


上面最近做的项目AI面试助手。下面拆解项目如何实现。首先外观部分废弃的毛绒玩具。内部核心是树莓派开发板,或者可以叫小电脑。这一类开发板价格会贵一些。,但集成度更高。也可以选择其他开发板来代替。实验思路都一样。树莓派自带wifi模块。所以联网的问题不用担心。同时也预留USB的接口。像音频的输入输出或者安装摄像头模块,都可以快速方便的集成。可以把树莓派理解为一个集成度比较高的小电脑。然后安装麦克风和音响。可以听到说话,也可以去播放想要播放的语音或者音乐。

下面进入软件的部分。首先一个简单的架构图。可以看到整个流程非常简单。人通过麦克风讲话。可以使用阿里云提供的实时语音识别服务,把说话语音转变成文字。拿到文字以后将这段文字投喂给之前配置的AI Agent。AI agent经过一系列内部的分析计算,从而给出答复。


再次调用文字转语音的服务。将文字内容通过喇叭或者音响播放出来。整体的流程就是这样。

图片1(1).png

首先登录阿里云。在产品搜索智能语音交互。点击控制台。提示还没有开通服务。跟随指引进行开通。

目前所有服务都有三个月免费试用期。直接点击开通。配置项目。需要填入一些必要的信息。配置完成有项目的基本信息。右侧有演示模块。可以测试麦克风实时语音转写文字。包括文字转语音的效果。

图片1(2).png

接下来需要配置AI Agent。来到阿里云的百炼平台。点击我的应用。创建应用。模型选择的是通义千问的Max版本。接下来写提示词。需要让AI解决什么问题就详细把它描述出来。最后点击prompt优化。一个高水准的提示词就搞定了。

图片1(6).png 打开知识检索增强。指定知识库。这样AI在回答时就会在给定的范围里面寻找答案。一开始是没有知识的,点击上传新知识。然后选择非结构化数据或者结构化数据两种类型。比如可以上传面试的PDF。它就属于非结构化数据。也可以为数据添加不同的类目。这样管理起来会更加清爽。最后点击导入数据上传PDF就可以。到这一步只是上传数据。

图片1(3).png

还需要做数据的应用。对刚才的数据创建知识索引。创建知识库,填写名字和描述。其他的地方保持不变。点击下一步。选择让百炼处理的数据(刚才上传的PDF)。最后点击导入完成。这样就创建属于自己的知识库。

图片1(4).png

再次回到应用配置的地方,选择知识库可以看到刚才配置的知识库。其他地方保持不变。下面在右侧的对话框进行提问。AI给出的响应速度非常快。最后点击发布。AI agent就生效或者上线了。

图片1(5).png

接下来需要演示如何使用代码把上面的服务和硬件集成起来。来到代码编辑器idea里面。看完实现逻辑以后无论使用python、 Js或者是Go语言都可以轻松实现。首先需要写TOKEN的缓存或者刷新类。在调用阿里云交互时需要告诉阿里云app_key或者access_ token。就是一个服务标识(身份标识)。

图片1(7).png

定时任务是用来定时刷新TOKEN的。同时在项目启动时把第一次的TOKEN放到缓存当中。这里是简单的demo,所以直接使用内存缓存。大家也可以使用redis或者其他存储方式,然后去实施语音服务的调用。这里写了handler,其实在阿里云的文档当中有非常详细的demo示例,可以直接拿过来用。

图片1(8).png

接下来启动看输出的语音识别的结果。识别的过程非常流畅。而且在控制台实时打印识别的文字内容。

图片1(9).png

接下来需要实现AI agent的调用。参考官方的例子进行改写。运行完测试代码之后,看到提问和回复的过程比较快。

图片1(10).png

接下来把语音模块和AI agent模块打通。按照最早的架构图实现。

先让语音模块识别到人的语音,然后转写成文字,再调用AI agent。拿到AI agent的结果,去调用文字转语音的服务。把语音播放出来,整个过程完成。

图片1(11).png

下面把代码部署到树莓派当中。首先把java项目进行打包。生成小的jar包。就是整个项目可以执行的文件。下面需要通过SSH的方式把jar包上传到树莓派。可以理解为远程服务器。

图片1(12).png

树莓派在购买时可以让老板提前预装好系统。比如centos,ubuntu等。接下来启动项目java-jar框架再加上打包的jar包。控制台输出项目的启动日志。项目成功启动。

图片1(13).png

接下来把板子和电池都装到玩偶里面。接下来和玩偶做简单对话。

A:你好。我是来面试java工程师的。请您出一道简单点的面试题吧。

B:当然,让我们从一相对基础但十分关键的概念开始。请问在java中==运算符和equals方法用于比较对象时有何区别?请尽可能详细的描述这两种比较方式的使用场景及潜在的不同结果。

到此,ai项目已经完成。

图片1(14).png

在做项目的过程中发现AI没有很遥远。普通人也能拥有享受AI的权利。比如在项目中使用的实时语音的识别服务,AI agent的服务以及文字转写语音的服务等,都是人工智能的产品。都是非常成熟的产品化的AI工具。有这些服务的加持,极大简化构建AI应用的过程,也能极大加快普通人从想法到实际落地的速度。

以上为分享全部内容。

 

相关实践学习
达摩院智能语音交互 - 声纹识别技术
声纹识别是基于每个发音人的发音器官构造不同,识别当前发音人的身份。按照任务具体分为两种: 声纹辨认:从说话人集合中判别出测试语音所属的说话人,为多选一的问题 声纹确认:判断测试语音是否由目标说话人所说,是二选一的问题(是或者不是) 按照应用具体分为两种: 文本相关:要求使用者重复指定的话语,通常包含与训练信息相同的文本(精度较高,适合当前应用模式) 文本无关:对使用者发音内容和语言没有要求,受信道环境影响比较大,精度不高 本课程主要介绍声纹识别的原型技术、系统架构及应用案例等。 讲师介绍: 郑斯奇,达摩院算法专家,毕业于美国哈佛大学,研究方向包括声纹识别、性别、年龄、语种识别等。致力于推动端侧声纹与个性化技术的研究和大规模应用。
相关文章
|
2月前
|
人工智能 数据安全/隐私保护
如何识别AI生成内容?探秘“AI指纹”检测技术
如何识别AI生成内容?探秘“AI指纹”检测技术
421 119
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
AI检测技术:如何识别机器生成的“数字指纹”?
AI检测技术:如何识别机器生成的“数字指纹”?
285 115
|
2月前
|
人工智能 自然语言处理 算法
揭秘AI文本:当前主流检测技术与挑战
揭秘AI文本:当前主流检测技术与挑战
457 115
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
如何准确检测AI生成内容?这三大技术是关键
如何准确检测AI生成内容?这三大技术是关键
744 116
|
2月前
|
机器学习/深度学习 人工智能 算法
AI生成内容的“指纹”与检测技术初探
AI生成内容的“指纹”与检测技术初探
261 9
|
2月前
|
人工智能 自然语言处理
如何识别AI生成内容?这几点技术指标是关键
如何识别AI生成内容?这几点技术指标是关键
685 2
|
存储 Java
【IO面试题 四】、介绍一下Java的序列化与反序列化
Java的序列化与反序列化允许对象通过实现Serializable接口转换成字节序列并存储或传输,之后可以通过ObjectInputStream和ObjectOutputStream的方法将这些字节序列恢复成对象。
|
存储 算法 Java
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
本文详解自旋锁的概念、优缺点、使用场景及Java实现。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
|
存储 缓存 算法
面试官:单核 CPU 支持 Java 多线程吗?为什么?被问懵了!
本文介绍了多线程环境下的几个关键概念,包括时间片、超线程、上下文切换及其影响因素,以及线程调度的两种方式——抢占式调度和协同式调度。文章还讨论了减少上下文切换次数以提高多线程程序效率的方法,如无锁并发编程、使用CAS算法等,并提出了合理的线程数量配置策略,以平衡CPU利用率和线程切换开销。
面试官:单核 CPU 支持 Java 多线程吗?为什么?被问懵了!