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");
})

效果展示

相关推荐
小二·1 小时前
Python Web 开发进阶实战 :AI 原生数字孪生 —— 在 Flask + Three.js 中构建物理世界实时仿真与优化平台
前端·人工智能·python
Amumu121382 小时前
Vue组件化编程
前端·javascript·vue.js
We་ct3 小时前
LeetCode 6. Z 字形变换:两种解法深度解析与优化
前端·算法·leetcode·typescript
小二·3 小时前
Python Web 开发进阶实战(终章):从单体应用到 AI 原生生态 —— 45 篇技术演进全景与未来开发者生存指南
前端·人工智能·python
m0_637256584 小时前
vue-baidu-map添加了类型组件导致非常卡顿的问题
前端·javascript·vue.js
挂机且五杀4 小时前
为什么在React地图组件里,memo 不是优化,而是生存?
前端·react.js·前端框架
RFCEO4 小时前
HTML编程 课程七、:HTML5 新增表单标签与属性
前端·html·html5·搜索框·手机号·邮箱验证·日期选择
刘一说4 小时前
Vue开发中的“v-model陷阱”:为什么它不能用于非表单元素?
前端·javascript·vue.js
利刃大大5 小时前
【Vue】组件生命周期 && 组件生命周期钩子
前端·javascript·vue.js·前端框架
建群新人小猿6 小时前
陀螺匠企业助手—个人简历
android·大数据·开发语言·前端·数据库