TechTargetは「GPTScriptを使った自然言語プログラミング」に関する記事を公開した。「GPTScript」によってプログラマーは自然言語の構文を使い、OpenAIのAPIを活用したアプリケーションを作成できるようになる。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
TechTargetは2024年7月29日(米国時間)、「GPTScriptを使った自然言語プログラミング」に関する記事を公開した。
企業が人工知能(AI)を活用するさまざま方法を模索する中、ソフトウェア開発者にはAIモデルを直接操作し、ロジックを実行して結果を得るプログラムを作成する能力が求められている。
そうしたAIアプリケーション開発に新規参入する方法の一つが「GPTScript」だ。GPTScriptはオープンソースのプログラミング言語で、これを使えば開発者は自然言語構文を使ってコードを作成できる。GPTScriptは、単なる面白さを超えて、状況を大きく変える可能性を持っている。
本稿では、次の点についてのチュートリアルを提供する。
なお、このチュートリアルで紹介した全てのサンプルコードは、GitHubリポジトリで入手できる。
基本的には、OpenAIの「ChatGPT」のUI(ユーザーインタフェース)でプロンプトを入力するのと同じように、GPTScriptを使えば開発者は自然言語でコマンドを記述し、コードを作成できる。例えば、次のように記述する。
Show me the sum of 2 plus 3. ※「2と3を足した合計を教えてください」
そうすると、次の結果が得られる。
The sum of 2 plus 3 is 5 ※「2と3の合計は5です」
簡単に言えば、GPTScriptは入力された自然言語をOpenAIに渡し、それを解析してプログラミングロジックを導き出し、結果を返す。自然言語でプログラミングする能力は、ソフトウェア開発に新たな可能性をもたらす。
GPTScriptは初期状態で「OpenAI API」を利用する設定になっている。そのため、GPTScriptを使用するためには、OpenAIのAPIキーを取得し、アカウントを作成する必要がある。APIキーを取得したら、GPTScriptの実行ファイルをダウンロードし、インストールする。
アカウントを設定しAPIを利用するには、OpenAIのプラットフォームページに移動し、ページ右上の「Sign up」(図1の1)をクリックする。アカウントを作成するための自身のプロファイル情報を作成し保存する。後で必要になるため、APIキーを保存する。
アカウントを作成したら画面上部の「Dashboard」(図1の2)をクリックする。画面の左側に表示されるメニューで「API keys」(図1の3)をクリックする。
自身のAPIキーを利用できるようにするにはOpenAIに利用料金を払う必要がある。この手順を図2に示す。
ページ右側上部の設定ボタン(歯車の記号)をクリックし、「Your profile」(自身のプロファイル)(図2の1)を選択する。次に「Billing」(図2の2)をクリックし、「Add to credit balance」(図2の3)をクリックして入金する。
入金が終わったらGPTScriptをインストールして使う準備が整う。
GPTScriptは「Linux」「macOS」「Windows」で動作する。それぞれのOSでのインストールコマンドを以下に示す。
プラットフォーム | インストールコマンド |
---|---|
macOS | brew install gptscript-ai/tap/gptscript |
Linux | curl https://get.gptscript.ai/install.sh | sh |
Windows | winget install gptscript-ai.gptscript |
GPTScriptをインストールしたら、インストール後、環境変数「OPENAI_API_KEY」を設定し、OpenAIアカウントの構成時に作成したAPIキーを指定する。
macOSとLinuxで環境変数を追加するには、次のコマンドを実行する。
echo OPENAI_AP_KEY=<YOUR_API_KEY_HERE> >> ~/.bashrc source ~/.bashrc
Windows環境で環境変数を追加するには、次の手順を実行する。
環境変数を設定したら、GPTScriptを使ってプログラミングする準備が整う。
GPTScript利用の入門編として、まずは簡単なコマンドを記述し、ファイルに保存して拡張子を「.gpt」にする。そのファイル名をパラメーターとしてgptscript実行可能ファイルを実行する。
ここからの数セクションでは、さまざまなスクリプトでGPTScriptで実行する例を紹介する。
例として「世界各国の首都を人口が多い順に一覧表示するスクリプト」を実行してみよう。
LinuxまたはmacOSのコマンドラインで、この手順を指示するコマンドを「capitals.gpt」というファイルに作成する。このファイルには、世界の首都のうち人口が多いトップ5を一覧するコマンドをエコー出力する。次の2行のコマンドは、GTPScriptコードを「capitals.gpt」ファイルにエコー出力する方法と、そのコードをGPTScript実行可能ファイルに渡して実行する方法を示している。
echo "List the 5 world capitals that have the largest populations." > capitals.gpt ※「人口が最も多い世界の首都を5つをリストにします」 gptscript capitals.gpt
結果:
1. Beijing, China 2. New Delhi, India 3. Tokyo, Japan 4. Jakarta, Indonesia 5. Manila, Philippines
次のスクリプトでは、世界各国の首都を人口が少ない順に返すスクリプトを作成する。
LinuxまたはmacOSのコマンドラインで、この手順を指示するコマンドを「fewest-capitals.gpt」というファイルに作成し、GPTScriptでこの指示を実行して、結果を生成する。
echo "List the 5 world capitals that have the smallest populations." > fewest-capitals.gpt ※「人口が最も少ない世界の首都を5つ挙げてください」 gptscript fewest-capitals.gpt
結果:
1. Ngerulmud, Palau 2. Vatican City, Vatican City 3. Funafuti, Tuvalu 4. San Marino, San Marino 5. Tarawa, Kiribat
この2つのスクリプトでは、GPTScriptが特別な設定なしに、あたかもコマンドがChatGPTにプロンプトとして入力されたかのように、OpenAIと対話している。だが、これはあくまでもクラウドベースの対話であり、GPTScriptは開発者のローカルPCの存在を知らないし、ローカルPCにアクセスすることもない。
次のセクションでは、GPTScript内に組み込まれたツールをコード内で宣言し、そのツールを使って自然言語プログラミングを適用した上で、ローカルPCのコンテンツを操作する方法について説明する。
GPTScriptにはツールエコシステムがあり、開発者は特定の動作を実装するためのツールライブラリを追加できる。これらのツール一覧を表示するには、次のコマンドライン命令を実行する。
gptscript -list-tools
次の例では、組み込みツール「sys.ls」と「sys.read」を使用して、ローカルPCのディレクトリを一覧表示し、ファイルを読み取って特定の条件を満たすコンテンツを検索する方法を説明する。具体的には、スクリプトは前述のGitHubリポジトリからダウンロードした「Quotes」ディレクトリを調べ、劇作家のウイリアム・シェークスピアが執筆したもの“ではない”テキストを含むファイルを特定する。
Quotesディレクトリには次のファイルが含まれている。
ディレクトリ構造 Quotes ├── quote-01.txt ├── quote-02.txt └── quote-03.txt
ここで説明するGPTScriptのコードは以下の通り。
tools: sys.ls, sys.read Print by filename the first line of all the files in ./quotes ※「全ファイルの最初の行をファイル名で印刷する」 Then, look at all the text files in the directory ./quotes and find content not written by Shakespeare. ※「ディレクトリの中からウイリアム・シェークスピアが執筆したものではないファイルを見つける」
コードの最初の行はtools属性を呼び出し、スクリプトがGPTScriptコード付属のsys.lsおよびsys.readツールを使用することを宣言している。この2つのツールによって、ローカルPCのファイルシステム内のファイルの一覧と読み取りが可能になる。コードの2行目は自然言語命令で、./quotes ディレクトリ内の全てのファイルをファイル名順に一覧し、各ファイルの先頭テキスト行を出力するようにGPTScriptに指示している。コードの最後の行は、各ファイルを調べて、ウィリアム・シェークスピアが執筆していないテキストを特定するようGPTScriptに指示している。
結果は、次のように出力される。
- quote-01.txt: Four score and seven years ago our fathers brought forth, on this continent, a new nation, conceived in Liberty, and dedicated to the proposition that all men are created equal. - quote-02.txt: To be, or not to be, that is the question: - quote-03.txt: Odd that mankind's benefactors should be amusing people. In America at least this is the case. Anyone who wants to govern the country has to entertain it. During the Civil War people complained about Lincoln's funny stories. Perhaps he sensed that strict seriousness was far more dangerous than any joke. But critics said that he was frivolous and his own Secretary of War referred to him as an ape. Content not written by Shakespeare: - quote-01.txt - quote-03.txt
このコードではGPTScriptプログラミングの2つの主要な側面を組み合わせている。1つは、GPTScript組み込みのツールを使用してローカルPCのデータにアクセスしていること。もう1つは、OpenAIの能力をリモートで利用して各ファイルの内容を分析し、それらのファイル内のデータを基準に基づいて判断していることだ。
この2つの側面によって開発者は、GPTScriptによってローカルPCのファイルシステムを操作するという長所と、OpenAIのAI機能をリモートで活用して特定のファイルの内容を分析するという長所の双方を活用可能になる。これに自然言語機能が加わることで、プログラミングは全く新しいレベルに引き上げられる。
GPTScriptは、既にあらゆるスキルレベルの開発者の役に立っており、現在のソフトウェア作成方法を変え得る機能を備えている。本稿で説明したごく基本的な概要以外にも、学ぶべきことはたくさんある。例えば、開発者が独自のカスタムツールを作成し、任意のスクリプトで再利用することも可能だ。
GPTScriptはまだ成熟過程の初期段階だが、その可能性には魅力がある。開発者が音声認識を使ってGPTScriptで高度なプログラムを作成することを想像してほしい。何も入力することなく、コマンドを声に出すだけでよい。そうなれば、開発者の作業方法は根本的に変わるだろう。
GPTScriptの操作に今から慣れておけば、間もなく実現する“新しいプログラミング方法”にいち早く習熟できるだろう。
Copyright © ITmedia, Inc. All Rights Reserved.