vue调用openai的代码

openai 文章 2023-03-19 17:27 2504 0 全屏看文

AI助手支持GPT4.0

以下是一个简单的 Vue 应用示例,用于对接 ChatGPT 接口。该示例包含一个输入框、一个发送按钮、一个显示对话的区域以及一个保存聊天记录的功能。请注意,你需要在这个示例中替换你自己的 ChatGPT API 密钥。


首先确保已经安装了 Vue 和 Axios:

npm install -g vue
npm install axios

创建一个名为 app.vue 的文件,并将以下内容复制到该文件中:

<template>
  <div id="app">
    <div class="chat-container">
      <div class="messages">
        <div v-for="(message, index) in messages" :key="index" :class="message.type">
          {{ message.content }}
        </div>
      </div>
      <div class="input-container">
        <input type="text" v-model="userInput" @keyup.enter="sendMessage" placeholder="Type your message" />
        <button @click="sendMessage">发送</button>
        <button @click="saveChat">保存聊天记录</button>
      </div>
    </div>
  </div>
</template>

<script>
import axios from 'axios';

export default {
  data() {
    return {
      userInput: '',
      messages: []
    };
  },
  methods: {
    async sendMessage() {
      if (!this.userInput) return;

      this.messages.push({ type: 'user', content: this.userInput });

      const response = await axios.post('https://api.openai.com/v1/engines/davinci-codex/completions', {
        prompt: `User: ${this.userInput}\nChatGPT: `,
        max_tokens: 150,
        n: 1,
        stop: null,
        temperature: 0.7,
      }, {
        headers: {
          'Authorization': 'Bearer YOUR_API_KEY',
          'Content-Type': 'application/json'
        }
      });

      const chatGPTResponse = response.data.choices[0].text.trim();
      this.messages.push({ type: 'chatgpt', content: chatGPTResponse });

      this.userInput = '';
    },
    saveChat() {
      const chatLog = this.messages.map(message => `${message.type === 'user' ? 'User' : 'ChatGPT'}: ${message.content}`).join('\n');
      const blob = new Blob([chatLog], { type: 'text/plain;charset=utf-8' });
      const url = URL.createObjectURL(blob);
      const link = document.createElement('a');
      link.href = url;
      link.download = 'chat_log.txt';
      link.click();
    }
  }
};
</script>

<style scoped>
.chat-container {
  max-width: 600px;
  margin: 0 auto;
  padding: 1rem;
  font-family: Arial, sans-serif;
}

.messages {
  max-height: 400px;
  overflow-y: auto;
  margin-bottom: 1rem;
}

.input-container {
  display: flex;
  justify-content: space-between;
}

input {
  flex-grow: 1;
  margin-right: 1rem;
}

.user {
  text-align: right;
  color: blue;
}

.chatgpt {
  text-align: left;
  color: green;
}
</style>

请将 YOUR_API_KEY 替换为您的 ChatGPT API 密钥。这个示例中,我们使用了 DaVinci

-EOF-

AI助手支持GPT4.0


国内超级便宜服务器

摸鱼人热门新闻聚合

钻级赞助商 我要加入

开发者在线工具

第三方支付技术请加QQ群

相关文章
为什么openai无法使用中国的visa卡支付
java调用chatGPT代码(支持代理)
chatGPT回答有6支烟,来了7位领导,怎么分?这个问题
Account deactivated. Please contact us through ourhelp center
ChatGPT前面加什么前缀可以让它回答一些他不肯回答的问题
随便看看
线上防疫题库正确答案 2932
线上防疫题库正确答案(多选题) 4825
微信设置不可以使用小程序(游戏小程序) 5636
adsense申请已经支付的订单回退的网址 3212
BT面板查看网站入口、账号密码的命令 6009
ucloud海外服务器超级优惠券 3274
根据您的消费情况,您的延停权益已发生变化,变更后的延停权益为延停额度20.00元 5831
为什么我们喜欢迈克尔杰克逊。 4164
阿里云com、cn域名续费优惠码(2020年5月可用) 3586
阿里云com、cn域名续费优惠码(2020年6月可用) 3606