使用Node.js搭建OpenAI開發環境

  • 727字
  • 4分鐘
  • 2024-06-25

OpenAI提供了強大的API,可以用於自然語言處理、生成文本等各種應用。在本文中,我將介紹如何使用Node.js搭建OpenAI開發環境,包括環境配置、依賴安裝以及示例代碼講解,幫助你快速上手OpenAI API。

環境配置

1. 安裝Node.js

首先,確保你已經安裝了Node.js。你可以通過以下命令檢查是否安裝了Node.js:

Terminal window
1
node -v

如果沒有安裝Node.js,可以從Node.js官網下載並安裝最新版本。

2. 初始化項目

在項目目錄下運行以下命令,初始化一個新的Node.js項目:

Terminal window
1
mkdir openai-nodejs-project
2
cd openai-nodejs-project
3
npm init -y

這將創建一個package.json文件,用於管理項目的依賴和配置。

依賴安裝

1. 安裝OpenAI SDK

OpenAI提供了官方的Node.js SDK。你可以通過以下命令安裝它:

Terminal window
1
npm install openai

2. 安裝其他依賴

為了方便後續的開發,可以安裝dotenv庫來管理環境變量,以及axios庫來進行HTTP請求(如果需要):

Terminal window
1
npm install dotenv axios

配置環境變量

在項目根目錄下創建一個.env文件,添加你的OpenAI API密鑰:

Terminal window
1
OPENAI_API_KEY=your_openai_api_key_here

然後,在項目中加載環境變量。修改或創建一個index.js文件,添加以下代碼:

1
require("dotenv").config();
2
const { Configuration, OpenAIApi } = require("openai");
3
4
const configuration = new Configuration({
5
apiKey: process.env.OPENAI_API_KEY,
6
});
7
const openai = new OpenAIApi(configuration);
8
9
async function generateText(prompt) {
10
const response = await openai.createCompletion({
11
model: "text-davinci-003",
12
prompt: prompt,
13
max_tokens: 150,
14
});
15
return response.data.choices[0].text.trim();
16
}
17
18
(async () => {
19
try {
20
const text = await generateText("解釋一下機器學習的基本概念。");
21
console.log(text);
22
} catch (error) {
23
console.error("Error generating text:", error);
24
}
25
})();

示例代碼講解

1. 加載環境變量

1
require("dotenv").config();

這行代碼使用dotenv庫加載.env文件中的環境變量,使得process.env.OPENAI_API_KEY可以在代碼中使用。

2. 配置OpenAI API

1
const { Configuration, OpenAIApi } = require("openai");
2
3
const configuration = new Configuration({
4
apiKey: process.env.OPENAI_API_KEY,
5
});
6
const openai = new OpenAIApi(configuration);

這裡我們使用從openai庫中導入的ConfigurationOpenAIApi類,配置API密鑰並創建一個OpenAIApi實例。

3. 生成文本的函數

1
async function generateText(prompt) {
2
const response = await openai.createCompletion({
3
model: "text-davinci-003",
4
prompt: prompt,
5
max_tokens: 150,
6
});
7
return response.data.choices[0].text.trim();
8
}

這個函數接收一個提示詞(prompt),使用OpenAI的createCompletion方法生成文本。max_tokens參數指定生成文本的最大長度。

4. 調用生成文本函數

1
(async () => {
2
try {
3
const text = await generateText("解釋一下機器學習的基本概念。");
4
console.log(text);
5
} catch (error) {
6
console.error("Error generating text:", error);
7
}
8
})();

這裡我們使用立即執行的異步函數調用generateText,並將生成的文本打印到控制台。如果發生錯誤,則打印錯誤信息。

總結

通過以上步驟,我們成功地使用Node.js搭建了一個OpenAI開發環境,並編寫了一個簡單的示例代碼生成文本。希望本文能幫助你快速上手OpenAI API,並在你的項目中充分利用其強大的功能。