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应用的过程,也能极大加快普通人从想法到实际落地的速度。

以上为分享全部内容。

 

相关实践学习
达摩院智能语音交互 - 声纹识别技术
声纹识别是基于每个发音人的发音器官构造不同,识别当前发音人的身份。按照任务具体分为两种: 声纹辨认:从说话人集合中判别出测试语音所属的说话人,为多选一的问题 声纹确认:判断测试语音是否由目标说话人所说,是二选一的问题(是或者不是) 按照应用具体分为两种: 文本相关:要求使用者重复指定的话语,通常包含与训练信息相同的文本(精度较高,适合当前应用模式) 文本无关:对使用者发音内容和语言没有要求,受信道环境影响比较大,精度不高 本课程主要介绍声纹识别的原型技术、系统架构及应用案例等。 讲师介绍: 郑斯奇,达摩院算法专家,毕业于美国哈佛大学,研究方向包括声纹识别、性别、年龄、语种识别等。致力于推动端侧声纹与个性化技术的研究和大规模应用。
相关文章
|
1天前
|
人工智能 搜索推荐
AI视频技术的发展是否会影响原创内容的价值
AI视频技术的发展显著降低了视频制作的门槛与成本,自动完成剪辑、特效添加等繁琐工作,大大缩短创作时间。它提供个性化创意建议,帮助创作者突破传统思维,拓展创意边界。此外,AI技术使更多非专业人士也能参与视频创作,注入新活力与多样性,丰富了原创内容。总体而言,AI视频技术不仅提升了创作效率,还促进了视频内容的创新与多样化。
|
10天前
|
机器学习/深度学习 人工智能 自然语言处理
AI写作新时代:自然语言生成技术与写作助手的结合
AI写作新时代:自然语言生成技术与写作助手的结合
56 16
|
9天前
|
存储 人工智能 监控
AI视频监控技术在公租房管理中的应用:提升监管精准度与效率
该AI视频监控系统具备1080P高清与夜视能力,采用深度学习技术实现高精度人脸识别(误识率1%),并支持实时预警功能,响应时间小于5秒。系统支持私有化部署,保障数据隐私安全,适用于大规模公租房社区管理,可容纳10万以上人脸库。基于开源架构和Docker镜像,一键部署简单快捷,确保24小时稳定运行,并提供详细的后台数据分析报表,助力政府决策。
|
13天前
|
数据采集 人工智能 运维
从企业级 RAG 到 AI Assistant,阿里云Elasticsearch AI 搜索技术实践
本文介绍了阿里云 Elasticsearch 推出的创新型 AI 搜索方案。
|
5月前
|
存储 Java
【IO面试题 四】、介绍一下Java的序列化与反序列化
Java的序列化与反序列化允许对象通过实现Serializable接口转换成字节序列并存储或传输,之后可以通过ObjectInputStream和ObjectOutputStream的方法将这些字节序列恢复成对象。
|
2月前
|
存储 缓存 算法
面试官:单核 CPU 支持 Java 多线程吗?为什么?被问懵了!
本文介绍了多线程环境下的几个关键概念,包括时间片、超线程、上下文切换及其影响因素,以及线程调度的两种方式——抢占式调度和协同式调度。文章还讨论了减少上下文切换次数以提高多线程程序效率的方法,如无锁并发编程、使用CAS算法等,并提出了合理的线程数量配置策略,以平衡CPU利用率和线程切换开销。
面试官:单核 CPU 支持 Java 多线程吗?为什么?被问懵了!
|
2月前
|
存储 算法 Java
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
本文详解自旋锁的概念、优缺点、使用场景及Java实现。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
|
2月前
|
存储 缓存 Java
大厂面试必看!Java基本数据类型和包装类的那些坑
本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
82 4
|
3月前
|
算法 Java 数据中心
探讨面试常见问题雪花算法、时钟回拨问题,java中优雅的实现方式
【10月更文挑战第2天】在大数据量系统中,分布式ID生成是一个关键问题。为了保证在分布式环境下生成的ID唯一、有序且高效,业界提出了多种解决方案,其中雪花算法(Snowflake Algorithm)是一种广泛应用的分布式ID生成算法。本文将详细介绍雪花算法的原理、实现及其处理时钟回拨问题的方法,并提供Java代码示例。
120 2
|
3月前
|
JSON 安全 前端开发
第二次面试总结 - 宏汉科技 - Java后端开发
本文是作者对宏汉科技Java后端开发岗位的第二次面试总结,面试结果不理想,主要原因是Java基础知识掌握不牢固,文章详细列出了面试中被问到的技术问题及答案,包括字符串相关函数、抽象类与接口的区别、Java创建线程池的方式、回调函数、函数式接口、反射以及Java中的集合等。
45 0

热门文章

最新文章