使用JavaScript将麦克风输入与ChatGPT集成
逐步指南
1. 建立HTML结构
创建一个简单的HTML结构,其中包含按钮用于启动和停止麦克风输入,以及用于ChatGPT响应的显示区域。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset=UTF-8 <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Voice Input to ChatGPT</title>
</head>
<body>
<h1>Use Your Voice to Chat with GPT</h1>
<button id="startButton">Start Listening</button>
<button id="stopButton" disabled>Stop Listening</button>
<div id="response"></div>
<script src="app.js"></script>
</body>
</html>
2. 实现JavaScript语音识别和API集成
使用 Web 语音 API 捕捉语音输入并将其发送到 OpenAI API。
// Import dotenv to load environment variables from .env file
import 'dotenv/config';
import { Configuration, OpenAIApi } from 'openai';
// Initialize OpenAI API
const openai = new OpenAIApi(new Configuration({
apiKey: process.env.OPENAI_API_KEY,
}));
// Set up speech recognition
const SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition;
const recognition = new SpeechRecognition();
recognition.continuous = true;
recognition.interimResults = false;
const startButton = document.getElementById('startButton');
const stopButton = document.getElementById('stopButton');
const responseDiv = document.getElementById('response');
startButton.addEventListener('click', () => {
recognition.start();
startButton.disabled = true;
stopButton.disabled = false;
});
stopButton.addEventListener('click', () => {
recognition.stop();
startButton.disabled = false;
stopButton.disabled = true;
});
recognition.onresult = async (event) => {
const transcript = event.results[event.results.length - 1][0].transcript.trim();
console.log('You said: ', transcript);
// Send the recognized text to ChatGPT
try {
const gptResponse = await openai.createCompletion({
model: "text-davinci-003",
prompt: transcript,
max_tokens: 150,
});
responseDiv.innerText = gptResponse.data.choices[0].text.trim();
} catch (error) {
console.error("Error fetching response from ChatGPT:", error);
responseDiv.innerText = "Error fetching response. Please try again.";
}
};
recognition.onerror = (event) => {
console.error("Speech recognition error detected: " + event.error);
};
3. 配置环境变量
确保您在项目目录中有一个具有您的OpenAI API密钥的.env文件:
OPENAI_API_KEY=your_actual_api_key_here
4. 运行您的应用程序
确保您的项目配置为使用ES模块,可以通过将您的JavaScript文件重命名为.mjs,或在您的package.json中添加"type": "module"来实现。然后,使用本地服务器或直接在浏览器中运行您的应用程序。
結論
这种设置允许您使用麦克风的语音输入作为ChatGPT的提示,为您提供一种与AI使用自然语言互动的无缝方式。一定要优雅地处理任何潜在错误,并在遇到OpenAI API的配额问题时考虑实施限速策略。
所以,无论您是技术爱好者,专业人士,还是只是想学习更多的人,我邀请您跟随我一起前进。订阅我的博客并在社交媒体上关注我,保持联系,永远不要错过任何一篇文章。
一起来探索令人兴奋的科技世界及其提供的一切。我迫不及待地想要与你互动!
在社交媒体上关注我:https://linktr.ee/mdshamsfiroz
快乐编程!快乐学习!