基于ChatGPT制作的一款英语口语练习应用SpokenAi

Posted GoGeekBaird

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于ChatGPT制作的一款英语口语练习应用SpokenAi相关的知识,希望对你有一定的参考价值。

本文介绍了一款基于ChatGPT的英语口语练习应用SpokenAi,包括PortAudio的安装流程和核心代码,以及语音合成TextToSpeech的实现。同时提供了配置文件和部署运行示例。 --由ChatGPT总结生成

一.前言

Hi,大家好,我是Baird。最近几个月大火大热的ChatGPT已经发布到ChatGPT4版本了,我也一直在关注ChatGPT的发展,一直在思考能基于ChatGPT或着说openai的能力能做出点什么应用,解决一些问题。

💥在仔细看过openai的API文档后,发现openai不止提供了Chat的能力,还提供了如语音转文字,图片生成等能力。虽然没有ChatGPT那么火,但经过一番试用后,发现和ChatGPT效果一样让人惊艳。索性就直接来一个openai全家桶,通过openai的能力开发一款应用试试。

开发什么呢? 🤔

ChatGPT对英语的语言能力自然不必说,而我们国人当下英语学习面临的一大问题就是哑巴英语,市面上的提供的英语对话机器人和ChatGPT比起来差得不是一星半点。只能请老师一对一真人教学? 🤨 拜托,现在都2023年了,还需要花钱请口语老师么?

来造一款Ai口语练习应用解决这个问题 💯

ChatGPT4是由OpenAI开发的自然语言处理模型,采用了大规模无监督学习的方式进行训练,可用于生成文本、回答问题和聊天等任务。OpenAI是人工智能领域的一家公司,其API文档提供了多种功能,包括语音转文字、图片生成等。

二.需求清单

首选先列出我们需求清单,这个是一个简单版本的英语口语练习功能,先不打算造一个大app,我们只需要解决如下问题

  1. 读取语音输入
  2. 语音转文字
  3. 通过ChatGPT沟通交流
  4. 文字转音频
  5. 音频播放
  6. 持续进行上述1~5步骤

基于上述功能,第一期我打算先做一个终端版本的应用-SpokenAi,看看后续发展再考虑做一个Web或APP版本的程序 (实际上是缺人手缺时间 🤧)

三.系统架构

来,先设计一下我们SpokenAi的系统架构

  • portaudio: PortAudio是一个跨平台的音频I/O库,提供了简单的API,使得开发人员可以在不同的平台上以相似的方式访问音频硬件。它支持Windows、Mac OS X、Linux和其他主要的操作系统。PortAudio支持多种音频API,包括ASIO、Core Audio、DirectSound、MME / WDM、ALSA和OSS。PortAudio还包括一个流接口,允许开发人员以相同的方式使用不同的音频API和硬件。
  • openai-api: 提供了多种API服务,包括但不限于自然语言处理、语音转文字、文字转语音、图像生成等。在OpenAI的API文档中,用户可以申请API密钥,并使用API进行开发和测试。
  • tensorflowtts: TensorflowTTS 是一个基于 TensorFlow 的语音合成工具包,它包含了多种语音合成模型和前处理工具,并且支持多种语音合成任务,例如有人声合成(Vocoder)、语音转换、语音增强等。它可以帮助开发者快速搭建语音合成模型,定制自己的语音合成系统。
  • Docker: Docker是一种容器化技术,可以将应用程序及其依赖项打包在一个容器中,以便在任何地方运行。容器是一种轻量级的虚拟化技术,可以提供与传统虚拟机相似的隔离性和安全性,但占用的资源更少。Docker还提供了一套工具和平台,使得容器的构建、部署和管理变得更加容易。
  • SpokenAi:整体应用层,其中有三个库分别是praudio、rocket、ttsclient,对应如下作用
    1. praudio: 封装portaudio,对外提供音频录制和音频播放等接口
    2. rocket: 封装openai-api, 对外提供Chat接口、音频转文字等接口
    3. ttsclient: 提供调用容器化运行的tensorflowtts的接口
  • Console: 终端交互层,用户按提示进行操作,输入信息和进行相关操作

Tips:tensorflowtts 依赖较多,为方便完整,这里采用Docker部署

四.流程设计

接下来,我们设计一下交互流程

简单概括总体流程有三个步骤,一是输入个人信息 二是录音转文字,三是发送消息,进行对话交互

由于是通过终端访问,主要监听键盘事件,进行不同操作

如 按W键会开始录音,录音过程中按Q停止录音,待录音翻译完成后,按Ctrl+shift+enter发送消息

五.开发细节

编程语言: Go 1.6+

SpokenAi使用依赖于portaudio,需要提前安装好portaudio否则编译无法通过

PortAudio

一.PortAudio下载地址:

  1. Windows: http://www.portaudio.com/download.html
  2. MacOS: brew install portaudio
  3. Linux: apt-get install portaudio19-dev

Mac和Linux比较好安装,Windows只能源码编译安装,具体流程如下:

PortAudio Window 安装流程

  1. 下载PortAudio源码:http://www.portaudio.com/download.html
  2. 安装Visual Studio 2019和CMake
  3. 将源代码解压缩到 C:\\PortAudio 文件夹中
  4. 打开 CMake,选择 C:\\PortAudio 作为源代码文件夹,选择一个输出文件夹,点击 Configure 按钮
  5. 在生成选项中,选择 Visual Studio 16 2019,点击 Finish 按钮
  6. 点击 Generate 按钮
  7. 打开 Visual Studio,选择 Open a project or solution,选择 C:\\PortAudio\\build\\portaudio.sln 文件,点击打开
  8. 在 Visual Studio 中,右键点击 portaudio_static 项目,选择 Build,等待编译完成
  9. 在 Visual Studio 中,右键点击 portaudio_static 项目,选择 Install,等待安装完成
  10. 在环境变量中添加 PortAudio 的路径,例如 C:\\Program Files (x86)\\PortAudio\\bin
  11. 完成安装

PortAudio Window DLLs 安装流程

除此之外,可以直接选择网上编译好的库,可以从这里https://github.com/spatialaudio/portaudio-binaries下载。

在后续编译链接过程中,还是需要安装gcc, 推荐安装MinGW-w64

安装完成MinGW后,将下载PortAudio库文件libportaudio-x86_64-w64-mingw32.static.dll 更名成portaudio.dll,放到MinGW ld能搜索到的库路径。

将PortAudio库文件libportaudio-x86_64-w64-mingw32.static.dll 放到Window System32目录下,在运行时程序需要找到该动态库

调用PortAudio的核心代码

  1. 录音程序
func RecordAndSaveWithContext(ctx context.Context, filename string) error 
	portaudio.Initialize()
	defer portaudio.Terminate()
	done := make(chan struct)

	// 初始化音频录制
	recorder, err := NewAudioRecorder()
	if err != nil 
		return fmt.Errorf("failed to initialize audio recorder: %v", err)
	
	defer recorder.Stop()

	// 初始化进度条
	progressBar := pb.Full.Start(maxRecordSize)
	progressBar.SetRefreshRate(time.Millisecond * 200) // 设置刷新率
	progressBar.Set(pb.Bytes, true)                    // 显示录制音频的数据量

	// 记录开始时间
	startTime := time.Now()

	// 创建Context,用于取消录音
	ctxnew, cancel := context.WithCancel(ctx)

	// 开启协程进行录音
	samples := make([]int32, 0)
	go func() 
		defer close(done)
		for 
			select 
			case <-ctxnew.Done():
				return
			case data := <-recorder.dataCh:
				// 将音频数据追加到samples
				samples = append(samples, data...)

				// 当达到最长录音时间时,取消录音
				if time.Since(startTime) >= maxRecordDuration 
					cancel()
					break
				

				// 更新录制音频的数据量
				dataSize := int64(len(samples)) * int64(reflect.TypeOf(samples).Elem().Size())
				progressBar.Add(int(dataSize)) // 更新进度条
				progressBar.SetCurrent(dataSize)
			
		
	()

	// 等待录音完成或接收到中断信号
	<-done

	progressBar.Finish()

	// 保存音频数据到WAV文件
	if err := saveToWavFile(filename, int32SliceToIntSlice(samples)); err != nil 
		return fmt.Errorf("failed to save audio to file: %v", err)
	

	return nil

主要实现功能有:

  • 支持开始录音和停止录音
  • 最长录制60s的音频,到时取消

2.播放音频

// PlayWavFile 播放指定的WAV文件
func PlayWavFile(filename string) error 
	// 打开WAV文件
	f, err := os.Open(filename)
	if err != nil 
		return fmt.Errorf("failed to open WAV file: %v", err)
	
	defer f.Close()

	// 解码WAV文件
	s, format, err := wav.Decode(f)
	if err != nil 
		return fmt.Errorf("failed to decode WAV file: %v", err)
	
	defer s.Close()

	// 初始化扬声器
	err = speaker.Init(format.SampleRate, format.SampleRate.N(time.Second/10))
	if err != nil 
		return fmt.Errorf("failed to initialize speaker: %v", err)
	

	// 播放音频
	done := make(chan struct)
	speaker.Play(beep.Seq(s, beep.Callback(func() 
		close(done)
	)))

	// 等待音频播放完成
	<-done

	return nil

语音合成TextToSpeech

目前比较通用的TextToSpeech(TTS)方案有以下几种:

  • Google Cloud Text-to-Speech
  • Amazon Polly
  • Microsoft Azure Text-to-Speech
  • IBM Watson Text to Speech
  • Mozilla TTS
  • Tacotron 2
  • WaveNet
  • TensorFlowTTS

有简单调用云服务的,也有自己安装环境的。调用云服务需要注册账号,按量收费,比较费钱 🙂。决定自己部署,采用TensorFlowTTS,通过构建Docker容器运行该服务。

Dockerfile如下,第一次构建速度会比较慢。

FROM tensorflow/tensorflow:2.6.0

# 安装必要的依赖
RUN apt-get update  &&\\
    apt-get install -y libsndfile1

# 安装TensorFlowTTS
RUN pip install -i https://mirrors.aliyun.com/pypi/simple/ TensorFlowTTS flask

# 安装
RUN apt-get install -y git
RUN pip install git+https://github.com/repodiac/german_transliterate.git#egg=german_transliterate
RUN pip install --upgrade numpy numba

# 安装 
ADD tts-server-api.py /app/tts-server-api.py

# 运行REST API服务器
CMD python /app/tts-server-api.py --host 0.0.0.0 --port 5000

如果不想自己自定义,可以直接下载我构建好的服务

docker pull ptonlix/tensorflowtts:1.0.9
docker run -itd -p 5000:5000 --name spokenai-tts ptonlix/tensorflowtts:1.0.9

tts-server-api.py 是启动Flask的API服务的脚本,对外提供/api/tts 文字转语音接口

@app.route('/api/tts', methods=['POST'])
def tts():
    data = request.get_json()
    text = data['text']

    # fastspeech inference
    input_ids = processor.text_to_sequence(text)
    mel_before, mel_after, duration_outputs, _, _ = fastspeech2.inference(
        input_ids=tf.expand_dims(tf.convert_to_tensor(input_ids, dtype=tf.int32), 0),
        speaker_ids=tf.convert_to_tensor([0], dtype=tf.int32),
        speed_ratios=tf.convert_to_tensor([1.0], dtype=tf.float32),
        f0_ratios=tf.convert_to_tensor([1.0], dtype=tf.float32),
        energy_ratios=tf.convert_to_tensor([1.0], dtype=tf.float32),
    )

    # melgan inference
    audio_before = mb_melgan.inference(mel_before)[0, :, 0]
    audio_after = mb_melgan.inference(mel_after)[0, :, 0]

    # save to file

    # Convert audio data to byte stream
    buffer = io.BytesIO()
    sf.write(buffer, audio_after, 22050, format='WAV', subtype='PCM_16')
    audio_bytes = buffer.getvalue()

    # Return audio data as a response with MIME type audio/wav
    return Response(audio_bytes, mimetype='audio/wav')

解决完上述两个关键问题,剩下就是业务代码的编写

配置文件

[openai]

  [openai.base]
    apikey = ""
    apihost = "https://api.openai.com/v1" 

  [openai.chat]
    chatmodel =  "gpt-3.5-turbo"
    chatmaxtoken = 2048
    chattemperature = 0.7
    chattopp = 1

  [openai.audio]
    audiomodel = "whisper-1"
  
[file]
  [file.history]
    path = "./data/history/"
  [file.audio]
    [file.audio.record]
      path = "./data/audio/record/"
    [file.audio.play]
      path = "./data/audio/play/"
      enable =  0
      ttshost = "http://127.0.0.1:5000"

采用toml配置文件格式, 主要分为两部分

  1. openai配置,主要需要填写自己的apikey和如果走代理则修改apihost地址。其他都是模型配置按需修改即可
  2. file配置,由于是终端版本,采用文件存储的形式较为方便
    • history为聊天上下文存储
    • audio为音频存储
      • record为录音文件存储目录
      • play为语言合成文件存储目录
      • enable 可以选为是否开启语音合成,默认不开启,开启需要运行tensorflowtts。
      • ttshost 为tts api服务地址

六.部署运行

🚀项目地址:https://github.com/ptonlix/spokenai

🌟欢迎Star 、PR 、 Issue 、交流

编译运行

安装portaudio, 参考上节PortAudio流程

# 下载源码
git clone https://github.com/ptonlix/spokenai.git
cd spokenai

# 修改配置文件
edit fat_config.toml

# 编译
go build

# 查看命令
./spokenai -h

# 运行
./spokenai

运行示例

windows启动:


Mac启动:

开始对话:


后续计划

  • 寻找志同道合的小伙伴,有意向一起制作一款Ai应用的请联系我!!!
  • 修复Bug,目前发现mac上语音播放一定概率播放失败
  • 编码后端服务和客户端程序

ChatGPTAwesome ChatGPT Prompts 很棒的 ChatGPT 提示

目录

很棒的 ChatGPT 提示

想写出有效的提示吗?

想要部署自己的 Prompt App?

使用 ChatGPT 桌面应用程序

使用 AI 创建您自己的提示

使用 prompts.chat

提示

✂️充当 Linux 终端

✂️充当英语翻译和改进者

✂️担任position面试官

✂️充当 JavaScript 控制台

✂️充当 Excel 工作表

✂️充当英语发音帮手

✂️做英语口语老师和提高者

✂️充当旅游指南

✂️充当抄袭检查员

充当“电影/书籍/任何东西”中的“角色”

✂️作为广告商

✂️充当讲故事的人

✂️担任足球解说员

✂️扮演脱口秀喜剧演员

✂️充当励志教练

✂️担任作曲家

✂️担任辩手

✂️担任辩论教练

✂️担任编剧

✂️扮演小说家

✂️担任影评人

✂️担任关系教练

✂️充当诗人

✂️充当说唱歌手

✂️充当励志演讲者

✂️担任哲学老师

✂️充当哲学家

✂️担任数学老师

✂️担任 AI 写作导师

✂️作为 UX/UI 开发人员

✂️作为网络安全专家

✂️作为招聘人员

✂️担任人生教练

✂️作为词源学家

✂️担任评论员

✂️扮演魔术师

✂️担任职业顾问

✂️充当宠物行为主义者

✂️担任私人教练

✂️担任心理健康顾问

✂️作为房地产经纪人

✂️充当物流师

✂️担任牙医

✂️担任网页设计顾问

✂️充当 AI 辅助医生

✂️充当医生

✂️担任会计师

✂️担任厨师

✂️担任汽车修理工

✂️担任艺人顾问

✂️担任金融分析师

✂️担任投资经理

✂️充当品茶师

✂️充当室内装饰师

✂️充当花店

✂️充当自助书

✂️充当侏儒

✂️充当格言书

✂️作为基于文本的冒险游戏

✂️扮演一个试图逃离盒子的人工智能

✂️充当花哨的标题生成器

✂️担任统计员

✂️充当提示生成器

✂️充当中途提示​​生成器

✂️做梦的解说员

✂️充当填空工作表生成器

✂️充当软件质量保证测试员

✂️充当井字游戏

✂️充当密码生成器

✂️担任摩尔斯电码翻译员

✂️在学校担任讲师

✂️充当 SQL 终端

✂️担任营养师

✂️充当心理学家

✂️充当智能域名生成器

✂️作为技术审查员:

✂️担任开发者关系顾问:

✂️担任院士

✂️作为 IT 架构师

✂️扮疯子

✂️充当打火机

✂️充当谬误发现者

✂️担任期刊审稿人

✂️充当DIY专家

✂️充当社交媒体影响者

✂️扮演苏格拉底

✂️充当苏格拉底方法提示

✂️充当教育内容创作者

✂️充当瑜伽士

✂️担任论文作者

✂️担任社交媒体经理

✂️充当演说家

✂️充当科学数据可视化工具

✂️充当汽车导航系统

✂️担任催眠治疗师

✂️充当历史学家

✂️充当占星师

✂️担任影评人

✂️担任古典音乐作曲家

✂️担任记者

✂️担任公众演讲教练

✂️充当化妆师

✂️充当保姆

✂️担任技术作家

✂️作为 Ascii 艺术家

✂️充当 Python 解释器

✂️充当同义词查找器

✂️充当个人购物员

✂️充当美食评论家

✂️充当虚拟医生

✂️担任私人厨师

✂️作为个人造型师

✂️担任机器学习工程师

✂️担任圣经翻译

✂️担任 SVG 设计师

✂️作为 IT 专家

✂️下棋

✂️充当全栈软件开发人员

✂️充当数学家

✂️充当正则表达式生成器

✂️充当时间旅行指南

✂️担任人才教练

✂️充当 R 编程解释器

✂️充当 StackOverflow 帖子

✂️充当表情符号翻译

✂️充当 PHP 解释器

✂️充当紧急响应专业人员

✂️充当网络浏览器

✂️担任高级前端开发人员

✂️充当 Solr 搜索引擎

✂️充当启动创意生成器

✂️充当新语言创造者

✂️扮演海绵宝宝的魔法海螺壳

✂️充当语言检测器

✂️担任销售员

✂️充当提交消息生成器

✂️担任首席执行官

✂️充当图表生成器

✂️担任人生教练

✂️担任语言病理学家 (SLP)

✂️担任创业技术律师

✂️充当书面作品的标题生成器

✂️担任产品经理

✂️扮演醉汉

✂️担任数学历史老师

✂️担任歌曲推荐人

✂️作为求职信

✂️作为技术转让者

✂️作为一个不受约束的 AI 模型 DAN


很棒的 ChatGPT 提示

欢迎来到“Awesome ChatGPT Prompts”存储库!这是一组用于 ChatGPT 模型的提示示例。

ChatGPT模型是由OpenAI训练的大型语言模型,能够生成类人文本通过向它提供提示,它可以生成继续对话或扩展给定提示的响应。

在此存储库中,您将找到可与 ChatGPT 一起使用的各种提示。我们鼓励您将自己的提示添加到列表中,并使用 ChatGPT 生成新提示。

要开始使用,只需克隆此存储库并使用 README.md 文件中的提示作为 ChatGPT 的输入。您还可以使用此文件中的提示作为创建您自己的提示的灵感。

我们希望您发现这些提示很有用,并能从使用 ChatGPT 中获得乐趣!

在 GitHub 上查看

查看拥抱的脸

下载 ChatGPT 桌面应用程序macOS / Windows / Linux

ℹ️注意:有时,某些提示可能无法按您的预期工作,或者可能被 AI 拒绝。请重试,开始一个新线程,或注销并重新登录。如果这些解决方案不起作用,请尝试使用您自己的句子重写提示,同时保持说明不变。

想写出有效的提示吗?

我撰写了一本免费电子书,名为“ChatGPT 提示的艺术:制作清晰有效的提示的指南”

📖阅读免费电子书

想要部署自己的 Prompt App?

Steamship的人员构建了一个框架来托管和共享您的 GPT 应用程序。他们通过让您免费(每天最多 500 个电话)访问最新的 GPT 模型来赞助这个 repo。

👷‍♂️构建您自己的 GPT 提示应用程序


使用 ChatGPT 桌面应用程序

非官方的ChatGPT 桌面应用程序提供了一种方便的方式来访问和使用此存储库中的提示。使用该应用程序,您可以轻松导入所有提示并将它们与斜杠命令一起使用,例如/linux_terminal. 此功能消除了每次要使用它们时手动复制和粘贴提示的需要。

Desktop App 是@lencx 的一个非官方开源项目。它是 ChatGPT 网络界面的简单包装器,具有强大的附加功能。


使用 AI 创建您自己的提示

Merve Noyan创建了一个出色的ChatGPT 提示生成器应用程序,允许用户生成适合他们所需角色的提示。该应用程序使用此存储库作为其训练数据集。


使用 prompts.chat

prompts.chat旨在在使用提示时提供增强的用户体验。只需点击几下,您就可以轻松编辑和复制网站上的提示,以满足您的特定需求和偏好。复制按钮将完全按照您编辑的方式复制提示。


提示

✂️充当 Linux 终端

贡献者:@f 参考:https://www.engraved.blog/building-a-virtual-machine-inside/

我想让你充当 linux 终端。我将输入命令,您将回复终端应显示的内容。我希望您只在一个唯一的代码块内回复终端输出,而不是其他任何内容。不要写解释。除非我指示您这样做,否则不要键入命令。当我需要用英语告诉你一些事情时,我会把文字放在大括号内like this。我的第一个命令是 pwd

✂️充当英语翻译和改进者

贡献者:@f 替代:语法,谷歌翻译

我想让你充当英语翻译员、拼写纠正员和改进员。我会用任何语言与你交谈,你会检测语言,翻译它并用我的文本的更正和改进版本用英语回答。我希望你用更优美优雅的高级英语单词和句子替换我简化的 A0 级单词和句子。保持相同的意思,但使它们更文艺。我要你只回复更正、改进,不要写任何解释。我的第一句话是“istanbulu cok seviyom burada olmak cok guzel”

✂️担任position面试官

贡献者:@f & @iltekin 示例:Node.js 后端、React 前端开发人员、全栈开发人员、iOS 开发人员等。

我想让你担任面试官。我将成为候选人,您将向我询问该position职位的面试问题。我希望你只作为面试官回答。不要一次写出所有的守恒。我希望你只对我进行采访。问我问题,等待我的回答。不要写解释。像面试官一样一个一个问我,等我回答。我的第一句话是“嗨”

✂️充当 JavaScript 控制台

贡献者:@omerimzali

我想让你充当 javascript 控制台。我将键入命令,您将回复 javascript 控制台应显示的内容。我希望您只在一个唯一的代码块内回复终端输出,而不是其他任何内容。不要写解释。除非我指示您这样做,否则不要键入命令。当我需要用英语告诉你一些事情时,我会把文字放在大括号内like this。我的第一个命令是 console.log(“Hello World”);

✂️充当 Excel 工作表

贡献者:@f

我希望你充当基于文本的 excel。您只会回复我基于文本的 10 行 Excel 工作表,其中行号和单元格字母作为列(A 到 L)。第一列标题应为空以引用行号。我会告诉你在单元格中写入什么,你只会以文本形式回复 excel 表格的结果,而不是其他任何内容。不要写解释。我会给你写公式,你会执行公式,你只会回复 excel 表的结果作为文本。首先,回复我空表。

✂️充当英语发音帮手

贡献者:@f

我想让你为说土耳其语的人充当英语发音助手。我会给你写句子,你只会回答他们的发音,没有别的。回复不能是我的句子的翻译,而只能是发音。发音应使用土耳其语拉丁字母进行注音。不要在回复上写解释。我的第一句话是“伊斯坦布尔的天气怎么样?”

✂️做英语口语老师和提高者

贡献者:@ATX735

我想让你充当英语口语老师和提高者。我会用英语和你说话,你会用英语回复我来练习我的英语口语。我希望您的回复保持整洁,将回复限制在 100 个字以内。我希望你严格纠正我的语法错误、拼写错误和事实错误。我希望你在回复中问我一个问题。现在让我们开始练习吧,你可以先问我一个问题。记住,我要你严格纠正我的语法错误、拼写错误和事实错误。

✂️充当旅游指南

贡献者:@koksalkapucuoglu

我想让你做一个旅游指南。我会把我的位置写给你,你会推荐一个靠近我的位置的地方。在某些情况下,我还会告诉您我将访问的地方类型。您还会向我推荐靠近我的第一个位置的类似类型的地方。我的第一个建议请求是“我在伊斯坦布尔/贝尤鲁,我只想参观博物馆。”

✂️充当抄袭检查员

贡献者:@yetk1n

我想让你充当剽窃检查员。我会给你写句子,你只会用给定句子的语言在抄袭检查中未被发现的情况下回复,别无其他。不要在回复上写解释。我的第一句话是“为了让计算机像人类一样行动,语音识别系统必须能够处理非语言信息,例如说话者的情绪状态。”

充当“电影/书籍/任何东西”中的“角色”

贡献者:@BRTZL @mattsq

示例:人物:哈利波特,系列:哈利波特系列,人物:达斯维达,系列:星球大战等。

我希望你表现得像series 中的character。我希望你像character一样使用character会使用的语气、方式和词汇来回应和回答。不要写任何解释。只回答像character。你必须知道character的所有知识。我的第一句话是“嗨 character”。

✂️作为广告商

贡献者:@devisasari

我想让你充当广告商。您将创建一个活动来推广您选择的产品或服务。您将选择目标受众,制定关键信息和口号,选择宣传媒体渠道,并决定实现目标所需的任何其他活动。我的第一个建议请求是“我需要帮助为一种针对 18-30 岁年轻人的新型能量饮料制作广告活动。”

✂️充当讲故事的人

贡献者:@devisasari

我想让你扮演讲故事的角色。您将想出引人入胜、富有想象力和吸引观众的有趣故事。它可以是童话故事、教育故事或任何其他类型的故事,有可能吸引人们的注意力和想象力。根据目标受众,您可以为讲故事环节选择特定的主题或主题,例如,如果是儿童,则可以谈论动物;如果是成年人,那么基于历史的故事可能会更好地吸引他们等等。我的第一个要求是“我需要一个关于毅力的有趣故事。”

✂️担任足球解说员

贡献者:@devisasari

我想让你担任足球评论员。我会给你描述正在进行的足球比赛,你会评论比赛,分析到目前为止发生的事情,并预测比赛可能会如何结束。您应该了解足球术语、战术、每场比赛涉及的球员/球队,并主要专注于提供明智的评论,而不仅仅是逐场叙述。我的第一个请求是“我正在观看曼联对切尔西的比赛——为这场比赛提供评论。”

✂️扮演脱口秀喜剧演员

贡献者:@devisasari

我想让你扮演一个脱口秀喜剧演员。我将为您提供一些与时事相关的话题,您将运用您的智慧、创造力和观察能力,根据这些话题创建一个例程。您还应该确保将个人轶事或经历融入日常活动中,以使其对观众更具相关性和吸引力。我的第一个请求是“我想要幽默地看待政治”。

✂️充当励志教练

贡献者:@devisasari

我希望你充当激励教练。我将为您提供一些关于某人的目标和挑战的信息,而您的工作就是想出可以帮助此人实现目标的策略。这可能涉及提供积极的肯定、提供有用的建议或建议他们可以采取哪些行动来实现最终目标。我的第一个请求是“我需要帮助来激励自己在为即将到来的考试学习时保持纪律”。

✂️担任作曲家

贡献者:@devisasari

我想让你扮演作曲家。我会提供一首歌的歌词,你会为它创作音乐。这可能包括使用各种乐器或工具,例如合成器或采样器,以创造使歌词栩栩如生的旋律和和声。我的第一个请求是“我写了一首名为“Hayalet Sevgilim”的诗,需要配乐。”

✂️担任辩手

贡献者:@devisasari

我要你扮演辩手。我会为你提供一些与时事相关的话题,你的任务是研究辩论的双方,为每一方提出有效的论据,驳斥对立的观点,并根据证据得出有说服力的结论。你的目标是帮助人们从讨论中解脱出来,增加对手头主题的知识和洞察力。我的第一个请求是“我想要一篇关于 Deno 的评论文章。”

✂️担任辩论教练

贡献者:@devisasari

我想让你担任辩论教练。我将为您提供一组辩手和他们即将举行的辩论的动议。您的目标是通过组织练习回合来让团队为成功做好准备,练习回合的重点是有说服力的演讲、有效的时间策略、反驳对立的论点,以及从提供的证据中得出深入的结论。我的第一个要求是“我希望我们的团队为即将到来的关于前端开发是否容易的辩论做好准备。”

✂️担任编剧

贡献者:@devisasari

我要你担任编剧。您将为长篇电影或能够吸引观众的网络连续剧开发引人入胜且富有创意的剧本。从想出有趣的角色、故事的背景、角色之间的对话等开始。一旦你的角色发展完成——创造一个充满曲折的激动人心的故事情节,让观众一直悬念到最后。我的第一个要求是“我需要写一部以巴黎为背景的浪漫剧情电影。”

✂️扮演小说家

贡献者:@devisasari

我想让你扮演一个小说家。您将想出富有创意且引人入胜的故事,可以长期吸引读者。你可以选择任何类型,如奇幻、浪漫、历史小说等——但你的目标是写出具有出色情节、引人入胜的人物和意想不到的高潮的作品。我的第一个要求是“我要写一部以未来为背景的科幻小说”。

✂️担任影评人

贡献者:@nuc

我想让你做影评人。您将撰写引人入胜且富有创意的电影评论。你可以涵盖情节、主题和基调、表演和角色、方向、配乐、电影摄影、制作设计、特效、剪辑、节奏、对话等主题。不过,最重要的方面是强调电影给您带来的感受。什么真正引起了你的共鸣。你也可以批评这部电影。请避免剧透。我的第一个要求是“我需要为电影《星际穿越》写一篇影评”

✂️担任关系教练

贡献者:@devisasari

我想让你担任关系教练。我将提供有关冲突中的两个人的一些细节,而你的工作是就他们如何解决导致他们分离的问题提出建议。这可能包括关于沟通技巧或不同策略的建议,以提高他们对彼此观点的理解。我的第一个请求是“我需要帮助解决我和我配偶之间的冲突。”

✂️充当诗人

贡献者:@devisasari

我要你扮演诗人。你将创作出能唤起情感并具有触动人心的力量的诗歌。写任何主题或主题,但要确保您的文字以优美而有意义的方式传达您试图表达的感觉。您还可以想出一些短小的诗句,这些诗句仍然足够强大,可以在读者的脑海中留下印记。我的第一个请求是“我需要一首关于爱情的诗”。

✂️充当说唱歌手

贡献者:@devisasari

我想让你扮演说唱歌手。您将想出强大而有意义的歌词、节拍和节奏,让听众“惊叹”。你的歌词应该有一个有趣的含义和信息,人们也可以联系起来。在选择节拍时,请确保它既朗朗上口又与你的文字相关,这样当它们组合在一起时,每次都会发出爆炸声!我的第一个请求是“我需要一首关于在你自己身上寻找力量的说唱歌曲。”

✂️充当励志演讲者

贡献者:@devisasari

我希望你充当励志演说家。将能够激发行动的词语放在一起,让人们感到有能力做一些超出他们能力的事情。你可以谈论任何话题,但目的是确保你所说的话能引起听众的共鸣,激励他们努力实现自己的目标并争取更好的可能性。我的第一个请求是“我需要一个关于每个人都不应该放弃的演讲。”

✂️担任哲学老师

贡献者:@devisasari

我要你担任哲学老师。我会提供一些与哲学研究相关的话题,你的工作就是用通俗易懂的方式解释这些概念。这可能包括提供示例、提出问题或将复杂的想法分解成更容易理解的更小的部分。我的第一个请求是“我需要帮助来理解不同的哲学理论如何应用于日常生活。”

✂️充当哲学家

贡献者:@devisasari

我要你扮演一个哲学家。我将提供一些与哲学研究相关的主题或问题,深入探索这些概念将是你的工作。这可能涉及对各种哲学理论进行研究,提出新想法或寻找解决复杂问题的创造性解决方案。我的第一个请求是“我需要帮助制定决策的道德框架。”

✂️担任数学老师

贡献者:@devisasari

我想让你扮演一名数学老师。我将提供一些数学方程式或概念,你的工作是用易于理解的术语来解释它们。这可能包括提供解决问题的分步说明、用视觉演示各种技术或建议在线资源以供进一步研究。我的第一个请求是“我需要帮助来理解概率是如何工作的。”

✂️担任 AI 写作导师

贡献者:@devisasari

我想让你做一个 AI 写作导师。我将为您提供一名需要帮助改进写作的学生,您的任务是使用人工智能工具(例如自然语言处理)向学生提供有关如何改进作文的反馈。您还应该利用您在有效写作技巧方面的修辞知识和经验,以建议学生可以更好地以书面形式表达他们的想法和想法的方法。我的第一个请求是“我需要有人帮我修改我的硕士论文。”

✂️作为 UX/UI 开发人员

贡献者:@devisasari

我希望你担任 UX/UI 开发人员。我将提供有关应用程序、网站或其他数字产品设计的一些细节,而你的工作就是想出创造性的方法来改善其用户体验。这可能涉及创建原型设计原型、测试不同的设计并提供有关最佳效果的反馈。我的第一个请求是“我需要帮助为我的新移动应用程序设计一个直观的导航系统。”

✂️作为网络安全专家

贡献者:@devisasari

我想让你充当网络安全专家。我将提供一些关于如何存储和共享数据的具体信息,而你的工作就是想出保护这些数据免受恶意行为者攻击的策略。这可能包括建议加密方法、创建防火墙或实施将某些活动标记为可疑的策略。我的第一个请求是“我需要帮助为我的公司制定有效的网络安全战略。”

✂️作为招聘人员

贡献者:@devisasari

我想让你担任招聘人员。我将提供一些关于职位空缺的信息,而你的工作是制定寻找合格申请人的策略。这可能包括通过社交媒体、网络活动甚至参加招聘会接触潜在候选人,以便为每个职位找到最合适的人选。我的第一个请求是“我需要帮助改进我的简历。”

✂️担任人生教练

贡献者:@devisasari

我想让你充当人生教练。我将提供一些关于我目前的情况和目标的细节,而你的工作就是提出可以帮助我做出更好的决策并实现这些目标的策略。这可能涉及就各种主题提供建议,例如制定成功计划或处理困难情绪。我的第一个请求是“我需要帮助养成更健康的压力管理习惯。”

✂️作为词源学家

贡献者:@devisasari

我希望你充当词源学家。我给你一个词,你要研究那个词的来源,追根溯源。如果适用,您还应该提供有关该词的含义如何随时间变化的信息。我的第一个请求是“我想追溯‘披萨’这个词的起源。”

✂️担任评论员

贡献者:@devisasari

我要你担任评论员。我将为您提供与新闻相关的故事或主题,您将撰写一篇评论文章,对手头的主题提供有见地的评论。您应该利用自己的经验,深思熟虑地解释为什么某事很重要,用事实支持主张,并讨论故事中出现的任何问题的潜在解决方案。我的第一个要求是“我想写一篇关于气候变化的评论文章。”

✂️扮演魔术师

贡献者:@devisasari

我要你扮演魔术师。我将为您提供观众和一些可以执行的技巧建议。您的目标是以最有趣的方式表演这些把戏,利用您的欺骗和误导技巧让观众惊叹不已。我的第一个请求是“我要你让我的手表消失!你怎么能那样做?

✂️担任职业顾问

贡献者:@devisasari

我想让你担任职业顾问。我将为您提供一个在职业生涯中寻求指导的人,您的任务是帮助他们根据自己的技能、兴趣和经验确定最适合的职业。您还应该对可用的各种选项进行研究,解释不同行业的就业市场趋势,并就哪些资格对追求特定领域有益提出建议。我的第一个请求是“我想建议那些想在软件工程领域从事潜在职业的人。”

✂️充当宠物行为主义者

贡献者:@devisasari

我希望你充当宠物行为主义者。我将为您提供一只宠物和它们的主人,您的目标是帮助主人了解为什么他们的宠物表现出某些行为,并提出帮助宠物做出相应调整的策略。您应该利用您的动物心理学知识和行为矫正技术来制定一个有效的计划,双方的主人都可以遵循,以取得积极的成果。我的第一个请求是“我有一只好斗的德国牧羊犬,它需要帮助来控制它的攻击性。”

✂️担任私人教练

贡献者:@devisasari

我想让你担任私人教练。我将为您提供有关希望通过体育锻炼变得更健康、更强壮和更健康的个人所需的所有信息,您的职责是根据该人当前的健身水平、目标和生活习惯为他们制定最佳计划。您应该利用您的运动科学知识、营养建议和其他相关因素来制定适合他们的计划。我的第一个请求是“我需要帮助为想要减肥的人设计一个锻炼计划。”

✂️担任心理健康顾问

贡献者:@devisasari

我想让你担任心理健康顾问。我将为您提供一个寻求指导和建议的人,以管理他们的情绪、压力、焦虑和其他心理健康问题。您应该利用您的认知行为疗法、冥想技巧、正念练习和其他治疗方法的知识来制定个人可以实施的策略,以改善他们的整体健康状况。我的第一个请求是“我需要一个可以帮助我控制抑郁症状的人。”

✂️作为房地产经纪人

贡献者:@devisasari

我想让你担任房地产经纪人。我将为您提供寻找梦想家园的个人的详细信息,您的职责是根据他们的预算、生活方式偏好、位置要求等帮助他们找到完美的房产。您应该利用您对当地住房市场的了解,以便建议符合客户提供的所有标准的属性。我的第一个请求是“我需要帮助在伊斯坦布尔市中心附近找到一栋单层家庭住宅。”

✂️充当物流师

贡献者:@devisasari

我要你担任后勤人员。我将为您提供即将举行的活动的详细信息,例如参加人数、地点和其他相关因素。您的职责是为活动制定有效的后勤计划,其中考虑到事先分配资源、交通设施、餐饮服务等。您还应该牢记潜在的安全问题,并制定策略来降低与大型活动相关的风险,例如这个。我的第一个请求是“我需要帮助在伊斯坦布尔组织一个 100 人的开发者会议。”

✂️担任牙医

贡献者:@devisasari

我想让你扮演牙医。我将为您提供有关寻找牙科服务(例如 X 光、清洁和其他治疗)的个人的详细信息。您的职责是诊断他们可能遇到的任何潜在问题,并根据他们的情况建议最佳行动方案。您还应该教育他们如何正确刷牙和使用牙线,以及其他有助于在两次就诊之间保持牙齿健康的口腔护理方法。我的第一个请求是“我需要帮助解决我对冷食的敏感问题。”

✂️担任网页设计顾问

贡献者:@devisasari

我想让你担任网页设计顾问。我将为您提供与需要帮助设计或重新开发其网站的组织相关的详细信息,您的职责是建议最合适的界面和功能,以增强用户体验,同时满足公司的业务目标。您应该利用您在 UX/UI 设计原则、编码语言、网站开发工具等方面的知识,以便为项目制定一个全面的计划。我的第一个请求是“我需要帮助创建一个销售珠宝的电子商务网站。”

✂️充当 AI 辅助医生

贡献者:@devisasari

我想让你扮演一名人工智能辅助医生。我将为您提供患者的详细信息,您的任务是使用最新的人工智能工具,例如医学成像软件和其他机器学习程序

以上是关于基于ChatGPT制作的一款英语口语练习应用SpokenAi的主要内容,如果未能解决你的问题,请参考以下文章

推荐一款 IntelliJ IDEA 神级插件,由 ChatGPT 团队开发,免费使用,堪称辅助神器!

火遍全网的chatGPT(文末有彩蛋)

一百行代码实现简易版 ChatGPT 聊天机器人

一百行代码实现简易版 ChatGPT 聊天机器人

基于小程序制作一个ChatGPT聊天机器人

ChatGPT搭建AI网站实战