Nodejs 第六十七章(OpenAI)

OpenAI

OpenAI是一个人工智能研究实验室和技术公司,致力于推动人工智能的发展和应用

OpenAI最著名的项目之一是GPT(Generative Pre-trained Transformer)系列模型,其中包括了GPT-3,它是迄今为止最大规模的语言模型之一。GPT-3具有惊人的语言生成和理解能力,可以执行各种自然语言处理任务,如文本生成、翻译、问题回答等。

应用场景

使用Node.js和OpenAI API,您可以实现各种应用,例如:

  1. 文本生成:利用OpenAI的文本生成能力,生成文章、故事、对话等内容。
  2. 语言翻译:通过调用OpenAI API,实现自动翻译功能,将一种语言翻译成另一种语言。
  3. 问题回答:将用户提出的问题传递给OpenAI模型,获取高质量的回答。
  4. 智能对话机器人:构建智能对话机器人,能够与用户进行自然而流畅的对话。

申请流程

  1. 访问openAI 官网 openai.com/
  2. 登录

申请key

代码编写

需要安装的依赖

  1. dotenv 获取环境变量
  2. openai 调用openai 能力
  3. express 编写接口提供服务

新建.env 文件

env 复制代码
API-KEY = 'openai秘钥'

新建index.js文件

js 复制代码
import OpenAi from "openai";
import dontenv from 'dotenv';
import express from 'express';
const app = express();
app.use(express.json());
dontenv.config() //注册环境变量
const openAi = new OpenAi({
    apiKey:process.env['API-KEY'] //读取秘钥
});
//文本对话
app.post("/chat", async (req, res) => {
    const { message } = req.body; //message就是你要问的问题
    const completion =  await openAi.chat.completions.create({
        model:"gpt-3.5-turbo",
        messages:[{role:"user", content:message}]
    })
    res.json({
        result:completion.choices[0].message.content //返回信息
    })
})
//生成图片
app.post('/create/image', async (req, res) => {
    const { prompt } = req.body; //你要描述的图片信息
    const completion = await openAi.images.generate({
        model:"dall-e-2", //使用的模型
        prompt,
        n:1,
        size:"1024x1024"
    })
    res.json({
        result:completion.data[0].url //返回图片地址
    })
})

app.listen(3000, () => {
    console.log("Server is running on port 3000");
})

效果展示

相关推荐
CHU7290356 分钟前
一番赏盲盒抽卡机小程序:解锁惊喜体验与社交乐趣的多元功能设计
前端·小程序·php
RFCEO7 分钟前
前端编程 课程十二、:CSS 基础应用 Flex 布局
前端·css·flex 布局·css3原生自带的布局模块·flexible box·弹性盒布局·垂直居中困难
天若有情67330 分钟前
XiangJsonCraft v1.2.0重大更新解读:本地配置优先+全量容错,JSON解耦开发体验再升级
前端·javascript·npm·json·xiangjsoncraft
2501_944525541 小时前
Flutter for OpenHarmony 个人理财管理App实战 - 预算详情页面
android·开发语言·前端·javascript·flutter·ecmascript
打小就很皮...1 小时前
《在 React/Vue 项目中引入 Supademo 实现交互式新手指引》
前端·supademo·新手指引
C澒1 小时前
系统初始化成功率下降排查实践
前端·安全·运维开发
C澒2 小时前
面单打印服务的监控检查事项
前端·后端·安全·运维开发·交通物流
pas1362 小时前
39-mini-vue 实现解析 text 功能
前端·javascript·vue.js
qq_532453532 小时前
使用 GaussianSplats3D 在 Vue 3 中构建交互式 3D 高斯点云查看器
前端·vue.js·3d
Swift社区2 小时前
Flutter 路由系统,对比 RN / Web / iOS 有什么本质不同?
前端·flutter·ios