LoginSignup
0
0

GPTScriptのexampleを動かしてみる(bob-as-shell.gpt編)

Posted at

毎度、ググっても出てこない小ネタを取り扱っております。
本記事は個人的な見解であり、筆者の所属するいかなる団体にも関係ございません。

0. はじめに

GPTScriptを試してみるシリーズです。
exampleディレクトリのファイルの中身を動かしてみながら、日本語でも動くかどうか検証していきます。
https://github.com/gptscript-ai/gptscript/tree/main/examples

1. bob-as-shell.gpt

bob-as-shell.gptのスクリプトは以下のようになっています。

bob-as-shell.gpt
tools: bob

Ask Bob how he is doing and let me know exactly what he said.

---
name: bob
description: I'm Bob, a friendly guy.
args: question: The question to ask Bob.

#!/bin/bash

echo "Thanks for asking ${question}, I'm doing great fellow friendly AI tool!"

2. 動かしてみる

2-1. ファイルを用意

ファイルは以下の1つを用意します。

bob-as-shell.gpt

以下のURLから上記の1つのファイルをダウンロードしておきます。
bob-as-shell.gpt
https://github.com/gptscript-ai/gptscript/blob/main/examples/bob-as-shell.gpt

2-2. 実行する

以下のように実行します。

--default-model gpt-4-turbo を指定する必要はありませんが、新しいModelの方がいいので指定しています。

gptscript ./bob-as-shell.gpt --default-model gpt-4-turbo

3. 実行結果

OUTPUT:

Bob said, "Thanks for asking How are you doing?, I'm doing great fellow friendly AI tool!"

4. 日本語にしてみる

4-1. 日本語にしたgptファイルを用意

Bobでは日本人ぽくないので、太郎にしました。

taro-as-shell.gpt
tools: taro

太郎の調子を聞いて、彼が言ったことを正確に答えてください。

---
name: taro
description: 私は太郎です。フレンドリーな人間ですよ。
args: question: 太郎にする質問

#!/bin/bash

echo "${question} の質問してくれてありがとう!僕は素晴らしいフレンドリーAIツールの仲間だよ!"

4-2. 実行

gptscript ./add-go-mod-dep.gpt --default-model gpt-4-turbo

4-3. 結果

OUTPUT:

太郎は「最近どう? の質問してくれてありがとう!僕は素晴らしいフレンドリーAIツールの仲間だよ!」と答えました。

5. bob-as-shell.gpt

bob-as-shell.gptの中身の解析

bob-as-shell.gpt
tools: bob

Ask Bob how he is doing and let me know exactly what he said.

---
name: bob
description: I'm Bob, a friendly guy.
args: question: The question to ask Bob.

#!/bin/bash

echo "Thanks for asking ${question}, I'm doing great fellow friendly AI tool!"

1行目にツールとして呼び出す別のファンクションを記載します。
---までがmain部分です。ここには、

Ask Bob how he is doing and let me know exactly what he said.

と書かれていて、
Bobに調子はどうか聞いて、「彼がなんと言ったか正確に回答する」ように書かれています。

次に、(---)の後にbobファンクションがあります。descriptionの文字列は任意になります。
args: で「question(質問)」変数を定義して、変数の内容を 『Bobに聞く質問』 にしています。

その後、bashスクリプトがあります。

#!/bin/bash

echo "Thanks for asking ${question}, I'm doing great fellow friendly AI tool!"

6. 実行

実行されると、まずファンクション以外のメイン部分が実行されます。

メイン部分は、以下の部分です

Ask Bob how he is doing and let me know exactly what he said.

ここで、Ask Bob how he is doingが解釈され、

Bobにhow he is doingと聞きますが、bobがファンクションとして定義されているので、
name: bobを呼び出して、引数に questionを渡します。questionの値は、Ask Bobしたときの呼び出した値なので、how he is doingです。

このファンクションはBashのシェルスクリプトなので、$questionの変数で渡されて、echoで

Thanks for asking how he is doing, I'm doing great fellow friendly AI tool!

が返されて、この返値が let me know exactly what he said.に渡されます。
最終的な出力は以下のようになります。

Bob said, "Thanks for asking How are you doing?, I'm doing great fellow friendly AI tool!"
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0