Cara Membuat OpenAI API Dengan Nodejs Dan Express - CRUDPRO

Cara Membuat OpenAI API Dengan Nodejs Dan Express

Cara Membuat OpenAI API Dengan Nodejs Dan Express

Pendahuluan

OpenAI adalah platform kecerdasan buatan yang menyediakan mode terlatih untuk pembuatan text, pengenalan ucapan, dan pengetahuan bahasa alami. Itu bisa digunakan lewat API mereka untuk memadukan sejumlah fitur ini ke program Anda sendiri.

Pada artikel ini, kami akan memperlihatkan ke Anda langkah membuat API Node.js dengan Express dan TypeScript yang menggunakan OpenAI API untuk hasilkan jawaban atas pertanyaan.

Prasyarat

Sebelum memulai, Anda memerlukan yang berikut ini:

  • Akun OpenAI (Anda bisa mendaftarkan di website mereka: https://openai.com/api /)
  • Kunci API OpenAI
  • Komputer atau MAC dengan Node.js dan npm (atau benang) terpasang
  • Editor kode opsi Anda (saya memakai VS Code)

Setting Up the Environment

1. Buat direktori baru untuk proyek Anda dan membuka di editor kode Anda.

2. Inisialisasi proyek baru dengan menjalankan perintah yarn initor npm init di terminal editor kode Anda. Ikuti beberapa langkah untuk menyiapkan info dasar untuk proyek Anda.

3. Instal dependensi berikut ini:

// You can replace "yarn add" for "npm install"
yarn add express
yarn add @types/express
yarn add request-promise-native
yarn add @types/request-promise-native
yarn add typescript
yarn add request
yarn add dotenv

// Fast version : 
yarn add express @types/express request-promise-native @types/request-promise-native typescript request dotenv

4. Tambah file tsconfig.json ke root proyek Anda dengan konten berikut ini:

{
    "compilerOptions": {
        "target": "es6",
        "module": "commonjs",
        "strict": true,
        "outDir": "./dist",
        "rootDir": "./src"
    },
    "include": [
        "src/**/*"
    ]
}

5. Buat direktori src dan src/index.ts. mengajukan. Ini bisa menjadi titik masuk untuk program Anda.

6. Buat file.env di root proyek tempat Anda menempatkan variabel lingkungan:

OPENAI_SECRET_KEY="VOTRE_API_KEY"

Setting up APIs

1. Impor dependensi yang diperlukan dalam file src/index.ts Anda:

import * as express from 'express';
import { promises as fs } from 'fs';
import { post } from 'request-promise-native';
import * as dotenv from 'dotenv';

2. Menginisialisasi Express dan mendengarkan pada port 3000:

dotenv.config() // Get your environment variab
const app = express();
const port = 3000;
app.listen(port, () => {
  console.log(`API listening on http://localhost:${port}`);
});

3. Buat rute untuk menangani keinginan GET ke root API Anda :

app.get('/', async (req, res) => {
  // Code to generate answers to questions with OpenAI
});

4. Gunakan API OpenAI untuk menghasilkan jawaban atas pertanyaan di rute ini. Anda bisa memakai request-promise-nativelibrary untuk mengirim permintaan HTTP ke OpenAI API.

Berikut contoh bagaimana Anda bisa menggunakan pustaka request-promise-native untuk mengirim permintaan ini:

const options = {
    method: 'POST',
    uri: 'https://api.openai.com/v1/engines/davinci/completions',
    headers: {
      'Content-Type': 'application/json',
      'Authorization': `Bearer ${process.env.OPENAI_SECRET_KEY}`
    },
    body: {
      prompt: 'What is the meaning of life?', // Spoiler : The answer you'll get is quite philosophical      
      temperature: 1,
      max_tokens: 100 // Link below for explanations
    },
    json: true
  };
  const response = await post(options);
  res.send(response.choices[0].text);

5. Kompilasi dan jalankan aplikasi Anda :

yarn tsc
node dist/index.js

Itu dia! Anda saat ini memiliki API Node.js dengan Express dan TypeScript yang menggunakan API OpenAI untuk hasilkan jawaban atas pertanyaan. Anda saat ini bisa menggunakannya untuk memadukan fitur kepandaian bikinan ke program Anda sendiri.

Penting untuk jadi perhatian jika OpenAI API mempunyai batasan penggunaan dan biaya, Anda harus mengeceknya saat sebelum mengeluarkan program produksi!

Jika Anda mempunyai pertanyaan atau pembaruan yang disarankan terkait artikel ini, tidak boleh ragu untuk memberitahu saya :)