一、OpenAI简介
OpenAI是一个人工智能研究实验室和技术公司,致力于推动人工智能的发展和应用。OpenAI最著名的项目之一是GPT(Generative Pre-trained Transformer)系列模型,其中包括了GPT-3,它是迄今为止最大规模的语言模型之一。GPT-3具有惊人的语言生成和理解能力,可以执行各种自然语言处理任务,如文本生成、翻译、问题回答等。
二、准备工作
-
创建OpenAI账号 访问OpenAI官网,注册一个账号并获取API密钥。(教程很多,随便找个就行)
-
安装依赖库 使用npm安装OpenAI
npm install openai
三、代码编写
const express = require('express');
const openAI = require('openai');
// 创建一个Express应用实例
const app = express();
// 定义服务器监听的端口号,这里设置为3000
const port = 3000;
// 设置OpenAI客户端
const client = new openAI({
apiKey: 'YOUR_API_KEY_HERE', // 请确保使用您自己的API密钥,这是访问OpenAI服务的关键凭证
baseURL: 'https://api.chatanywhere.tech/v1' // 注意:这通常不是OpenAI的官方API URL,除非您在使用特定的自定义或第三方服务,不同的API URL可能对应不同的服务或配置
});
async function handleRequest(req, res) {
// 打印接收到的POST请求的请求体内容,用于调试查看客户端发送的数据格式等信息
console.log(req.body);
try {
// 使用OpenAI客户端发送聊天完成请求
const completion = await client.chat.completions.create({
// 设置聊天消息内容,这里只设置了一条用户消息,角色为'user',内容是'我是帅哥'
messages: [{ role: 'user', content: '我是帅哥' }],
// 指定使用的OpenAI模型,这里是gpt-3.5-turbo模型,它在自然语言处理方面有出色的表现
model: 'gpt-3.5-turbo',
});
// 将从OpenAI获取到的回复消息内容发送回客户端,以JSON格式进行响应
res.json({
message: completion.choices[0].message.content,
});
} catch (error) {
// 如果在与OpenAI交互过程中发生错误,将错误信息以JSON格式发送回客户端,并设置服务器响应状态码为500,表示服务器内部错误
res.status(500).json({ error: error.message });
}
}
// 使用Express的中间件来解析传入的JSON格式的请求体数据,这样才能正确获取到POST请求中的数据内容
app.use(express.json());
app.post('/chat', handleRequest);
app.listen(port, () => {
console.log(`Server is running on http://localhost:${port}`);
});
结果: