OmniSteward:LLM Agent 赋能,语音文字随心控,智能家居与电脑的超级管家

OmniSteward:LLM Agent 赋能,语音文字随心控,智能家居与电脑的超级管家

目录


一、前言

在科技日新月异的今天,人工智能正以前所未有的速度改变着我们的生活方式。从智能手机的语音助手到智能家居的自动化控制,AI技术逐渐渗透到生活的各个角落,为我们带来了便捷与高效。OmniSteward正是在这样的背景下应运而生,它作为一款基于大语言模型的全能AI管家系统,致力于打破人机交互的壁垒,为用户打造一个智能、高效、便捷的生活和工作环境。无论是忙碌的上班族希望在工作中提高效率,还是追求高品质生活的家庭用户渴望轻松掌控家居设备,OmniSteward都有可能成为他们理想的智能伙伴,引领我们进入一个全新的智能生活时代。

二、项目概述

OmniSteward是一个正在积极开发中的全能管家系统,它借助大语言模型的强大能力,实现了与用户的语音和文字交互,旨在帮助用户轻松控制智能家居设备以及管理电脑程序。该项目由ElliottZheng主要维护,在开发过程中得到了阶跃星辰开放平台【繁星计划】的支持,并遵循MIT License开源协议。其具备诸多亮点,如支持多轮对话、可调用工具执行复杂任务、兼容多种LLM模型且拓展性强,用户能够方便地自定义和分享工具。通过不断的更新与完善,OmniSteward有望成为智能生活领域的重要应用,为用户提供更加智能化、个性化的服务体验。

在这里插入图片描述

三、功能特性

  1. 多模态交互体验
    • OmniSteward提供了语音和文字两种交互模式,满足用户在不同场景下的需求。语音交互利用先进的语音识别技术,准确理解用户的语音指令;文字交互则为用户提供了精确表达复杂需求的途径。支持多轮对话功能,系统能够依据之前的对话内容和上下文,连续回答用户问题,使交互过程更加自然流畅。例如,用户可以在一系列对话中连续询问不同的问题,OmniSteward都能准确理解并给予合理回应。
  2. 强大的功能集成
    • 智能家居控制:与巴法云等平台对接,用户可通过语音或文字指令控制家中的灯光、电器、窗帘等设备。如“打开客厅空调并设置为26度”“关闭卧室所有灯光”等指令,都能精准执行,让家居生活更加便捷舒适。
    • 电脑程序管理:轻松实现电脑程序的启动、关闭以及运行状态查看。用户只需说出“启动Photoshop”“关闭正在运行的音乐播放器”“查看当前后台运行程序”等指令,即可快速操作电脑程序,提高工作效率。
    • 在线信息检索:借助step_web_search工具和Kimi AI,用户能快速获取各类在线信息。无论是查询历史事件、科学知识,还是获取实时新闻、天气预报,OmniSteward都能迅速从互联网上搜索并呈现准确结果。
    • 文件管理:支持文件检索、读写、压缩文件夹和列出文件夹内容等操作。用户可以说“查找上个月修改的文档”“在文档中添加一段文字”“压缩工作文件夹”“列出下载文件夹中的所有文件”等,方便管理电脑中的文件资源。
    • 命令行操作:满足专业用户对命令行操作的需求,用户可通过语音或文字执行复杂的命令行任务,进一步拓展了系统的应用范围。
  3. 模型灵活性与拓展性
    • 支持多种大语言模型,用户可根据自身喜好和需求切换,以获取最佳的交互效果。同时,系统具有很强的拓展性,用户能够方便地自定义工具,还可以将其分享给其他用户,共同丰富OmniSteward的功能生态。

四、技术架构

语音处理技术采用pyaudio和sounddevice等技术进行语音处理。pyaudio负责音频的输入输出,能够精确采集用户语音信号;sounddevice则在音频设备管理方面发挥关键作用,两者协同确保语音交互的高效性和准确性。AI模型应用集成了Qwen2.5、BGE Reranker和Silero VAD等先进模型。Qwen2.5作为核心语言模型,具备强大的语言理解和生成能力;BGE Reranker用于优化搜索结果排序;Silero
VAD实现精准的语音活动检测,提高语音识别效率。Web服务架构后端基于Flask框架构建Web服务,利用zerorpc实现高效的远程过程调用,保障前后端之间的稳定通信,确保用户在不同设备上都能流畅使用OmniSteward。浏览器自动化技术运用Selenium实现浏览器自动化操作,能够模拟用户在浏览器中的行为,如自动打开网页、输入搜索关键词、提取信息等,为在线信息检索等功能提供支持。其他辅助技术requests用于发送HTTP请求,与外部Web服务交互数据;beautifulsoup4用于解析HTML和XML文档,从网页中精准提取所需信息,共同增强了系统的数据处理能力。

五、安装与使用

1、系统要求

确保您的设备已安装Python 3.8及以上版本,因为项目的运行依赖于该版本的Python环境。
需安装Chrome浏览器,这是用于实现Kimi AI功能的必要组件。需要注意的是,目前OmniSteward主要在Windows操作系统上进行了功能测试,Linux和Mac系统的部分功能兼容性尚未完全确定。

2、安装步骤

  1. 克隆仓库
    打开命令行终端(如CMD或PowerShell),输入以下命令克隆OmniSteward项目仓库到本地:
git clone https://github.com/OmniSteward/OmniSteward.git 

克隆完成后,使用cd命令进入项目目录:

cd OmniSteward 
  1. 安装依赖
    在项目目录中,执行以下命令安装项目所需的依赖项:
pip install-r requirements.txt 

3、环境变量配置

  1. 打开项目中的examples/env.cmd文件,您需要在该文件中配置一系列环境变量,具体如下:
OPENAI_API_BASE=your_api_base # OpenAI格式API基础URLOPENAI_API_KEY=your_api_key # OpenAI格式API密钥SILICON_FLOW_API_KEY=your_api_key # Silicon Flow API密钥,用于ASR, ReRank, 获取方式参见[大语言模型平台](docs/PLATFORM.md)BEMFA_UID=your_bemfa_uid # 巴法云平台UID(可选,用于巴法智能家居控制)BEMFA_TOPIC=your_bemfa_topic # 巴法云平台Topic(可选,用于巴法智能家居控制)KIMI_PROFILE_PATH=path_to_chrome_profile # Chrome用户数据目录(可选,用于Kimi AI功能,不填则使用默认路径)LOCATION=your_location # 你的地理位置(可选,用于系统提示词)LLM_MODEL=your_llm_model # 使用的LLM模型,可选,默认使用Qwen2.5-7B-Instruct

备注:获取OPENAI格式的API密钥和API基础URL参见大语言模型平台:
https://github.com/OmniSteward/OmniSteward/blob/main/docs/PLATFORM.md

4、启动方式

OmniSteward支持两种使用方式,即命令行模式(CLI)和Web模式,您可以根据实际需求选择合适的启动方式。

4.1 命令行模式(CLI)

  1. 环境变量配置(重要)
    在启动命令行模式之前,请务必先在examples/env.cmd文件中按照上述要求正确配置环境变量,确保系统能够正常运行所需的各项服务和功能。
  2. 麦克风语音输入模式
    首先,启动VAD(语音活动检测)服务,在命令行中输入:
python -m servers.vad_rpc 

启动VAD服务后,新开一个命令行窗口,执行以下命令使环境变量生效并运行CLI:

call examples\env.cmd python -m core.cli --config configs/cli.py 

更多关于麦克风语音输入模式的详细信息,可查看examples/cli_voice.cmd文件。

  1. 文字输入模式
    若您希望使用文字输入方式与OmniSteward交互,在配置好环境变量后,在命令行中输入:
call examples\env.cmd python -m core.cli --query"打开网易云音乐"--config configs/cli.py 

您可以将双引号中的指令替换为您实际需要执行的操作。例如,如果您想查询天气信息,可将指令改为“查询今天北京的天气”。

  1. 简单添加自定义工具
    如果您想要添加自定义工具,首先确保环境变量已生效,然后在命令行中输入:
call examples\env.cmd python -m core.cli --query"打印 你好"--config configs/cli_custom_tool.py 

此示例在configs/cli_custom_tool.py文件中添加了一个简单的打印工具,您可以查看该文件了解如何添加自定义工具。您可以根据自己的需求修改该文件,实现更复杂的自定义功能。例如,如果您想添加一个计算工具,可在该文件中编写相应的计算函数,并在命令行中使用类似的方式调用。

4.2 Web模式

  1. 环境变量配置(重要)
    同样,在使用Web模式之前,要先在examples/env.cmd文件中正确配置环境变量,尤其是Silicon Flow API密钥,否则系统将无法正常运行。
  2. 启动后端服务
    在项目根目录下,执行以下命令配置环境变量并启动后端服务:
call examples\env.cmd python -m servers.steward --config configs/backend.py 
  1. 启动前端服务
    前端服务的启动请详见OmniSteward - Frontend项目的相关说明。一般来说,您需要按照该项目提供的步骤进行安装和启动操作。
  2. 使用
    完成后端和前端服务的启动后,使用Chrome/Edge浏览器,打开http://localhost:8000,即可开始使用OmniSteward。如果您需要在外网使用,由于Chrome/Edge默认禁止HTTP下的麦克风,您需要进行额外的设置。具体操作是,在浏览器地址栏中输入chrome://flags/#unsafely - treat - insecure - origin - as - secure,将其值设置为http://ip:port(其中ip为您的服务器IP地址,port为端口号)。手机上使用时,同样可以使用Chrome或者Edge浏览器,打开http://ip:port,并按照上述方法进行设置后即可开始使用。

六、应用场景与未来展望

1、家庭生活场景
在家庭生活中,OmniSteward成为智能家居的控制中心。早晨,用户可通过语音指令让其打开窗帘、播放音乐,开启美好的一天;晚上,可控制灯光关闭、设置闹钟等。做家务时,能随时查询菜谱、获取清洁技巧。还可用于家庭账单查询、日程安排等,使家庭生活更加有序。

2、 办公学习场景
在办公场景下,帮助用户快速启动办公软件、查找资料、管理文件,如“打开PPT并切换到演示模式”“查找项目相关文档”“总结报告要点”等指令,有效提高办公效率。对于学生学习,可作为智能学习伙伴,解答学习问题、推荐学习资源,如“解释物理公式”“推荐数学学习网站”等,助力学习进步。

3、未来发展趋势
随着技术的不断进步,OmniSteward将在更多领域发挥重要作用。在智能家居方面,与更多设备深度集成,实现更个性化的家居控制;在智能健康领域,与健康监测设备结合提供健康建议;在智能交通领域,与车辆系统对接实现语音控制和交通信息查询。其模型将不断优化,功能持续拓展,为用户带来更加智能、便捷、舒适的生活体验。

七、结语

OmniSteward作为一款充满潜力的全能AI管家系统,以其丰富的功能、先进的技术架构和广阔的应用前景,为我们展示了智能生活的美好画卷。尽管目前仍处于积极开发阶段,部分功能有待完善,但它已经迈出了坚实的步伐。在未来,随着技术的持续创新和应用场景的不断拓展,OmniSteward有望成为智能生活领域的核心应用,彻底改变我们与智能设备的交互方式,让我们的生活更加智能化、便捷化。期待OmniSteward在不断发展中为我们带来更多的惊喜,引领我们走进一个更加智能的新时代。

项目地址:https://github.com/OmniSteward/OmniSteward

在这里插入图片描述

🎯🔖更多专栏系列文章:AI大模型提示工程完全指南AI大模型探索之路(零基础入门)AI大模型预训练微调进阶AI大模型开源精选实践AI大模型RAG应用探索实践🔥🔥🔥 其他专栏可以查看博客主页📑

😎 作者介绍:我是寻道AI小兵,资深程序老猿,从业10年+、互联网系统架构师,目前专注于AIGC的探索。
📖 技术交流:欢迎关注【小兵的AI视界】公众号或扫描下方👇二维码,加入技术交流群,开启编程探索之旅。
💘精心准备📚500本编程经典书籍、💎AI专业教程,以及高效AI工具。等你加入,与我们一同成长,共铸辉煌未来。
如果文章内容对您有所触动,别忘了点赞、⭐关注,收藏!加入我,让我们携手同行AI的探索之旅,一起开启智能时代的大门!

Read more

【无人机】无人机群在三维环境中的碰撞和静态避障仿真(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭:行百里者,半于九十。 💥1 概述 无人机群在三维环境中的碰撞与静态避障研究 无人机群在三维环境中的碰撞和静态避障仿真旨在模拟多架无人机在复杂的三维空间中安全飞行的情景。这种仿真涉及到多个方面,包括无人机的动力学行为、环境地形的建模、碰撞检测与避免策略等。该仿真会对无人机的动力学模型进行建模,以准确描述无人机的运动特性,包括位置、速度和加速度等。然后,仿真环境将三维空间划分为网格或连续空间,并在其中标识出障碍物、目标位置以及无人机的起始位置。在仿真过程中,无人机将根据其动力学模型和控制算法进行运动规划,以达到预定的目标位置。同时,系统会实时监测无人机之间以及无人机与环境障碍物之间的距离,进行碰撞检测。通过这种仿真,可以评估不同的碰撞检测与避免策略在多无人机场景下的性能表现,并优化无人机飞行的安全性和效率。这种仿真在无人机系统设计、飞行控制算法验证以及无人机应用场景的规划与优化等方面具有重要意义。 一、无人机集群控制技术基

手把手教你用Coze搭建AI客服机器人:从零到上线的完整流程

从零构建企业级AI客服:基于Coze平台的可视化实战指南 你是否曾为客服团队处理重复性问题而焦头烂额?或是面对客户咨询高峰时,响应速度跟不上,导致用户体验下滑?在AI技术日益成熟的今天,构建一个智能客服机器人已不再是大型企业的专属。对于中小型团队或个人开发者而言,借助像字节跳动推出的Coze这样的平台,完全可以在短时间内,以极低的成本打造出一个功能强大、响应迅速的AI客服助手。这篇文章,我将以一个实际项目为例,带你一步步走完从环境准备、流程设计、知识库搭建到最终部署上线的全过程。我们不会停留在理论层面,而是深入到每一个配置细节和可能遇到的坑,让你真正掌握这门实用技能。 1. 项目规划与环境准备 在动手敲下第一行配置之前,清晰的规划是成功的一半。一个AI客服机器人不仅仅是回答问题的程序,它需要理解业务、融入流程、并具备持续学习的能力。我们首先要明确它的核心使命:是处理售前咨询,还是解决售后问题?是7x24小时在线接待,还是作为人工客服的辅助筛选工具?目标不同,设计的侧重点和复杂度也截然不同。 对于大多数中小企业,一个典型的客服机器人需要覆盖以下几个核心场景: * 高频问题自

FPGA 实现 OV5640 摄像头视频图像显示

FPGA 实现 OV5640 摄像头视频图像显示

目录 一、工程介绍 二、Verilog 实现 (1)OV5640初始化         (1.1)SCCB控制器         (1.2)ov5640初始化数据表 (2)DVP数据采集 (3)RAM数据缓存 (3)VGA控制器 (4)顶层模块 三、效果演示 一、工程介绍         OV5640摄像头通过DVP接口输出视频图像数据,并通过VGA接口输出给显示器。FPGA需要完成的功能包括:OV5640初始化、DVP接口数据采集、图像数据缓存、VGA数据输出。模块设计也相应按照这四个部分进行划分。         本文为学习笔记,旨在对设计过程做简要记录,存在不足,可供学习参考。 二、Verilog 实现 (1)OV5640初始化         (1.1)SCCB控制器         ov5640摄像头初始化需要向其内部配置寄存器写入数据进行配置,实现对图像数据格式、图像大小、图像反转镜像、

2025年12 电子学会 机器人三级等级考试真题

2512 青少年等级考试机器人理论真题 单选题(20题,共80分) 第1题 下列选项中,关于传感器描述正确的是? A.将非电的物理量转化为数字信号的器件 B.将非电的物理量转化为模拟信号的器件 C.将非电的物理量转化为电信号的器件 D.将电信号转化为其他形式信号的器件 第2题 下列选项中,属于半导体材料的是? A.电阻 B.发光二极管 C.铜导线 D.纯净水 第3题 下列电路符号中,用于标识光敏电阻的是? A. B. C. D. 第4题 下列选项中,说法错误的是? A.电路搭设完毕,通电前要检查电路 B.电路搭设时,因为电阻没有极性,无需考虑方向 C.电路搭设时,需要注意LED引脚的极性 D.电路搭设时,可以带电插拔元器件