一飞开源,介绍创意、新奇、有趣、实用的开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!
一、开源项目简介

GPT Assistant
这是一个基于ChatGPT的安卓端语音助手,允许用户通过手机音量键从任意界面唤起并直接进行语音交流,用最快捷的方式询问并获取回复
免费聊天 · 语音交互 · 支持联网 · 支持识图
二、开源协议
使用GPL-3.0开源协议
三、界面展示
效果展示
一、基础使用:仅用音量键就可以操控
长按音量下键唤出界面
按住音量键不放,开始语音输入
松开后再次短按,发送问题
接收回复的同时可以自动通过语音进行播报

二、用状态栏快捷键也可触发
下拉状态栏,点击“GPT”按钮,即可唤出界面,键盘会自动弹出,可以手动输入问题

三、从全局上下文菜单唤起
在选中文本后弹出的系统菜单中,点击GPTAssistant选项,即可直接唤起应用并将选中文本添加到输入框

四、支持连续对话
激活上方的对话图标,即可保留当前会话,进行连续对话(点击左侧的头像图标可以对单条对话进行删除、重试等操作)

五、支持上传图片到Vision
当选择的模型中含有vision时(如gpt-4-vision-preview),输入框左侧会出现图片按钮,点击后可以拍照或从相册中选择图片
从其他应用中分享图片时,也可以选择本程序,将图片添加到输入框



经测试,gpt-4-vision-preview模型识别效果较好,可以识别较复杂的图片,可用于拍照识物、翻译文字、拍照答题等场景
注:Vision模型一般无法免费使用(如Chatanywhere),有需要的用户可以考虑付费服务
六、支持GPT联网
本程序实现了OpenAI的Function接口,允许GPT发起联网请求,程序会向GPT自动返回所需的网页数据,使GPT具有联网能力(需先在设置中开启联网选项)


注1:上图均为使用gpt-3.5-turbo模型的测试结果,建议在提问前加入“百度搜索”、“在线获取”、“从xxx获取”等字样引导GPT,以获得更好的联网效果
注2:由于需要将网页内容发送给GPT,联网时会产生大量Token消耗,gpt-4模型请谨慎使用
注3:gpt-4-vision-preview 模型暂不支持联网
四、功能概述
【新增Vision识图】基于ChatGPT API的安卓端语音助手(国内可用),可通过音量键唤起并进行语音交流,支持网络访问、Vision拍照识图、连续对话、提问模板、3.5/4.0接口、Markdown渲染等功能
项目特性
支持用户预设问题模板,支持连续对话,支持gpt-3.5-turbo、gpt-4等模型
支持联网,允许GPT获取在线网页
支持拍照或从相册中上传图片到GPT Vision模型
通过无障碍功能捕获音量键事件,实现在任意界面唤起
支持从全局上下文菜单(选中文本后弹出的系统菜单)中直接唤起
支持通过状态栏快捷按钮唤起
支持对Markdown进行渲染
使用华为或百度语音API进行语音输入
调用系统TTS引擎输出语音
国内使用说明
本软件通过OpenAI API获取回复,在国内使用时可以用第三方转发服务,如Chatanywhere,其目前提供免费和付费服务,具体使用方法见下述说明
注:Chatanywhere注册需要GitHub账号,因此注册时需要能够登录GitHub的网络环境
费用说明
本软件不会收取任何费用,用户能够免费使用各项功能,但如果有特殊需求,使用的下述第三方服务可能会产生费用:
ChatGPT调用费用
以Chatanywhere为例,目前其免费服务限制对gpt-3.5-turbo模型的调用频率不超过60请求/小时/IP&Key,足够个人使用,若需要更高的调用频率或gpt-4模型,可以选择付费服务
百度语音识别接口费用
目前华为HMS提供免费的语音识别接口,因此程序内置了作者的API Key以供直接使用,如无特殊情况该API将在华为免费期间一直可用
程序也提供了对百度接口的调用以供有需要的情况下使用,目前百度短语音识别为新用户提供15万次 & 180天免费额度,额度外收取¥0.0034/次的调用费用
五、技术选型
使用方法
1. 下载安装
直接下载最新发行版中的apk文件,安装即可
2. 配置 OpenAI
程序使用的是OpenAI API,需要用户在设置中填入自己的API_KEY,可以选择使用官方服务或第三方转发服务
3. 配置百度语音识别 (可选)
注:程序默认使用的是华为语音识别接口,如无特殊情况,不需要进行此步骤
用户可以参照百度语音识别官方文档注册并创建应用,然后获取AppID、API Key和Secret Key填入设置中
若设置项的“启用长语音”选项关闭,则使用的是百度短语音识别接口,若开启,则使用的是实时语音识别接口,需要用户根据需求在创建应用时勾选对应的服务
此外,在创建应用时,需要将“语音包名”设置为“Android”,并填入本软件包名com.skythinker.gptassistant

4. 开始使用
根据软件提示开启无障碍服务,并允许软件在后台运行
查看设置中是否存在“后台弹出界面”权限,如有该权限则允许,如无则忽略
若发现长按音量下键后手机震动一下但没有弹出界面,大概率是因为缺少该权限
开始正常使用,可参照效果展示中的操作步骤
隐私说明
本程序不会以任何方式收集用户的个人信息,语音输入会直接发送给华为或百度API,提问会直接发送给OpenAI API,不会经过其他中间服务器
引用的开源项目
六、源码地址
访问一飞开源:https://code.exmay.com/