ChatGPTと書いていますが、2023/01時点でAPIは提供されていないみたいですが、ほかのAPIを使用してみます。
※ChatGPTを使用した記事を書きました。
APIキーの発行は【openAI】openAIのChatGPTを利用するためのAPIキーを取得の記事を参考にしてみてください。
今回使用するAPIはtext completionというものです。
サイトにもnodeでの使用方法が書かれているので参考にする。
今回はクイックスタートチュートリアルのリポジトリーを参考にしました。
python版【python】OpenAIのChatGPTを利用してテキスト生成を行ってみる
準備
node.jsではopenaiというモジュールを使用しますのでインストールします。
npm install openai
使用例
import { Configuration, OpenAIApi } from "openai";
const configuration = new Configuration({
apiKey: "ここにAPIキー",
});
const openai = new OpenAIApi(configuration);
const text = "こんにちは、自己紹介してください。";
openai
.createCompletion({
model: "text-davinci-003",
prompt: text,
temperature: 0.4,
max_tokens: 64,
top_p: 1.0,
frequency_penalty: 0.0,
presence_penalty: 0.0,
})
.then((completion) => {
const choices = completion.data.choices[0];
console.log(choices.text);
});
パラメーターについて
- temperature=0.4
ランダム性の制御下げるとランダム性の補完が少なくなる
「0.0-1.0」1だと完全にランダム
- max_tokens=64
生成するトークンの最大数
- top_p=1.0
サンプリングによる多様性の制御
「0.0-1.0」0.1だと確立の高い上位10%の候補から選択される
大きくすると様々な単語から選ぶようになる
- frequency_penalty=0.0
これまでのテキストでの既存の頻度に基づいて新しいトークンにどれだけのペナルティを課す
[0.0-2.0]出てきた回数が多いほどペナルティを課す、タイミングは使った回数に応じて
- presence_penalty=0.0
既に出てきた単語をもう一度使うかどうかを指定
[0.0-2.0]一度でも使ったかどうかに対してペナルティを加える
おわりに
こちらに実行確認できるgithubのリポジトリーも用意した。
コメント