ChatGPT搭建语音智能助手

环境

python:3+
ffmpeg:用于处理视频和语音
gradio:UI界面和读取语音

概述

我们的目的是做一个语音智能助手
在这里插入图片描述
下面我们开始

准备工作

下载Visual Studio Code

Visual Studio Code

因为需要写python代码,用Visual Studio Code比较方便。

安装python

python官网
在这里插入图片描述

执行下载好的exe文件,可以建议选择自定义安装,这样可以修改安装路径,只要别安装到C盘就行。

记得勾选添加到环境变量

添加环境变量

假设在安装时候,忘记了勾选添加到环境变量,那么我们可以自己配置

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

修改subprocess.py文件

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

安装ffmpeg

https://ffmpeg.org/

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

将下载好的安装包,进行解压,然后将解压后的文件夹放到平时自己喜欢的安装目录里。

比如:我的是D盘:D:\Program Files\ffmpeg

WINDOWS系统文字转语音WSAY

https://github.com/p-groarke/wsay/releases/tag/v1.5.0

点击下图进行下载:
在这里插入图片描述

在这里插入图片描述

使用GRADIO建立用户界面

先创建一个项目文件夹,比如我的:E:\openai\project\Chatbot

在这里插入图片描述
然后打开我们之前下载好的vsCode,并打开相关目录。

参照gradio官网写测试代码

https://gradio.app/quickstart/

测试代码1:页面

import gradio as grdef greet(name):return "Hello " + name + "!"demo = gr.Interface(fn=greet, inputs="text", outputs="text")demo.launch()   

执行代码:

PS E:\openai\project\Chatbot> python ui.py

可以看到控制台会打印如下信息:

Running on local URL:  http://127.0.0.1:7860

然后浏览器打开网址http://127.0.0.1:7860

在这里插入图片描述

但是我们是需要做成语音的,所以我们需要调整下;

在官网找到:
https://gradio.app/docs/#audio

在这里插入图片描述

测试代码2:

import gradio as grdef transcribe(audio):print(audio)return "这里显示音频"demo = gr.Interface(fn=transcribe, inputs=gr.Audio(source="microphone"), outputs="text")demo.launch()   

在这里插入图片描述

执行命令:py uimp.py

浏览器刷新地址如下页面:
在这里插入图片描述

接入openAI:

测试代码3:

在这里插入图片描述

执行命令:py uifinish.py

# 最终稿:import gradio as gr
import openai, subprocess
from pathlib import Path# 换成你自己的api_key
openai.api_key = "XXXXXXXXXXXXXXXXXXXXXX"messages = [{"role": "system", "content": '你是一名知识渊博,乐于助人的智能聊天机器人.你的任务是陪我聊天,请用简短的对话方式,用中文讲一段话,每次回答不超过50个字!'}]def transcribe(audio):global messagesmyfile=Path(audio)myfile=myfile.rename(myfile.with_suffix('.wav'))audio_file = open(myfile,"rb")transcript = openai.Audio.transcribe("whisper-1", audio_file)messages.append({"role": "user", "content": transcript["text"]})response = openai.ChatCompletion.create(model="gpt-3.5-turbo", messages=messages)system_message = response["choices"][0]["message"]# print(response)messages.append(system_message)subprocess.call(["wsay", system_message['content']])chat_transcript = ""for message in messages:if message['role'] != 'system':chat_transcript += message['role'] + ": " + message['content'] + "\n\n"return chat_transcriptui = gr.Interface(fn=transcribe, inputs=gr.Audio(source="microphone", type="filepath"), outputs="text")
ui.launch()

效果如下:

在这里插入图片描述

总结

  1. ffmpeg 来处理语音
  2. 利用WSAY,将文字转成语音
  3. 利用gradio,来生成UI页面,并提供语音输入

参考地址:

https://updayday.notion.site/Chat-GPT-WHISPER-API-GPT-3-5-TURBO-2af2630c857a4f0da92abcc763b4fd48

Whisper API cannot read files correctly

Renaming file extension using pathlib (python 3)

Path not found in Python

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/1375.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【利用ChatGPT学习英语口语(包括如何安装插件的详细教程)】

内容目录 一、插入ChatGPT语音播放插件1. 打开谷歌浏览器——右上角三点——更多工具——扩展程序2. 点击扩展程序三个横杠——打开chrome 应用商店3. 搜索Voice Control for ChatGPT——点击如下图第一个——添加至Chrome——添加扩展程序4. 成功安装,打开ChatGPT有…

chatgpt小程序安装指引

chatgpt小程序安装指引 JAVA 创建数据库,名字随意,数据库编码为utf8mb4 导入sql文件,在renren-api/db目录下面 第一次导入数据的先执行chatgpt.sql文件,在根据日期先后顺序执行 已导入过的同志,根据更新已经更新日期来导入 后台管理默认账号密码为admin 修改application-de…

关于chatGPT专栏

这边已经受到了限制,关于gpt的内容文章已经被下架了众多 所以我关于gpt的文章只能在微信公众号里面查看, 还有许多新的文章是在此平台没有发过的,所以想了解关于chatgpt的文章,可以关注我文章下面的公众号。

ChatGPT初步了解

ChatGPT 是 InstructGPT 的同级模型,它经过训练可以按照提示中的说明进行操作并提供详细的响应。 InstructGPT论文:https://arxiv.org/pdf/2203.02155.pdf InstructGPT怎么准备和标记数据集:https://harryliu.blog.csdn.net/article/detail…

chatgpt和openai RateLimit(api使用速率限制)介绍

OpenAI的API提供商在API使用方面有一些限制和规定,其中之一就是限制API的使用速率,以避免滥用和过度消耗资源。这种限制称为速率限制(Rate Limit),是许多API服务提供商都采用的一种机制。 OpenAI的速率限制规定了每个…

ChatGPT的字数限制是什么?如果解决字数限制

字数限制和解决方案 ChatGPT的字数限制是什么? 当我们向ChatGPT提问,而碰巧这个问题的答案比较复杂,一两句话说不清出的时候,就会发现我们的答案输出到一半就中断了,大概是550个中文字左右。 同样的,如果…

解封ChatGPT我只用了一句话

文章前言 ChatGPT作为一个AI语言模型可以帮助使用者生成各种各样的文字内容,目前已被广泛应用于各种语言任务中,例如:文本生成、机器翻译、问答系统等,基于保障使用者权益和维护良好的价值观,官方限制ChatGPT不能回答不当言论(攻…

快速集成ChatGPT,请收藏好这份入门指南(Python版)

ChatGPT 是 GPT-3 语言模型的变体,专为会话语言生成而设计。 如果要在 Python 中使用 ChatGPT,您需要安装 OpenAI API 客户端并获取 API 密钥。在本文中,我们将设置一个简单的示例,教您在 Python 程序中使用 ChatGPT 所需的确切步…

安装chatglm

地址 下载源代码 下载完成后解压 安装cuda 输入nvcc -V查看是否安装cuda 输入nvidia-smi查看支持的最高版本,最高支持12.1 下载cudahttps://developer.nvidia.com/cuda-downloads 双击安装 同意之后点击下一步 选择精简模式即可 等待下载安装包 …

Chatgpt版本的opencv安装教程

文章目录 前言一、安装opencv方法一二、安装opencv方法二 前言 最近刚买了台RTX 3070的电脑,顺手刷了个ubuntu系统专门玩Carla,为了方便查资料,也顺手搭了浏览chatgpt的环境,用的clash,还挺好用的。然后刚好在看Carla…

ChatGPT使用学习(二):ChatPaper安装到测试详细教程(一文包会)

ChatPaper 1.简介及功能2.前置准备3.开始使用-命令行4.开始使用-网页 1.简介及功能 ChatPaper是一种基于文本生成技术的研究论文,可以根据用户的输入进行智能回复和互动,具有类似于ChatGPT的功能。它可以根据关键字来获取相应的论文,并通过分…

ChatGPT平替工具claude,无需梯子,保姆级安装教程

前言 最近炒的最火的就属chatgpt了,他的强大功能让每个人忍不住都想去尝试一下,但是高大上的门槛,让很多人望而却步,目前在国内还没有开放ChatGPT的注册和使用,“科学上网”这道难关就难住了许多人,特别是…

工具_本地安装chatgpt,openai

项目源码:https://github.com/nomic-ai/gpt4all 第一步 下载模型,选择一个下载即可 第二步 下载gpt项目到本地 文件夹运行cmd 输入以下命令克隆到文件 git clone https://github.com/nomic-ai/gpt4all.git第三步 下载的模型文件拷贝到 项目/chat …

KeepChatGPT插件安装教程

KeepChatGPT插件安装教程 KeepChatGPT可以让在中国通过VPN使用ChatGPT的用户更加流畅,不再出现需要刷新的问题: 具体的教程(简单到爆炸)如下: 主要有三步: 下载篡改猴的插件: 下载Github上的 …

【软件工具】Pycharm社区版安装ChatGPT!

文章目录 0.前言1. 简介2. 安装2.1 Pycharm下载安装2.2 ChatGPT安装2.3 一些问答 3 一些问题结束语 0.前言 不需要科学上网也能用ChatGPT啦!!! 1. 简介 ChatGPT是一种语言模型,它由OpenAI训练, 可以用于多种任务&am…

大厂卷起!Google 发布 ChatGPT 竞品 Bard

传闻许久,Google 终于出面为自己正在研发的 ChatGPT 竞争产品正名,由其 CEO 桑达尔皮查伊官宣,发布对话 AI 服务——Bard。CEO 亲自下场,不难看出 Google 对这款新品的重视程度。 不过,当前的 Bard 还处于实验性阶段&…

ChatGPT 与 ChatSonic的比较

ChatGPT 与 ChatSonic的比较 李升伟 前 言 众所周知,ChatGPT最大的不足是新知识获取能力,它目前为止只用到了2021年前的数据作为训练,无法回答2021年之后的相关信息问题。在ChatGPT发布的当前,一家智能写作的创业公司writesonic发布了ChatGP…

ChatGPT 通过谷歌算法面试,年薪 18.3 万美金

本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问。 声明:此图片由 MidJourney 生成 未经训练,不属于任何真实人物 大家好,我是小彭。 2023 开年以来,全球媒体最火爆的热点莫过于一…

谷歌加紧测试ChatGPT竞品,靠对话可搜最新信息

来源:量子位 现代服务产业技术创新战略联盟 本文约1700字,建议阅读5分钟ChatGPT步步紧逼,谷歌终于要亮兵器了。 据CNBC最新爆料,谷歌正测试一款类似ChatGPT的聊天机器人,名为Apprentice Bard。 该产品基于谷歌对话模型…

InstructGPT:chatGPT的姊妹模型

1.简介 本文根据2022年《Training language models to follow instructions with human feedback》翻译总结的,文中提出了InstructGPT,从文章标题也可以看出来训练模型采用了人类指导反馈的数据。 因为chatGPT说是InstructGPT的姊妹模型,所…