使用 chatGPT 探索多样化的说话风格

4,879 阅读1分钟

image-20230219193022209.png

先上链接: sentence-ai.vercel.app/

ChatGPT 是最近很火的技术,具体是啥我就不专门介绍了,下面聊下我使用 ChatGPT 做的这个小网页,这个网页实现的功能是: 对于一句话,如果李白或者王家卫说出应该是什么样子的。我感觉挺有意思,在此分享个大家。

灵感

笔者一直有刷 B 站的习惯,其中对王家卫的一些台词很有感觉,恰巧 ChatGPT 横空出世,于是这个灵感就产生了: 如果随便说的一句话以王家卫台词风格说出应该是什么效果呢?想想就很有意思哈。

image-20230219200548900.png

实现

1. 获取 open ai 的 apiKey

登陆 platform.openai.com/ 网址,然后从个人详情中点击 「View API keys」,其中在 API keys 中就能获取 key

image-20230219213111089.png

2. 编写核心代码实现功能

说明: 笔者用 node.js 代码编写的。

首先通过 npm install openai 安装 node.js sdk openpai ,然后键入以下代码就行。

  • apiKey 的值就是步骤一中申请的值
let {Configuration, OpenAIApi} = require("openai")

const configuration = new Configuration({
  apiKey: "xxxxx",
});

const openai =  new OpenAIApi(configuration);

function generatePrompt(data) {
  const prompt = `"${data.sentence}"-产生${data.author}风格的句子.`;
  return prompt;
}

const data = {
  sentence : "傍晚我出去吃饭,回来的时遇到了小明,我们交谈了好久",
  author :  "古龙"
}
const prompt = generatePrompt(data);

openai.createCompletion({
  model: "text-davinci-003",
  prompt,
  temperature: 0,
  max_tokens: 150,
  top_p: 1.0,
  frequency_penalty: 0.0,
  presence_penalty: 0.0,
  stop: [":"],
}).then(response => {
  result = response.data.choices[0].text
  console.log(result)
})

运行以上程序,就能看到想要的结果。

3. 部署功能上线

考虑到 vercle 上线还是很方便的, 所以这里选择 vercle 部署,注: vercle 国内访问不到,需要科学上网。

最终效果

其实就是最上方的截图~

本文正在参加 ✍🏻 技术视角深入 ChatGPT 征文活动