GoogleAppsScriptでOpenAIのAPIをつかいChatのexsampleをためす。

2
pink @JyFxcf0X9b8rpT2

google apps scriptでopenai apiを使う方法が調べてもなかなかでてこなかったのでいろいろみていたらとりあえず形になったのでとりあえずコードをのせとく

2022-12-12 08:51:51
スッキリわかるPython入門 (スッキリわかる入門シリーズ)

国本大悟,須藤秋良,株式会社フレアリンク

pink @JyFxcf0X9b8rpT2

このコードを使ってなんらかの不利益かぶってもしりません。 というのはdocumentをまともによんでないから。わからないことは自分でソースをあたるようにしてください

2022-12-12 08:42:59
pink @JyFxcf0X9b8rpT2

気になるのはopenaiの料金だと思うが、最初に18ドルのクレジットが与えられる。これは裏をかえせば3か月がすぎれば有料になることなので、結局は無料で使い続けることはできない

2022-12-12 08:44:28

↑補足:最初の3か月間だけ使える18ドルのクレジットがもらえる

pink @JyFxcf0X9b8rpT2

とりあえず、「どれだけつかったか」というのは「トークン」という単位で管理されていて、どのくらいのトークンを使ったかというのは以下で確認できる beta.openai.com/account/usage

2022-12-12 08:46:15
pink @JyFxcf0X9b8rpT2

きになったのはopenaiエンドポイントが検索してもなぜかでてこない。普通はrequireとかでライブラリを読み込んでなんだかんだやるみたいな雰囲気だが、そのあたりは結局よくわからずじまい。 とりあえず動けばいいだろ

2022-12-12 08:48:31
pink @JyFxcf0X9b8rpT2

まあ動いたからといってなんのとくもないわけだが。しかもいずれ有料になって使えなくなるし

2022-12-12 08:49:02
const API_KEY = "APIKEYをいれる";
const NUM_TOKENS = 200;

let preface = "ここになにか文字列を入れる"

function res() {
    let prompt = preface
    let response = _callAPI(prompt);
    console.log(response)
    //return response
}

function _callAPI(prompt) {
    let data = {
        'prompt': prompt,
        "temperature": 0.9,
        "max_tokens": NUM_TOKENS,
        "top_p": 1,
        "frequency_penalty": 0.0,
        "presence_penalty": 0.6,
        "stop": [" Human:", " AI:"]
    };

    let options = {
        'method': 'post',
        'contentType': 'application/json',
        'payload': JSON.stringify(data),
        'headers': {
            Authorization: 'Bearer ' + API_KEY,
        },
    };

    response = UrlFetchApp.fetch(
        'https://api.openai.com/v1/engines/text-davinci-003/completions',
        options,
    );

    console.log(response.getContentText())
    return JSON.parse(response.getContentText())['choices'][0]['text']
}

関連リンク: OpenAI Exsamples Chat

実行した結果

Google Apps Script目的別リファレンス 実践サンプルコード付き 第2版

清水亮,枡田健吾,近江幸吉,佐藤香奈,一政汐里