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

sdl3-sample-简明教程,指导如何在包括移动和 Web 在内的各种平台上构建和使用 SDL3

sdl3-sample-简明教程,指导如何在包括移动和 Web 在内的各种平台上构建和使用 SDL3 sdl3-sample源代码地址为:https://github.com/Ravbug/sdl3-sample sdl3-example是SDL3的简明教程,指导如何在包括移动和 Web 在内的各种平台上构建和使用 SDL3。还包含 SDL_mixer、SDL_Image 和 SDL_ttf! 在线网站运行示例为:https://www.ravbug.com/sdl3-sample/ https://www.ravbug.com/sdl3-sample/官网在线运行结果: SDL3 App From Source Minimal Example This is a minimal example for building and

【昇腾】单张96G Atlas 300I Duo推理卡MindIE+WebUI方式跑32B大语言模型_20250818

【昇腾】单张96G Atlas 300I Duo推理卡MindIE+WebUI方式跑32B大语言模型_20250818

一、Atlas 300I Duo推理卡相关安装步骤 由于显存的瓶颈,48G的Atlas 300I Duo推理卡是没办法跑得起来DeepSeek-R1-Distill-Qwen-32B大语言模型的,这里换了一张96G版本的Atlas 300I Duo推理卡来跑,32B大语言模组除了对显存有要求,对服务器本身的内存条也有要求,在加载的过程中需要较大的内存,这里服务器的内存条内存为128GB 1.1 服务器系统与内核说明 服务器系统版本内核版本内存条内存S5000CKylin V104.19.90-89.11.v2401.ky10.aarch64128GB P.S.服务器安装好系统后先不要执行yum update -y更新,否则内核版本会从4.19.90-89.11升级到4.19.90-89.21,Atlas 300I Duo推理卡的driver包会安装失败 1.2 系统环境说明 本服务器IP地址:192.168.2.71 登录用户:

openclaw新手入门指南:一文看懂环境搭建、模型配置与 WebUI 远程访问

目录 * 1. 基础设施层:OpenClaw 运行环境的初始化 * 2. 算力与模型层:蓝耘 MaaS 平台的接入配置 * 2.1 协议适配与 JSON 配置 * 3. 编排层:OpenClaw 初始化与 Onboarding 流程 * 3.1 模式选择与基础设置 * 3.2 模型提供商与应用集成策略 * 3.3 技能库(Skills)装载与服务启动 * 4. 网络架构与网关(Gateway)配置 * 4.1 网关暴露与安全策略 * 4.2 Web UI 远程访问与设备配对(Device Pairing) * 5. 高级模型编排与 JSON 配置深度解析

Lottie-Web 完整技术指南:让动画开发更简单高效

📚 目录 * 一、什么是 Lottie-Web * 二、为什么选择 Lottie-Web * 三、安装与引入 * 四、基础使用 * 五、API 详解 * 六、Vue 集成实战 * 七、高级特性 * 八、性能优化 * 九、常见问题与解决方案 * 十、最佳实践 * 十一、实际应用场景 * 十二、总结 一、什么是 Lottie-Web 1.1 Lottie 简介 Lottie 是 Airbnb 开源的一个动画库,它可以将 After Effects 动画导出为 JSON 格式,然后在 Web、iOS、Android