GitHub Codespaces 起動

9d2c38e6fe48e61528f6b2d34370768f

この章で学ぶこと

GitHub Codespaces をはじめて起動します。

今回の GitHub Codespaces リポジトリにアクセス

今回の GitHub Codespaces リポジトリに Chrome ブラウザでアクセスします。

fefd4492211889b36a48b80340eee927

https://github.com/1ft-seabass/hack-rock-fes-2023-chatgpt-workshop-codespace に Chrome ブラウザでアクセスします。それ以外のブラウザだと、うまく動作しない可能性があるので Chrome で動かしましょう。

GitHub Codespaces としてリポジトリを開く

711447e782cada530eb05efef50713ee

Code ボタンをクリックします。

8f6a286108378103ac8d30df6f811ef4

Codespaces タブをクリックします。Create codespace on main をクリックします。

47b24d3be5b687f60383455a75898788

Setting up your codespace という画面が出て構築されます。

3c0d26fad0800ca0903a3dd41fcbf758

ブラウザ上で Visual Studio Code が起動し、今回の仕組みを反映した環境が起動しました。

Visual Studio Code 操作画面の紹介

VS Code には、フォルダーまたはプロジェクトの完全なコンテキストを参照してアクセスするための十分なスペースを確保しながら、エディターに提供されるスペースを最大化する、シンプルで直感的なレイアウトが付属しています。UI は 5 つの主要な領域に分かれています。

15944e01b4a98ec52bc55931cd2cc250

  • アクティビティバー
    • 左側の端にあり、ビューを切り替えることができ、Git が有効になっている場合の発信変更の数など、追加のコンテキスト固有のインジケーターが表示されます。

4bfb8dfed081b246ea705113ae37760a

  • プライマリ サイド バー
    • プロジェクトでの作業を支援するエクスプローラーなどのさまざまなビューが含まれています。

d814cce244bfd173feea1a5a16d3384c

  • エディタ
    • ファイルを編集するためのメイン領域です。エディタは好きなだけ縦横に並べて開くことができます。

2967ec1e72381c1a16b92dfea6d84f7b

  • パネル
    • エディター領域の下にあるビュー用の追加スペース。デフォルトでは、出力、デバッグ情報、エラーと警告、および統合ターミナルが格納されます。パネルを左右に移動して、垂直方向のスペースを増やすこともできます。

6a15e2237c2845012027e49843c613d9

  • ステータス バー
    • 開いているプロジェクトと編集するファイルに関する情報。

✅ポイント

  • 機能を全部覚える必要はありません。気になる人がいたら、英語ですが https://code.visualstudio.com/docs でいろいろ使い方を調べて試してみましょう
  • 今回は、エクスプローラでファイルを選択し→エディタで編集&保存→パネルでターミナルから実行という流れで行います

プログラムは Node.js という仕組みで動いている

エクスプローラを見てみましょう。今回のプログラム群は Node.js で作られています。

8adc98dbfb57d79abbc6a5be5eefbad8

Node.js は、普段はブラウザで活用されていて、ネット上で文献の多い JavaScript 言語で、Unity でデータのやり取りをするサーバー側、つまりサーバーサイドのプログラムが作成することができます。

また、Node.js と一緒にインストールされる npm は、Node.jsのパッケージ管理ツールです。npmを使うことで、パッケージの依存関係や競合関係を管理してくれるので、パッケージを追加、更新する際は基本的に npm 経由で行うことになります。

また、npm には、Node.js と一緒に入ってすぐ使える便利なライブラリがたくさん登録されています。今回は Express https://expressjs.com/ という便利なサーバー構築ライブラリがインストールされています。公式のドキュメントもわかりやすいですが、とほほのExpress入門 https://www.tohoho-web.com/ex/express.html も日本語でとっつきやすいので、もしカスタマイズしくなった方は参考にするとよいでしょう。

✅ポイント

  • 今回は、Node.js サーバー側のプログラムは、起動とちょっとした設定反映が中心です。
  • もし、より知りたくなったら、ネット上でいろいろと調べてみましょう。
    • (余裕があれば、文献の検索実演)

今回の環境の準備

この環境はすでに以下の準備が Codespace によって準備済みです。

  • GitHub Codespaces 上に今回の環境が用意されている
  • Node.js がすぐ動くように構築されている
  • package.json をベースにした npm によるライブラリのインストールが済んでいます
    • ChatGPT API を扱う openai ライブラリ
    • HTTP を扱う axios ライブラリ
  • 今回のリポジトリにあるコード群がすべて使える
  • ブラウザ上の Visual Studio Code で今回のリポジトリにあるコードが編集・実行できる
  • 今回の教材はほぼ変更なしで使えます。

ChatGPT API を扱う Node.js 公式ライブラリ

2aec595e4afbd89b3df92a7f311c8a1e

ChatGPT API を扱う Node.js 公式ライブラリはこちらのドキュメント https://platform.openai.com/docs/libraries/node-js-library に書かれています。

51a154314b1990e29b5e4e5c30882705

Python もある

そのほかに、Python library https://platform.openai.com/docs/libraries/python-library もあるので、ハンズオンのチーム事情に合わせて使いましょう。

57f668ccac217fa1f92f30af910f926d

ドキュメントでのソースで Node.js と Python の事例を選べます。

たとえば、https://platform.openai.com/docs/guides/gpt/chat-completions-api で各ソースコードで、このように選ぶことができます。

c7d2c774978e0d3887a57fc03f07bb56

HTTP

また API Reference https://platform.openai.com/docs/api-reference/chat/create で curl を選べば、API の理解がより深く必要ですが、Node.js や Python を使えない Unity のような他の仕組みにつながる素の HTTP リクエストについても把握することができます。

今回はあらためて Node.js でつなぐ

2aec595e4afbd89b3df92a7f311c8a1e

あらためて、今回は Node.js のライブラリ https://platform.openai.com/docs/libraries/node-js-library で動かしてみます。

サンプルをターミナルから実行

app01.js というプログラムを実行してみましょう。

console.log('Hello! app01!');

JavaScript で、コンソールログに「Hello! app01!」と表示するプログラムです。

2967ec1e72381c1a16b92dfea6d84f7b

ターミナルでコマンドを実行します。パネルエリアに注目します。

d1301375d265afe3f21076fad33192a8

ターミナルタブをクリックします。

d93f460523d89433700a483ed7931153

このようにカーソルがありコマンドの入力待ちになっています。

node app01.js

このコマンドを入力して Enter キーを押します。

3569f8730a06ba448bbc67d9a99edbf0

なお、コマンドをコピーされた方は初回にペーストしたときにアドレスバーに、このように通知が出てきます。許可するボタンをクリックして許可するとペーストできます。

コマンドの意味は、以下の通りです。

  • node
    • 「Node.js でファイルを実行する」コマンド
  • app01.js
    • app01.js というファイルが対象という意味
    • /workspaces/hack-rock-fes-2023-chatgpt-workshop-codespace というプロジェクト最上部にいるので、詳しくパスを打たなくても app01.js だけで名指しできます

すると、次の行に「Hello! app01!」とでてきたら成功です。

63a0cf2cc96e90177559b950f0b777c9

これでターミナル実行のウォームアップ完了です。

results matching ""

    No results matching ""