赞
踩
python:3+
ffmpeg:用于处理视频和语音
gradio:UI界面和读取语音
我们的目的是做一个语音智能助手
下面我们开始
因为需要写python代码,用Visual Studio Code
比较方便。
执行下载好的exe文件,可以建议选择自定义安装,这样可以修改安装路径,只要别安装到C盘就行。
记得勾选添加到环境变量
假设在安装时候,忘记了勾选添加到环境变量,那么我们可以自己配置
将下载好的安装包,进行解压,然后将解压后的文件夹放到平时自己喜欢的安装目录里。
比如:我的是D盘:D:\Program Files\ffmpeg
。
https://github.com/p-groarke/wsay/releases/tag/v1.5.0
点击下图进行下载:
先创建一个项目文件夹,比如我的:E:\openai\project\Chatbot
然后打开我们之前下载好的vsCode,并打开相关目录。
参照gradio官网写测试代码
https://gradio.app/quickstart/
测试代码1:页面
import gradio as gr
def 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 gr
def 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 messages myfile=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_transcript ui = gr.Interface(fn=transcribe, inputs=gr.Audio(source="microphone", type="filepath"), outputs="text") ui.launch()
效果如下:
参考地址:
https://updayday.notion.site/Chat-GPT-WHISPER-API-GPT-3-5-TURBO-2af2630c857a4f0da92abcc763b4fd48
Whisper API cannot read files correctly
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。