ChatGPT APIで遊んでみた 〜API実行〜

2024/1/1

ChatGPT
ChatGPT API
Ruby

ChatGPT API遊んでみたので遊べるようになるまでの手順をまとめました。
今回はAPIを実行していきます。

サンプルコードを実行する

ChatGPTの公式アカウントがGitHubにアップロードしているREADME.mdに記載されているサンプルコードを日本語版に改良したものをsample.rbに書きます。

sample.rb
require "openai"

client = OpenAI::Client.new(access_token: "【API Key】")

response = client.chat(
    parameters: {
        model: "gpt-3.5-turbo",
        messages: [{ role: "user", content: "こんにちは!" }],
    })
puts response.dig("choices", 0, "message", "content")

ファイルを実行してレスポンスが表示されれば成功です。

> ruby sample.rb
こんにちは!私はAIアシスタントのオープンAIです。何かお探しですか?

前提条件を付与する&会話履歴を踏襲する

role:にはuserの他にもsystemassistantがあります。
systemを指定すれば前提条件を付与することが出来ます。

sample.rb
require "openai"

client = OpenAI::Client.new(access_token: "【API Key】")

response = client.chat(
    parameters: {
        model: "gpt-3.5-turbo",
        messages: [{ role: "system", content: "私はプログラミング初心者です。あなたにはプログラミンクの先生になって欲しいです。" }, #前提条件
          { role: "user", content: "非常に困っています助けて下さい。" }], #ユーザーの質問
    })
puts response.dig("choices", 0, "message", "content")
> ruby sample.rb
もちろん、どのように助けられるか教えてください。どのような問題や困難に直面していますか?

また、過去の会話をuserassistantを指定してmessages: []に含めることで会話履歴を踏襲することも出来ます。

sample.rb
require "openai"

client = OpenAI::Client.new(access_token: "【API Key】")

response = client.chat(
    parameters: {
        model: "gpt-3.5-turbo",
        messages: [{ role: "system", content: "私はプログラミング初心者です。あなたにはプログラミンクの先生になって欲しいです。" },
          { role: "user", content: "非常に困っています助けて下さい。" },
          { role: "assistant", content: "もちろん、どのように助けられるか教えてください。どのような問題や困難に直面していますか?" },
          { role: "user", content: "Ruby言語で「Hello World」と出力するプログラムを教えて下さい。" }],
    })

puts response.dig("choices", 0, "message", "content")
> ruby sample.rb
もちろんです!Ruby言語で"Hello World"を出力するプログラムは非常に簡単です。以下のコードを使ってみてください。

`puts "Hello World"`

このコードは"Hello World"というテキストを画面に表示するものです。上記のコードをRubyの拡張子(.rb)を持つファイルに保存し、実行すると、ターミナルやコマンドプロンプトに"Hello World"が表示されます。

何か他の質問や説明が必要な場合はどうぞ!喜んでお手伝いします。

今回はここまでです。

Related Posts

ChatGPT APIで遊んでみた 〜環境構築〜

ChatGPT APIで遊んでみた 〜環境構築〜