基于ChatGPT的安卓端语音助手

2024-03-01 04:20

本文主要是介绍基于ChatGPT的安卓端语音助手,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

介绍

项目特性

  • 支持用户预设问题模板,支持连续对话,支持gpt-3.5-turbogpt-4等模型
  • 支持联网,允许GPT获取在线网页
  • 支持拍照或从相册中上传图片到GPT Vision模型
  • 通过无障碍功能捕获音量键事件,实现在任意界面唤起
  • 支持从全局上下文菜单(选中文本后弹出的系统菜单)中直接唤起
  • 支持通过状态栏快捷按钮唤起
  • 支持对Markdown进行渲染
  • 使用华为或百度语音API进行语音输入
  • 调用系统TTS引擎输出语音

国内使用说明

本软件通过OpenAI API获取回复,在国内使用时可以用第三方转发服务,如Chatanywhere,其目前提供免费和付费服务,具体使用方法见下述说明

注:Chatanywhere注册需要GitHub账号,因此注册时需要能够登录GitHub的网络环境

费用说明

本软件不会收取任何费用,用户能够免费使用各项功能,但如果有特殊需求,使用的下述第三方服务可能会产生费用:

  1. ChatGPT调用费用

    • 以Chatanywhere为例,目前其免费服务限制对gpt-3.5-turbo模型的调用频率不超过60请求/小时/IP&Key,足够个人使用,若需要更高的调用频率或gpt-4模型,可以选择付费服务
  2. 百度语音识别接口费用

    • 目前华为HMS提供免费的语音识别接口,因此程序内置了作者的API Key以供直接使用,如无特殊情况该API将在华为免费期间一直可用

    • 程序也提供了对百度接口的调用以供有需要的情况下使用,目前百度短语音识别为新用户提供15万次 & 180天免费额度,额度外收取¥0.0034/次的调用费用


效果展示

一、基础使用:仅用音量键就可以操控

  1. 长按音量下键唤出界面

  2. 按住音量键不放,开始语音输入

  3. 松开后再次短按,发送问题

  4. 接收回复的同时可以自动通过语音进行播报

二、用状态栏快捷键也可触发

下拉状态栏,点击“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模型暂不支持联网


使用方法

1. 下载安装

直接下载最新发行版中的apk文件,安装即可

2. 配置 OpenAI

程序使用的是OpenAI API,需要用户在设置中填入自己的API_KEY,可以选择使用官方服务或第三方转发服务

  • 使用Chatanywhere转发服务(国内推荐)

    Chatanywhere提供了免费和付费的OpenAI API转发服务,目前免费服务限制60请求/小时/IP&Key调用频率,付费服务则无限制,可以在国内直接访问,用户可以参照其项目主页获取地址和KEY填入设置中

  • 使用官方服务

    在OpenAI官网注册账号并获取API_KEY,在设置中填写网址https://api.openai.com/和API_KEY

3. 配置百度语音识别 (可选)

注:程序默认使用的是华为语音识别接口,如无特殊情况,不需要进行此步骤

用户可以参照百度语音识别官方文档注册并创建应用,然后获取AppID、API Key和Secret Key填入设置中

若设置项的“启用长语音”选项关闭,则使用的是百度短语音识别接口,若开启,则使用的是实时语音识别接口,需要用户根据需求在创建应用时勾选对应的服务

此外,在创建应用时,需要将“语音包名”设置为“Android”,并填入本软件包名com.skythinker.gptassistant

设置语音包名

4. 开始使用

  1. 根据软件提示开启无障碍服务,并允许软件在后台运行

  2. 查看设置中是否存在“后台弹出界面”权限,如有该权限则允许,如无则忽略

    若发现长按音量下键后手机震动一下但没有弹出界面,大概率是因为缺少该权限

  3. 开始正常使用,可参照效果展示中的操作步骤


Q&A

软件唤起

Q: 长按音量下键只是在调节音量,并没有其他任何现象?

A: 请在设置中开启本软件的无障碍服务(重启手机后可能需要重新开启,建议设置为无障碍快捷方式)

Q: 长按音量下键后,手机震动了一下,但没有弹出界面?

A: 请在设置中允许程序“后台弹出界面”权限

Q: 隔一段时间不用就无法使用音量键唤起了?

A: 请在设置中允许程序在后台运行

语音播报

Q: 语音播报没声音 / 不好听?

A: 软件调用的是系统自带TTS(Text To Speech)服务,可以通过软件设置项“打开系统语音设置”进入系统设置界面,选择合适的语音引擎;若对系统自带引擎不满意也可以自行安装讯飞等第三方TTS引擎

Q: 华为和百度语音识别效果有什么差别?

A: 经测试,所使用的华为接口(实时语音识别)识别准确度较高,尤其是在中英混说的场景下,但其断句能力则不如百度,仅适合单句识别

联网相关

Q: 联网时GPT能访问什么网站?

A: 程序使用Android WebView加载网页,能用本机浏览器打开的网站都可以访问

Q: GPT能获取网站中的什么内容?

A: 对于一般网站,仅允许GPT获取纯文本内容,而对于下述特殊适配过的网站,GPT还可以获取到搜索结果链接:百度、必应、谷歌、谷歌学术、知乎、微博、京东、GitHub、B站、知网

如果你觉得有其他网站需要适配,可以提交Issue

Q: 为什么GPT在访问一些网站时说无法获取内容?

A: 网页加载超时(15s)、需要登录、需要验证等原因都可能导致这个问题,你可以尝试再次提问,或要求GPT更换访问的网站

其他使用问题

Q: 为什么列表中没有我需要的模型?

A: 软件仅内置了少数常用模型,你可以在设置中添加自定义模型(以英文分号分隔),添加后即会出现在列表中

Q: GPT返回的内容中表格无法正常显示?

A: 所使用的Markdown渲染器无法在测试中产生稳定的结果,因此暂不支持表格渲染

Q: 显示获取失败,提示请求超时,或产生错误码502/503?

A: 排除网络因素,该错误一般由OpenAI接口产生,可能由于其服务器负载过高导致,请重试或等待一段时间后再尝试 查看OpenAI实时状态

开发相关

Q: 编译仓库代码后无法使用华为HMS语音识别?

A: 为防止滥用,仓库中的Key开启了包名和签名验证,因此如果希望自行编译使用,需要根据华为官方文档创建AppGallery应用并替换鉴权信息,包括app/agconnect-services.json文件和app/src/main/res/values/strings.xml中的hms_api_key字段


主要功能更新日志

  • 2023.09.10 发布第一个版本,支持基础对话、百度语音输入、TTS输出、Markdown渲染等功能
  • 2023.09.13 支持连续对话、GPT-4、百度长语音识别,上下文菜单唤起
  • 2023.10.06 添加华为HMS语音识别
  • 2023.11.06 添加联网功能
  • 2023.12.04 添加Vision识图功能

TODO

  • 支持渲染Markdown表格
  • 高级模板功能
  • 连续语音交流

测试环境

已测试的机型:

机型系统版本Android 版本本程序版本
荣耀 7CEMUI 8.0.0Android 81.8.0
荣耀 20HarmonyOS 3.0.0Android 101.8.1
华为 Mate 30HarmonyOS 3.0.0Android 121.6.0
华为 Mate 30HarmonyOS 4.0Android 121.8.0
荣耀 Magic 4MagicOS 7.0Android 131.2.0
红米 K20 ProMIUI 12.5.6Android 111.5.0
红米 K60 ProMIUI 14.0.23Android 131.7.0
Pixel 2 (模拟器)Android 12Android 121.7.0

改进&贡献

如果你有改进建议或希望参与贡献,欢迎提交Issue或Pull Request


隐私说明

本程序不会以任何方式收集用户的个人信息,语音输入会直接发送给华为或百度API,提问会直接发送给OpenAI API,不会经过其他中间服务器


引用的开源项目

  • Markwon: Android上的Markdown渲染器
  • chatgpt-java: OpenAI API的Java封装

源码地址:

https://download.csdn.net/download/weixin_37576193/88643798

这篇关于基于ChatGPT的安卓端语音助手的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/761190

相关文章

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo

Spring AI集成DeepSeek的详细步骤

《SpringAI集成DeepSeek的详细步骤》DeepSeek作为一款卓越的国产AI模型,越来越多的公司考虑在自己的应用中集成,对于Java应用来说,我们可以借助SpringAI集成DeepSe... 目录DeepSeek 介绍Spring AI 是什么?1、环境准备2、构建项目2.1、pom依赖2.2

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

Spring AI Alibaba接入大模型时的依赖问题小结

《SpringAIAlibaba接入大模型时的依赖问题小结》文章介绍了如何在pom.xml文件中配置SpringAIAlibaba依赖,并提供了一个示例pom.xml文件,同时,建议将Maven仓... 目录(一)pom.XML文件:(二)application.yml配置文件(一)pom.xml文件:首

SpringBoot整合DeepSeek实现AI对话功能

《SpringBoot整合DeepSeek实现AI对话功能》本文介绍了如何在SpringBoot项目中整合DeepSeekAPI和本地私有化部署DeepSeekR1模型,通过SpringAI框架简化了... 目录Spring AI版本依赖整合DeepSeek API key整合本地化部署的DeepSeek

PyCharm接入DeepSeek实现AI编程的操作流程

《PyCharm接入DeepSeek实现AI编程的操作流程》DeepSeek是一家专注于人工智能技术研发的公司,致力于开发高性能、低成本的AI模型,接下来,我们把DeepSeek接入到PyCharm中... 目录引言效果演示创建API key在PyCharm中下载Continue插件配置Continue引言

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

AI绘图怎么变现?想做点副业的小白必看!

在科技飞速发展的今天,AI绘图作为一种新兴技术,不仅改变了艺术创作的方式,也为创作者提供了多种变现途径。本文将详细探讨几种常见的AI绘图变现方式,帮助创作者更好地利用这一技术实现经济收益。 更多实操教程和AI绘画工具,可以扫描下方,免费获取 定制服务:个性化的创意商机 个性化定制 AI绘图技术能够根据用户需求生成个性化的头像、壁纸、插画等作品。例如,姓氏头像在电商平台上非常受欢迎,

从去中心化到智能化:Web3如何与AI共同塑造数字生态

在数字时代的演进中,Web3和人工智能(AI)正成为塑造未来互联网的两大核心力量。Web3的去中心化理念与AI的智能化技术,正相互交织,共同推动数字生态的变革。本文将探讨Web3与AI的融合如何改变数字世界,并展望这一新兴组合如何重塑我们的在线体验。 Web3的去中心化愿景 Web3代表了互联网的第三代发展,它基于去中心化的区块链技术,旨在创建一个开放、透明且用户主导的数字生态。不同于传统