Node.js之openAI

75 阅读2分钟

一、OpenAI简介

OpenAI是一个人工智能研究实验室和技术公司,致力于推动人工智能的发展和应用。OpenAI最著名的项目之一是GPT(Generative Pre-trained Transformer)系列模型,其中包括了GPT-3,它是迄今为止最大规模的语言模型之一。GPT-3具有惊人的语言生成和理解能力,可以执行各种自然语言处理任务,如文本生成、翻译、问题回答等。

二、准备工作

  1. 创建OpenAI账号 访问OpenAI官网,注册一个账号并获取API密钥。(教程很多,随便找个就行)

  2. 安装依赖库 使用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}`);
});

结果:

image.png

参考文章 juejin.cn/post/736955…