📚

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

2022/12/13に公開約1,600字1件のコメント

GoogleAppsScriptでOpenAIを使う方法を調べていた

google apps scriptでopenai apiを使う方法が調べてもなかなかでてこなかったのでいろいろみていたらとりあえず形になったのでとりあえずコードをのせとく。このコードを使ってなんらかの不利益かぶってもしりません。
というのはdocumentをまともによんでないから。わからないことは自分でソースをあたるようにしてください
https://amzn.to/3PmfooC

OpenAIで最初の3か月間だけ使える18ドル分のクレジット

気になるのはopenaiの料金だと思うが、最初の3か月間だけ使える18ドル分のクレジットが与えられる。これは裏をかえせば3か月がすぎれば有料になることなので、結局は無料で使い続けることはできない
とりあえず、「どれだけつかったか」というのは「トークン」という単位で管理されていて、どのくらいのトークンを使ったかというのは以下で確認できる
beta.openai.com/account/usage

---

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

GASでOpenAIAPIを使うサンプルコード

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']
}

https://amzn.to/3WhFefW
https://amzn.to/3VYeJMD

Discussion

ログインするとコメントできます