用Jetson Orin Nano开发板做了一个AI版答案之书!

EETOP 2025-09-12 08:10

资讯配图 文章概述  

本文中,DigiKey介绍了使用Jetson Orin Nano开发板搭建电子版《答案之书》的项目,该项目通过结合大模型技术,实现了类似实物版答案之书的随机应答功能,但更具互动性和动态反馈能力。文章详细阐述了选择Jetson Orin Nano的原因,同时介绍了如何通过Ollama工具部署qwen2.5模型,以及使用SpeechRecognition API实现语音识别,最终完成电子版《答案之书》的开发。



一、什么是电子版《答案之书》?

《答案之书》是一种充满趣味的工具,使用者通过随机翻开一页来获取人生建议。这种看似玄学的方式,偶尔能带来意想不到的灵感。在《大模型实战》系列课程的第二节中,我们利用Jetson Orin Nano开发板,将这种传统概念与现代技术相结合,开发出了电子版的《答案之书》。

与传统的实物版相比,电子版《答案之书》不仅保留了随机应答的乐趣,还通过大模型技术实现了更丰富的互动性和动态反馈。用户可以通过语音提问,系统会根据问题生成更具针对性的答案,让用户体验到更智能、更有趣的交互过程。

相关课程视频,请点击文末阅读全文到DigiKey B站观看:

资讯配图

二、项目设计与实现

(一)项目概述

电子版《答案之书》的核心功能是通过语音交互为用户提供答案。具体实现过程如下:

  1. 用户通过语音提出问题,例如:“我能不能一夜暴富?”

  2. 开发板识别语音,并通过麦克风提示用户输入答案页数。

  3. 屏幕显示提示信息,并提供输入数字的界面。

  4. 用户输入页数后,系统根据页数生成并显示答案。


(二)大模型的作用

传统的实物版《答案之书》由固定短句组成,内容单一且缺乏互动性。而电子版《答案之书》借助大模型技术,能够根据用户的语音问题生成更具针对性和趣味性的答案。这种动态反馈机制让用户在轻松愉快的氛围中获得答案,极大地提升了用户体验。

资讯配图

(三)为什么选择Jetson Orin Nano?

在本地部署大模型时,硬件性能至关重要。Jetson Orin Nano凭借其卓越的性能和高效的功耗管理,成为理想的开发平台。

从下表可以看出,与前一代Jetson Nano相比,Jetson Orin Nano在各方面性能,尤其是AI算力上,有显著提升。

资讯配图

资讯配图

Jetson Orin Nano生态资源丰富,即使从未接触过Jetson系列板卡,也能通过以下资源轻松上手:

Jetson Orin Nano学习路径:

第一步:玩转 NVIDIA Deep Learning Institute 免费课程。

第二步:复现 Isaac Gym 机器人仿真案例。

第三步:用 Metropolis 框架落地智慧城市项目。

推荐开源项目:

  1. 预训练模型全家桶:NVIDIA-AI-IOT/jetson-inference

  2. 超轻量系统镜像:Qengineering/Jetson-Nano-Ubuntu-Image


(四)Jetson Orin Nano + Qwen2.5模型:快速搭建AI答案之书

Jetson Orin Nano已预装Ubuntu系统,通过Ollama工具,可以轻松拉取qwen2.5模型。

第一步:选择合适的大模型及部署工具

选择模型时,需考虑模型参数所占内存以及推理过程临时占用的内存。为了加快响应速度,选择qwen2.5模型。

部署工具选择Ollama,这是一款开源的、专注于本地化运行大语言模型(LLM)的工具。简单来说就是“让你在自己的电脑或开发板上轻松玩转AI大模型”的神器。它解决了传统大模型部署的三大痛点:复杂的配置、高昂的算力需求和云端依赖,堪称“平民玩家的AI启动器”。

在Ollama官网可以查看模型类型、内存需求和执行命令。

资讯配图

第二步:安装大模型

首先,安装jetson-containers,这是NVIDIA为Jetson系列边缘计算设备提供的官方容器化解决方案,基于Docker或NVIDIA Container Toolkit,旨在简化边缘AI应用的开发、部署和管理。

git clone https://github.com/dusty-nv/jetson-containers

jetson-containers/install.sh

然后,安装docker,并拉取ollama docker镜像

sudo apt install docker.io

docker pull ollama/ollama

接着,运行docker以及qwen2.51.5b模型

docker run -itd --name ollama ollama/ollama

docker exec -it ollama bash.

ollama run qwen2.5:1.5b

资讯配图

第三步:与大模型进行交互

docker中使用ollama运行大模型以后,下一步就是web页面或者软件app向模型发送问题,并接受回复,这就要启动Ollama容器时暴露端口,重新运行Ollama容器之后,就可以不通过终端命令行,让大模型远程问问题了。

docker run -d -p 11434:11434 --name ollama2 ollama/ollama

在主机上发送请求,并使用 curl  Python 代码与模型交互:

from fastapi import FastAPI

import requests


app = FastAPI()


@app.post("/ask")

def ask(prompt: str):

    response = requests.post(

        "http://localhost:11434/api/generate",

        json={"model": "llama3", "prompt": prompt}

    )

    return {"answer": response.json()["response"]}

可以使用ollama list命令来确认,当前可用的模型列表。
使用流式输出:

import requests

import json


def clean_ollama_response():

    response = requests.post(

        "http://localhost:11434/api/generate",

        json={

            "model": "qwen2.5:1.5b",

            "prompt": "用Python写快速排序代码",

            "stream": True

        },

        stream=True

    )

    full_response = ""

    for line in response.iter_lines():

        if line:

            try:

                # 解码并加载JSON

                chunk = json.loads(line.decode('utf-8').strip())

                # 检查是否是有效响应

                if "response" in chunk and chunk["response"]:   这里不能有中文冒号

                    # 去除特殊字符和乱码

                    clean_text = ''.join(

                        char for char in chunk["response"] 

                        if char.isprintable() or char in {'\n', '\t'}

                    )

                    print(clean_text, end="", flush=True)

                    full_response += clean_text

            except json.JSONDecodeError:

                print("! 遇到无效JSON数据,已跳过")

            except UnicodeDecodeError:

                print("! 遇到编码错误,已跳过")

    return full_response


# 使用示例

if __name__ == "__main__":

    clean_ollama_response()

第四步:语音识别才是灵魂

由于Jeston Orin Nano的内存限制,无法使用NVIDIA官方提供的Riva完整的解决方案,为了识别精度以及节省内存,选择SpeechRecognitionAPI接口来实现语音识别。

SpeechRecognition是一个 Python 库,江湖人称“语音识别界的瑞士军刀”,能用几行代码就把麦克风听到的话转成文字,适用于语音助手、声控设备,或是 “AI答案之书”。

以下SpeechRecognition对应的代码:

资讯配图

资讯配图

此外,额外定制一个500*400的界面:

资讯配图

使用麦克风和音响接入Jetson Orin Nano开发板:

资讯配图

运行代码之后,就可以向“答案之书”进行提问了:

资讯配图

资讯配图

在文章开头的视频中,有“答案之书”的代码解析,感兴趣的小伙伴可以在视频13:00-19:00观看,这里就不再一一展示了。

以上就是“答案之书”的设计过程了,下面就让我们问一问“AI答案之书”吧:

三、总结与展望

通过Jetson Orin Nano开发板和qwen2.5模型,我们成功搭建了电子版《答案之书》。该项目不仅实现了传统答案之书的随机应答功能,还借助大模型技术提升了互动性和趣味性。Jetson Orin Nano的高性能和低功耗特性,使其成为理想的开发平台,而Ollama工具和SpeechRecognition API的使用,进一步简化了开发流程。

未来,我们可以在以下几个方面进行拓展和优化:

感兴趣的读者可以去DigiKey B站查看详细的代码解析和演示过程。希望本文的介绍能够激发更多开发者探索边缘AI应用的潜力。

资讯配图小编的话

 40 TOPS  AI 算力塞进7~15 W 的口袋型模组里,让“边缘小盒子”直接跑大模型,省掉了上云、加风扇、改板子的成本——Jetson Orin Nano以其卓越的性能、灵活的扩展能力、易用的软件生态以及合理的价格定位,在推动AI边缘计算的发展中扮演着重要角色。这篇文章直观的展示出Jetson Orin Nano的能力和价值。您是否也在使用Jetson Orin Nano开发部署AI项目,您在这个过程中有哪些经验或者疑问?欢迎留言,和DigiKey的朋友们一起分享交流!


资讯配图

“星标”我们,不错过新鲜案例和行业干货

资讯配图

声明:内容取材于网络,仅代表作者观点,如有内容违规问题,请联系处理。 
AI 开发板
more
极海APM32E030R Micro-EVB开发板评测合集!【国产MCU专栏 第123期】
有奖直播:TI AM335x 处理器及 BeagleBone® Green Eco开发板网络研讨会
最强Cortex-M85单片机,测评免费送开发板!
这6类新设计开发板/评估套件集,总有你用得上的
码住这份指南:Edge AI与机器学习常用硬件类型与开发板全解析
有奖直播 | MPU开发板及视觉AI的内容
可入手的新开发板:搭载瑞芯微RK3506芯片飞凌OK3506-S12 Mini低至88元!
低到离谱!瑞芯微3核开发板99元,快来薅羊毛咯!
RISC-V新标杆!沁恒CH32V307开发板深度实测【国产MCU专栏 第122期】
硬核!雅特力AT-START-L021开发板测评第二弹~【国产MCU专栏 第121期】
Copyright © 2025 成都区角科技有限公司
蜀ICP备2025143415号-1
  
川公网安备51015602001305号