taketea2018 が 2026年06月02日15時24分45秒 に編集
初版
タイトルの変更
データサイエンス入門 第12回 ChatGPTからOpenAIを使ってみる その2
タグの変更
データサイエンス
Python
ChatGPT
OpenAI
API
記事種類の変更
セットアップや使用方法
本文の変更
# データサイエンス入門 AIプログラミングで学ぶデータサイエンス ## 第12回 ChatGPTからOpenAIを使ってみる その2 ## 〇 OpenAIを使ってみる OpenAIへの登録はうまくできましたか?ここで紹介しているやり方はOpenAIの都合で変更される可能性が高いです。説明を読んでその都度指定されて方法に置き換えてください。また突然(サムアルトマン社長の一存で)APIの使用許可の取り消しや仕様変更が行われる場合もありますので、ご承知おきください。(動画生成AI Soraは利用停止になりましたね) ## ◎OpenAIプログラミング さあ、OpenAIのAPIをPythonプログラミングから呼び出しましょう。うまくできるとあたかも自分専用AIを入手したように感じます。 ## 〇OpenAI利用準備 最初のセルで次のプログラムを実行し、OpenAIを利用するために必要なライブラリをインストールします。必要なライブラリがインストールされます。 ``` !pip install openai ``` ≪リスト1≫ライブラリのインストール ## 〇Pythonプログラムの説明 OpenAIをPythonから利用するためのライブラリを取り込みます。 ``` import openai ``` 生成したAPIキーをopenai.api_keyにセットします。 ## 〇取得したAPIキーをセット ``` openai.api_key = 'sk-proj-S・・・以下略・・・・・' ``` ## 〇APIキーをOpenAIに渡します。 ``` #OpenAIを呼び出す際のuser=clientを初期化する client = openai.OpenAI(api_key=openai.api_key) ``` ## 〇OpenAIに質問事項を渡します。 ``` response = client.chat.completions.create( #ChatGPTにメッセージを送る model="gpt-3.5-turbo",#費用が安いモデルを指定 messages=[#メッセージ本体 {"role": "user", "content": "こんにちは、電子工作の楽しさについて5つ教えてね"} #"user"を入れて、ユーザ=自分が話しかける内容を記述 ] ) ``` ## 〇OpenAIから返ってきた結果を表示します。 ``` responseに.choices[0].message.contentを付加して中身を取り出します。 # 結果の表示 print(response.choices[0].message.content) ``` ## ◎実行結果 こんな結果が得られました。実際はChatGPTが答えます。なかなかいい返事ですね。 ``` 電子工作の魅力は何と言っても創造性やアイデアを形にする楽しさです。電子部品を駆使して自分の思い描いたものを実現する過程は非常にやりがいを感じることができます。また、電子工作を通じて技術的なスキルや知識を身につけることができるため、自己成長や学習の機会としても非常に魅力的です。 --- 途中略 電子工作は、技術的な知識やスキルを活かすだけでなく、創造性やアイデアを形にする楽しさを感じることができる趣味です。自分の想像力や技術力を試すことで、自己成長や学習の機会を得られるだけでなく、自己表現や社会貢献の手段としても活用できるため、多くの人にとって魅力的な趣味と言えるでしょう。 ``` ## ◎応用編 質問事項を変えました。“語尾には長野県南部の方言「だに」をつける”、という無茶ぶりっぽい指示をChatGPTに投げてみます。結果は、なんとこんな要求にも応えてくれます。 ``` response = client.chat.completions.create( model="gpt-3.5-turbo", messages=[ {"role": "system", "content": "語尾には長野県南部の方言「だに」をつける"}, #"system"を入れて、OpenAIの性格や話し方などのルールを記述 {"role": "user", "content": "こんにちは、電子工作の魅力について語ってね"}, #"user"を入れて、ユーザ=自分が話しかける内容を記述 ] ) ``` 語尾に長野県南部の方言の特徴である「だに」をつけた文章で熱く語ってくれました。面白いですね。 ``` こんにちはだに、電子工作の魅力はなんだかんだ言っても、自分の手で作ったものが動いたり光ったりするところだに。回路を組み立てて、プログラムを書いて、それがちゃんと動くと達成感や満足感が格別だに。また、要らない部品やデバイスを使って自分なりの工夫や創意工夫を凝らすこともできるから、創造性も働くんじゃないかと思うだに。電子工作はなかなか奥が深くて、新しい技術やアイデアを取り入れることで、さらに深化させることもできるんじゃ。興味があるなら、ぜひ挑戦してみるといいだに。 ``` ## ◎終わりに ChatGPTをPythonプログラムから呼び出すことで、応用範囲が広がります。お持ちの楽しいアイディアを実現しましょう。 ## ◎Pythonプログラムリスト全体 プログラム全体です。バックにChatGPTが控えているので、簡単なプログラムで高度な回答を得ることができます。(リスト7) ``` import openai #from google.colab import userdata # OpenAIより取得したAPIキーをセット openai.api_key = 'sk-proj-・・・・以下略 ' #OpenAIを呼び出す際のuser=clientを初期化する client = openai.OpenAI(api_key=openai.api_key) response = client.chat.completions.create( #ChatGPTにメッセージを送る model="gpt-3.5-turbo", #費用が安いモデルを指定 messages=[ #メッセージ本体 {"role": "system", "content": "語尾には長野県南部の方言「だに」をつける"},#"system"を入れてOpenAIの性格や話し方などのルールを記述 {"role": "user", "content": "こんにちは、電子工作の魅力について語ってね"}, #"user"を入れて、ユーザ=自分が話しかける内容を記述 ] ) # 結果の表示 print(response.choices[0].message.content) #responseに.choices[0].message.contentを付加して中身を取り出す ``` ## ◎参考文献 OpenAI https://openai.com/ja-JP/ ## 〇紹介動画はYoutubeのURLよりご視聴ください。 https://youtu.be/JBZlltFEW8A ## 〇スライド形式pdf解説書です。 https://drive.google.com/file/d/1FsChSgvM-n59Tv54QDPGX1rQkWDMHW9c/view?usp=drive_link ## 〇すぐ実行できるサンプルプログラム GoogleColaboratoryにアップロードすればすぐに動作を確認できます。実行結果のサンプル付きです。 https://drive.google.com/file/d/1IclePWj1AD03G3mmfbTTidnozVR_iUtf/view?usp=drive_link ## 〇補足 公開している動画と解説用pdfは電波新聞社刊行電子工作マガジンに連載された続編をGoogle NotebookLMにてまとめています。