ChatGPTって何?ChatGPTの使い方は?
ChatGPT公式ページ(使用するには会員登録が必要です。)
OpenAIが開発した生成AIのチャット機能が「ChatGPT」です。
今までの機会学習的なものではなく、人間らしい文章生成ができること、
が特徴と言われています。
何と、利用ユーザーは5日で100万人を突破!
Instagramでも2週間くらいかかったユーザー100万人超えを
5日で行うとは、注目の高さがうかがえます。
ChatGPTの使い方①トレンドを教えてくれる
ChatGPTは色々なページや世界の状況を既に沢山勉強して蓄積しているので、
色々なおススメをものの30秒くらいで探してくれます。
例えば、「アプリを作るならどの言語で作るのが最適?」と聞いてみます。
その答えはこうです。
アプリを作る言語は、アプリの目的やプラットフォーム、開発者の経験などによって異なります。一般的に人気のある言語は以下の通りです。
- Java:Androidアプリ開発に適しています。
- Swift:iOSアプリ開発に適しています。
- Python:簡単に学べるため初心者にも適しています。デスクトップアプリやWebアプリなど様々なアプリ開発に利用できます。
- JavaScript:Webアプリ開発に適しています。
- C#:Windowsアプリ開発やゲーム開発に適しています。
最適な言語を選ぶためには、アプリの目的や利用するプラットフォーム、開発者の経験などを考慮することが重要です。
https://chat.openai.com/chat
ChatGPTの使い方②コードそもそもを聞ける
次は、コードそのものを直接聞いてみます。
「Pythonでランダムにパスワードを生み出すコードを教えて」
以下のようなPythonコードでランダムなパスワードを生成することができます:
import string import random def generate_password(length): chars = string.ascii_letters + string.digits + string.punctuation return ''.join(random.choice(chars) for i in range(length)) # 8文字のパスワードを生成する例 password = generate_password(8) print(password)
このコードでは、
https://chat.openai.com/chatstring.ascii_letters
、string.digits
、およびstring.punctuation
を結合して、使用する文字の種類を定義しています。 その後、指定された長さ(この例では8)でrandom.choice
を使って文字をランダムに選択し、最終的なパスワードを生成しています。
ChatGPTの使い方③コードの質問もそのまま聞ける
例えば上のコードで不明点があった場合、そのまま聞いていくことができます。
「上の「for i in range(length)」はどういった役割?」
の質問に対して答えが返ってきました。優しい。。。
for i in range(length)
は、パスワードの長さを指定するために使用されています。このfor
ループは、指定された長さ(ここではlength
)回実行されます。各イテレーションでは、random.choice
が呼び出され、ランダムな文字が選択されます。これらの選択された文字は、最終的に連結されて、生成されたパスワードが形成されます。このように、
https://chat.openai.com/chatfor
ループを使用することで、生成されたパスワードの長さを制御することができます。また、必要な長さに対して再利用可能な関数generate_password
を作成することもできます。
ChatGPTの使い方④UnitTestも書いてくれる!!
例えば上で聞いたランダムパスワードのUnitTest書いてと言ったら書いてくれるのです!
人が書いたら最低30分はかかるのではないでしょうか?
「このコードに対してのUnitTestを書いて」
以下は、上記のパスワード生成コードに対する単体テストの例です:
import unittest class TestPasswordGeneration(unittest.TestCase): def test_password_length(self): password = generate_password(8) self.assertEqual(len(password), 8) def test_password_characters(self): password = generate_password(8) for char in password: self.assertIn(char, string.ascii_letters + string.digits + string.punctuation) if __name__ == '__main__': unittest.main()
このテストでは、2つのテストメソッドが定義されています。 最初のメソッド
test_password_length
は、生成されたパスワードの長さが正しいことをテストします。 2番目のメソッドtest_password_characters
は、生成されたパスワードに含まれている文字が正しいことをテストします。これらのテストは、
unittest
モジュールを使用して実行されます。if __name__ == '__main__':
ブロック内でunittest.main()
を呼び出すことで、テストを実行することができます。これらのテストは、生成されたパスワードが正しいかどうかを確認するための最低限の例です。必要に応じて、これらのテストに加えて、他のテストも作成することができます。
エンジニア以外の方にこの感動って伝わるのかわかりませんが、ここまでNoCodeで教えてくれるって本当にすごいことです。。。
ChatGPTの使い方⑤コードを他の言語に瞬時で直してくれる
お次は、上で聞いた「上のPythonコードをJavaに書き換えて」と聞いてみました。
以下は、上記の Python コードを Java に移植した例です:
import java.util.Random; import java.security.SecureRandom; public class PasswordGenerator { private static final String ALLOWED_CHARACTERS = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*_+-=[]{}|,.<>?/"; private static final SecureRandom RANDOM = new SecureRandom(); public static String generatePassword(int length) { StringBuilder password = new StringBuilder(length); for (int i = 0; i < length; i++) { password.append(ALLOWED_CHARACTERS.charAt(RANDOM.nextInt(ALLOWED_CHARACTERS.length()))); } return password.toString(); } }
この Java コードは、上記の Python コードと同様に動作します。生成されたパスワードの長さを指定することで、
generatePassword
メソッドを呼び出すことで、新しいパスワードを生成することができます。Java では、標準の
https://chat.openai.com/chatRandom
クラスよりも、暗号的に強力なSecureRandom
クラスを使用することが推奨されます。このため、上記の Java コードでは、SecureRandom
クラスを使用しています。
鳥肌!ここまでくると、鳥肌ですよね、すごすぎる。。。
全部やってくれている上に、説明までしてくれてることです。神業。
ChatGPTの使い方⑥コードの改善もしてくれる
例えば下記のページから引用したPythonのコードがあるとします。
i = 1
https://www.w3schools.com/python/python_while_loops.asp
while i < 6:
print(i)
i += 1
else:
print("i is no longer less than 6")
比較的シンプルなので、あまり改善の余地がないですが、
このように回答してくれました。
この Python コードは単純な繰り返し処理を行っているため、改善の余地はありませんが、以下にいくつかの一般的な改善提案を示します。
- 不要な変数を削除する: 上記のコードには変数
i
だけが使用されていますので、変数名を短くすることができます。range
関数を使用する:range
関数を使用すると、繰り返し回数を指定することができます。上記のコードでは、6 未満の整数を使用していますので、以下のように書くことができます。https://chat.openai.com/chatfor i in range(1, 6): print(i) else: print("i is no longer less than 6")
ソースレビューまでしてくれるなんて!
ChatGPTの使い方⑦APIも作ってくれる
次は今日では欠かせない、APIデータ生成もしてくれるということです。
「ID, Name, Attribute, Ageが入っているAPIデータを作ってほしい」
以下は、ID、Name、Attribute、Age が含まれる API データを作る方法です。この API データを生成するためには、サーバーサイドのプログラミング言語(例えば Python、Java、Ruby、PHP、Node.js)が必要です。
例えば、Python の場合、Flask という micro web framework を使用することで簡単に API データを作成することができます。
以下は、Flask のコードの例です。
from flask import Flask, jsonify app = Flask(__name__) data = [ {'ID': 1, 'Name': 'John Doe', 'Attribute': 'Coder', 'Age': 30}, {'ID': 2, 'Name': 'Jane Doe', 'Attribute': 'Designer', 'Age': 25}, {'ID': 3, 'Name': 'Jim Brown', 'Attribute': 'Manager', 'Age': 40} ] @app.route('/') def index(): return jsonify({'data': data}) if __name__ == '__main__': app.run(debug=True)
このコードを実行すると、
https://chat.openai.com/chathttp://localhost:5000
にアクセスすることで、API データを取得することができます。
ChatGPTの使い方⑧:デモデータも作成できる
次は「Json形式で、ID, Name, Price, Originの入ったフルーツのデモデータを作成してほしい」と言ってみます。どう返ってくるでしょうか?
以下は、ID、Name、Price、Origin の入ったフルーツの JSON 形式のデモデータの例です。
[ { "ID": 1, "Name": "Apple", "Price": 200, "Origin": "USA" }, { "ID": 2, "Name": "Banana", "Price": 100, "Origin": "Philippines" }, { "ID": 3, "Name": "Mango", "Price": 300, "Origin": "India" }, { "ID": 4, "Name": "Orange", "Price": 150, "Origin": "Brazil" }]
この JSON 形式のデータを使用するには、サーバーサイドのプログラミング言語で HTTP リクエストを作成し、このデータを返す Web API を作成する必要があります。また、クライアントサイドの JavaScript や他の言語でこのデータを取得して使用することもできます。
https://chat.openai.com/chat
ChatGPTの使い方⑨デモデータの保存方法も教えてくれる
せっかくデモデータを出してくれたので、
「上のJsonデータをJavascriptで/product/fruitsに保存するコードを書いて」と聞いてみます。
以下は、上の JSON 形式のフルーツデータを
/product/fruits
に保存する JavaScript の例です。このコードを実行するには、AJAX の使用が必要です。const fruits = [ { "ID": 1, "Name": "Apple", "Price": 200, "Origin": "USA" }, { "ID": 2, "Name": "Banana", "Price": 100, "Origin": "Philippines" }, { "ID": 3, "Name": "Mango", "Price": 300, "Origin": "India" }, { "ID": 4, "Name": "Orange", "Price": 150, "Origin": "Brazil" } ]; $.ajax({ type: 'POST', url: '/product/fruits', data: JSON.stringify(fruits), contentType: 'application/json; charset=utf-8', dataType: 'json', success: function (data) { console.log(data); } });
このコードは、jQuery ライブラリを使用しています。 jQuery ライブラリを使用していない場合は、JavaScript の fetch API で代替することもできます。Regenerate response
https://chat.openai.com/chat
何度も言いますが、ただコードを書くだけでなく、
説明がちゃんとついてくるのが毎回感動です。。。
ChatGPTの使い方⑩もちろんSQLとかもいけます
まだまだ100個くらい色々出来そうですが、最後はSQL。
「Customerというテーブルで下記の値の入ったテーブルを作成するSQLを教えて Name(String) Age(Int) Address(String) Gender(Int)」
以下は、名前、年齢、住所、性別を含む
Customer
テーブルを作成する SQL の例です。https://chat.openai.com/chatCREATE TABLE Customer ( Name VARCHAR(255), Age INT, Address VARCHAR(255), Gender INT
いかがでしたか?本当にすごいですよね!
注意としてあるのは、
「ChatGPTも間違った情報を提供することがある」
ということです。素晴らしいAI技術と言われていますが、
完璧ではないので、最終的には自分の判断が必要になります。
コードだけに関わらず、色々な業界の知識をどんどん蓄えて
すごいことが出来そうです。わくわく!
もちろん、会社に勤めている方は守秘義務等あると
思うので、何でもかんでもコードをChatGPTに載せることは
せず、適切な判断をあおいでくださいね。
でも、NoCodeで様々なことが出来る日も近いかもしれないですね!楽しみ!
コチラもおススメ