ポートフォリオを作るためにどうしても実装したい機能があり、そのために勉強したので備忘録として書いていきます。今回はRailsに表題の通りOPENAIのAPIを使って返答が返ってくるアプリを作りました。今回の記事は、開発前にRubyfileで試したことです。まず前提としてOPENAIのAPI_KEYを取得していること。この部分は他にも紹介されてる記事がたくさんあるのでスルーします。
1.ruby-openaiのジェムをインストールする。
2.api_keyを環境変数に隠す。
3.requireでopenai呼び出す。
4.model gpt3.5turbo(名前かっこいい)実装してhello!する。
では説明していきます。
1.ruby-openaiのジェムをインストールする。
ここめちゃくちゃ要注意です。僕はここを理解できていなくてドはまりしました。2日間ぐらい悩み続けてたのでこの記事読んでくれた人には同じ過ちしないように伝えておきます。
openaiとruby-openaiのgemは別物です!
いや、当たり前でしょ・・・って思ってる方大半だと思いますが、本当に見分けついていませんでした。これ分かってないと、めっちゃ悩むことになります。
まずgemをサクッとインストールします。
1 |
gem install ruby-openai |
これでインストール完了です。次!念のため確認してほしいこと!
1 |
gem list |
これで一度インストールされてるgemを確認してみてください。僕みたいに、openaiとruby-openaiを両方インストールしていませんか?入ってたらハマるから本当注意!仮に両方入ってても大丈夫、対応方法この下にちゃーんと書いておきます!
2.api_keyを環境変数に隠す。
1 |
vim ~/.zshrc |
「iキー」を押して、インサートモードに移行しましょう。
元から記入されてる項目がある場合、その項目は消さないようにしてください。
ターミナルの左下に「INSERT」と表示されたら成功です。
zshの内部に、以下の記述を追加しましょう。
1 |
export OPENAI_API_KEY='ここにapikeyを入力、シングルクォーテーションけさないでね' |
記述を追加したら「escキー」を押して、 「:wq」と入力しましょう。
入力後、「Enterキー」を押して終了します。
1 |
source ~/.zshrc |
これで環境変数を反映させることができました。
3.requireでopenai呼び出す。rubyfileの1行目に記入しましょう。
1 |
require "ruby/openai" |
この部分がgithubのクイックスタートと入力内容が少し違います。githubだと、require “openai”ってなってますが、僕はopenaiとruby-openaiをインストールしてたので、このままだとopenaiの方が呼び出されてしまいます。なので、両方入れてしまっている方はruby/openaiを使ってください。
4.model gpt3.5turbo(名前かっこいい)実装してhello!する。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
require "ruby/openai" client = OpenAI::Client.new(access_token:ENV["OPENAI_API_KEY"]) response = client.chat( parameters: { model: "gpt-3.5-turbo", messages: [{ role: "user", content: "hello!!" }], max_tokens: 20 }) puts response.dig("choices", 0, "message", "content") |
この部分はクイックスタートの通りです。これであとは、呼び出してあげると返答が返ってくるようになります!ENV[“OPENAI_API_KEY”]の部分は、手順2で環境変数にapikeyを隠しているのでこのままの記述で問題ないはずです。以上でしたー、お疲れさまでした。