当前位置: 首页 > 软件库 > 数据库相关 > >

Python-ai-assistant

Python AI assistant 🧠
授权协议 MIT License
开发语言 Python
所属分类 数据库相关
软件类型 开源软件
地区 不详
投 递 者 谢哲瀚
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

alt text

About Jarvis - An Intelligent AI Consciousness ��

Jarvis is a voice commanding assistant service in Python 3.8It can recognize human speech, talk to user and execute basic commands.

Requirements

  • Operation system: Ubuntu 20.04 (Focal Fossa)
  • Python Version: 3.8.x

Assistant Skills

  • Opens a web page (e.g 'Jarvis open youtube')
  • Play music in Youtube (e.g 'Jarvis play mozart')
  • Increase/decrease the speakers master volume (also can set max/mute speakers volume) ** (e.g 'Jarvis volume up!')
  • Opens libreoffice suite applications (calc, writer, impress) (e.g 'Jarvis open calc')
  • Tells about something, by searching on the internet (e.g 'Jarvis tells me about oranges')
  • Tells the weather for a place (e.g 'Jarvis tell_the_skills me the weather in London')
  • Tells the current time and/or date (e.g 'Jarvis tell me time or date')
  • Set an alarm (e.g 'Jarvis create a new alarm')
  • Tells the internet speed (ping, uplink and downling) (e.g 'Jarvis tell_the_skills me the internet speed')
  • Tells the internet availability (e.g 'Jarvis is the internet connection ok?')
  • Tells the daily news (e.g 'Jarvis tell me today news')
  • Spells a word (e.g 'Jarvis spell me the word animal')
  • Creates a reminder (e.g 'Jarvis create a 10 minutes reminder')
  • Opens linux applications (e.g 'Jarvis open bash/firefox')
  • Tells everything it can do (e.g 'Jarvis tell me your skills or tell me what can you do')
  • Tells the current location (e.g 'Jarvis tell me your current location')
  • Tells how much memory consumes (e.g 'Jarvis tell me your memory consumption)
  • Tells users commands history (e.g 'Jarvis tell me my history')
  • Write/tell 'remember' and enable learning mode and add new responses on demand! (e.g 'Jarvis remember')
  • Clear bash console (e.g 'Jarvis clear console')
  • Has help command, which prints all the skills with their descriptions (e.g 'Jarvis help')
  • Do basic calculations (e.g 'Jarvis (5 + 6) * 8' or 'Jarvis one plus one')
  • Change settings on runtime (e.g 'Jarvis change settings')

Assistant Features

  • Asynchronous command execution & speech recognition and interpretation
  • Supports two different user input modes (text or speech), user can write or speek in the mic.
  • Answers in general questions (via call Wolfram API), e.g ('Jarvis tell me the highest building')
  • Change input mode on run time, triggered by a phrase e.g 'Jarvis change settings')
  • Easy voice-command customization
  • Configurable assistant name (e.g 'Jarvis', 'Sofia', 'John' etc.) (change on run time supported)
  • Log preview in console
  • Vocal or/and text response
  • Keeps commands history and learned skills in MongoDB.'

Getting Started

Create KEYs for third party APIs

Jarvis assistant uses third party APIs for speech recognition,web information search, weather forecasting etc.All the following APIs have free no-commercial API calls. Subscribe to the following APIs in order to take FREE access KEYs.

Setup Jarvis in Ubuntu/Debian system

  • Download the Jarvis repo locally:
git clone https://github.com/ggeop/Jarvis.git --branch master

For Contribution:

git clone https://github.com/ggeop/Jarvis.git --branch develop
  • Change working directory
cd Jarvis
  • Setup Jarvis and system dependencies:
bash setup.sh
  • Put the Keys in settings

NOTE: For better exprerience, before you start the application you can put the free KEYs in the settings.py

nano Jarvis/src/jarvis/jarvis/setting.py

Start voice commanding assistant

alt text

  • Start the assistant service:
bash run_jarvis.sh

How to add a new Skill to assistant

You can easily add a new skill in two steps.

  • Create a new configurationin SKILLS in skills/registry.py
{ 
  'enable': True,
  'func': Skills.new_skill,
  'tags': 'tag1, tag2',
  'description': 'skill description..'
}
  • Create a new skill module in skills/collection

Desicion Model

alt text

Extract skill

The skill extraction implement in a matrix of TF-IDF features for each skill.In the following example he have a dimensional space with three skills.The user input analyzed in this space and by using a similarity metric (e.g cosine) we find the most similar skill.alt text


Contributing

  • Pull Requests (PRs) are welcome ☺️
  • The process for contribution is the following:
    • Clone the project
    • Checkout develop branch and create a feature branch e.g feature_branch
    • Open a PR to develop
    • Wait for review and approval !!
    • master branch update and release is automated via Travis CI/CD
  • Try to follow PEP-8 guidelines and add useful comments!

CI/CD Flow

alt text

  • GPT 迭代过程概要表: 版本 发布时间 训练方案 参数量 是否开放接口 GPT(GPT-1) 2018 年 6 月 无监督学习 1.17 亿 是 GPT-2 2019 年 2 月 多任务学习 15 亿 是 GPT-3 2020 年 5 月 海量参数 1,750 亿 是 GPT-3.5 2022 年 12 月 针对对话场景优化 1,750 亿 是 GPT-4 未发布 万亿参数 100万亿 否 获取

  • 系列文章目录: OpenAI API及ChatGPT系列教程1:快速入门 OpenAI API及ChatGPT系列教程2:使用手册 OpenAI API及ChatGPT系列教程3:API参考(Python) OpenAI API及ChatGPT系列教程3:API参考(Python) 一、介绍: 要安装官方 Python 库,请运行以下命令: pip install openai 二、验证: Op

 相关资料
  • 本文向大家介绍Python实现AI换脸功能,包括了Python实现AI换脸功能的使用技巧和注意事项,需要的朋友参考一下 需要用到的接口: 获取人脸信息的接口:https://api-cn.faceplusplus.com/facepp/v3/detect 实现换脸的接口 :https://api-cn.faceplusplus.com/imagepp/v1/mergeface 代码分为三步 代码:

  • 打造一款能够完美连结服务端云平台、移动客户端、电脑网页、电脑软件、智能硬件等任意终端的人工智能框架。 这里的人工智能,并非指简单的对话。而是对每一终端进行深层次标注,从而决定这个终端拥有哪些脚本,并在一定的条件下触发。同时达到多终端的互通,如网页控制手机,手机控制可穿戴设备等。 主要特点如下: 智能标签 智能标签可以为每个访问的终端/用户帖上相应的标签,从而使程序可以做出针对性的处理。 如:用户第

  • ColossalAI 是一个具有高效并行化技术的综合大规模模型训练系统。旨在无缝整合不同的并行化技术范式,包括数据并行、管道并行、多张量并行和序列并行。 Colossal-AI 的目标是支持人工智能社区以与他们正常编写模型相同的方式编写分布式模型。这使得他们可以专注于开发模型架构,并将分布式训练的问题从开发过程中分离出来。 ColossalAI 提供了一组并行训练组件。旨在支持用户编写分布式深度学

  • H2O 的核心是一个统计分析引擎,它使用 Hadoop 的分布式文件系统(HDFS)作为其存储平台,但是它们的最终目标是像谷歌的 BigQuery 一样简单。H2O 的用户交互是通过一个简单的网络搜索和标准 R 统计分析语法。另外,用户还可以在 Microsoft Excel 或 RStudio 的集成开发环境中使用 REST API 调用 H2O。

  • Swift AI 是高性能的人工智能和机器学习库,完全用 Swift 编写,目前支持  iOS and OS X,未来将支持更多平台。 Swift AI 包括一组人工智能和机器学习的通用工具,这些工具灵活、强大,可用于广泛的应用程序。 Feed-Forward Neural Network 3-layer network with options for customization. Exampl

  • Snake-AI,这是一个用 C/C++ 语言编写的贪吃蛇游戏的人工智能。 AI 的目的是让蛇尽可能的吃更多的食物,直到吃满整个地图。想参与这个项目,请查看todos。 Demo 使用方法 编译与运行: $ make$ make run 为了解详细使用方法, 请查看主函数main() 算法介绍 函数Snake.decideNext(): 计算蛇S1的下一个移动方向D 计算从蛇S1的头部到达食物的最