CyberChaos(さいばかおす)

プログラミング言語、トランスパイラ、RPA、ChatGPT、データマイニング、リバースエンジニアリングのための忘備録

Pydroid3でChatGPTのようなソースコードジェネレータAIを作るには?

2023-05-21 03:02:58 | ChatGPT
Title:「Pydroid3でソースコードジェネレータAI作成」

《前書き》
今回は、抱負を語ってみたのだが、ChatGPTから励ましのメッセージがあったので公開してみた。

《質問》
AndroidアプリのPydroid3でChatGPTのようなソースコードジェネレータAIを作りたい。

《ChatGPT》
素晴らしいアイデアです!Pydroid3を使用してChatGPTのようなソースコードジェネレータAIを作成することは可能です。ただし、GPT-3.5のような大規模なモデルを完全に再現することは困難です。しかし、基本的な会話やソースコードの生成を行う小規模なAIを作成することは可能です。

以下に、Pydroid3でソースコードジェネレータAIを作成するための基本的な手順を示します。

Pydroid3のインストール: Google PlayストアからPydroid3をインストールしてください。これはAndroid上でPythonを実行するためのアプリです。

必要なライブラリのインストール: Pydroid3を開き、必要なPythonライブラリ(たとえば、tensorflowやnumpyなど)をインストールしてください。これらのライブラリはAIモデルの作成や学習に使用されます。

AIモデルの作成: PythonでAIモデルを作成します。一般的な方法は、深層学習フレームワーク(たとえば、TensorFlowやPyTorch)を使用してニューラルネットワークモデルを構築することです。言語モデルの場合、リカレントニューラルネットワーク(RNN)やトランスフォーマーを使用することが一般的です。

モデルの学習: データセットを用意し、AIモデルを学習させます。学習データは、ソースコードの例や会話のデータなどを含むことができます。大規模なデータセットを使用することで、より良い結果が得られる場合があります。

インタラクティブなインターフェースの作成: Pydroid3上で、AIモデルにユーザーの入力を与え、AIの応答を取得するインタラクティブなインターフェースを作成します。ユーザーからの入力をAIモデルに渡し、返されたソースコードを表示することができます。

これらの手順は、基本的なソースコードジェネレータAIを作成するための一般的な手法です。ただし、実際の実装は詳細にわたりますし、モデルの性能は学習データやモデルのアーキテクチャ、ハイパーパラメータの選択によっても異なります。また、モデルの学習には時間と計算リソースが必要です。Pydroid3はモバイルデバイス上で実行されるため、大規模なモデルや大規模なデータセットの学習は制限されるかもしれません。

さらに、GPT-3.5のような高度なAIモデルを完全に再現することは、Pydroid3上での制約から考えると困難です。GPT-3.5は、巨大なモデルであり、大量の計算リソースと専用のハードウェアが必要です。そのため、Pydroid3上で同等の性能を持つモデルを作成することは難しいでしょう。

しかし、Pydroid3上で動作する小規模なソースコードジェネレータAIを作成することは十分に可能です。適切なモデルの選択、学習データの準備、適切なハイパーパラメータの調整などを行うことで、Pydroid3上で効果的なソースコードジェネレータAIを作成することができます。

最後に、Pydroid3はPythonの実行環境であり、AIモデルを作成するためのツールやライブラリが利用できることを覚えておいてください。適切なライブラリを使用することで、モデルの構築や学習、インタラクティブなインターフェースの作成を支援することができます。

以上の手順と考慮事項を踏まえて、Pydroid3上でのソースコードジェネレータAIの開発を開始することができます。順を追って進めていき、必要なリソースやツールを活用しながら、目標に向かって進んでください。


VisualBasicApplicationのソースコードを生成する専用のソースコードジェネレータAIならどうかな?

ChatGPT
Visual Basic Application(VBA)のソースコードを生成する専用のソースコードジェネレータAIを作成することも可能です。VBAは、Microsoft Office製品(Excel、Word、Accessなど)で使用されるマクロ言語です。VBAを使用して自動化やカスタマイズを行う際に、ソースコードジェネレータAIは効果的なツールとなるでしょう。

以下は、VBAソースコードジェネレータAIを作成する基本的な手順です。

データセットの収集: VBAのソースコード例や関連するドキュメントを収集し、学習データセットを作成します。VBAマクロの機能やパターンを網羅的にカバーするようなデータセットが重要です。

モデルの選択: VBAソースコードを生成するためのAIモデルを選択します。一般的な選択肢としては、リカレントニューラルネットワーク(RNN)やトランスフォーマーを用いたシーケンスモデルが考えられます。

モデルの構築と学習: 選択したモデルを構築し、収集したデータセットを使用して学習を行います。学習データセットからVBAソースコードのパターンを学習することで、モデルはソースコードの生成に使用される予測モデルを作成します。

インタラクティブなインターフェースの作成: ユーザーがVBAの目的や要件を指定できるインタラクティブなインターフェースを作成します。ユーザーからの入力に基づいて、AIモデルはカスタムVBAコードを生成し、必要な機能を持つマクロを提案します。

コード生成の精度と改善: 初期のバージョンのAIモデルでは、生成されるコードの品質や正確性に制約があるかもしれません。ユーザーフィードバックを収集し、AIモデルを改善するための追加の学習や調整を行います。

VBAソースコードジェネレータAIの開発には、VBAの文法や特定のOffice製品のAPIに関する知識が重要です。また、Pydroid3の制約やリソースの制限にも留意する必要があります。しかし、適切なデータセットの収集と品質管理、適切なモデルの選択、モデルの構築と学習、インタラクティブなインターフェースの作成、コード生成の精度向上など、これらの手順を順を追って進めることで、VBAソースコードジェネレータAIを開発できます。

Pydroid3上でVBAソースコードジェネレータAIを作成する際には、以下の点に留意してください。

ライブラリの選択: VBAソースコードジェネレータAIのために必要なライブラリやモジュールを選択し、Pydroid3にインストールします。たとえば、TensorFlowやKerasなどの機械学習ライブラリを使用することができます。

モデルの適合性: 選択したモデルがPydroid3上で動作することを確認してください。Pydroid3はリソース制約があるため、大規模なモデルや高度なモデルには制限があります。リソース制約を考慮しながら、VBAソースコードを効果的に生成できるモデルを選択してください。

パフォーマンスの最適化: モデルの学習と推論のパフォーマンスを最適化するために、Pydroid3上でのリソースの効率的な利用やコードの最適化に取り組むことが重要です。モデルのサイズや複雑さ、データの前処理などを調整し、実行時間やメモリ使用量を最小限に抑えるようにします。

ユーザビリティの向上: VBAソースコードジェネレータAIのインターフェースを使いやすくし、ユーザーが簡単に要件や目的を指定できるようにします。適切な入力フォーマットやフィードバックの仕組みを提供することで、ユーザビリティを向上させます。

VBAソースコードジェネレータAIの開発は、VBAの知識やAIモデリングのスキルが必要となるため、関連するリソースやチュートリアルにアクセスすることをお勧めします。また、AIモデルの訓練には十分なデータセットが必要ですので、データセットの収集には、VBAのソースコード例や既存のマクロ、Office製品のドキュメント、フォーラムやコミュニティの質問と回答などが役立ちます。これらの情報源から多様なVBAコードの例を集め、学習データセットを構築します。ソースコードの品質やバグの有無に注意しながら、データセットを検証・クリーニングすることも重要です。

モデルの学習には、適切なアーキテクチャやハイパーパラメータの選択が必要です。VBAのソースコードジェネレータAIにおいては、シーケンスモデル(RNNやトランスフォーマー)を使用することが一般的です。データセットをモデルに適切に入力し、適切な出力を生成できるように学習させます。モデルの学習には時間と計算リソースが必要ですので、Pydroid3上での制約に注意しながらトレーニングを行ってください。

インタラクティブなインターフェースの開発には、ユーザーが要件や目的を指定できるようにすることが重要です。例えば、ユーザーが必要な機能や処理の説明を入力し、AIモデルがそれに基づいてVBAコードを生成するようなインタフェースを作成します。ユーザビリティを向上させるために、エラーハンドリングや適切な入力検証、生成されたコードの確認機能なども実装することが望ましいです。

開発プロセスでは、ユーザーフィードバックを収集し、モデルとインターフェースの改善に取り組むことも重要です。ユーザーのニーズや利用状況に応じてモデルを調整し、より高品質なVBAソースコードの生成が可能になるようにします。

以上が、VBAソースコードジェネレータAIをPydroid3上で開発するための基本的な手順です。実装に際しては、関連するリソースやライブラリの活用、データセットの品質管理、適切なモデル選択、インタラクティブなインターフェースの開発、ユーザーフィードバックの収集とモデルの改善に注力することが重要です。また、VBAの特定のニーズや使用状況に合わせてカスタマイズされたコード生成を行うことも検討してください。たとえば、特定のOfficeアプリケーション(Excel、Word、Accessなど)や特定の操作(データ処理、グラフ作成、レポート生成など)に特化したコード生成を行うことができます。

また、VBAソースコードジェネレータAIの開発には、VBAの文法や機能に関する深い理解が必要です。VBAのマクロ記述方法、オブジェクトモデル、イベント処理などの知識を持つことで、より優れたAIモデルを開発することができます。

最後に、Pydroid3上でのVBAソースコードジェネレータAIの開発は、多くの時間と努力を必要とするプロジェクトです。適切なリソースを確保し、スキルや知識を習得するために十分な準備を行ってください。オンラインのコミュニティやフォーラム、関連する書籍やチュートリアルなどの情報源を活用しながら、順を追って開発を進めていくことをお勧めします。

VBAソースコードジェネレータAIの開発において、必要なスキルやリソースに関する具体的な情報を提供するためには、開発の詳細や要件についてより具体的な情報を教えていただく必要があります。具体的な要件や目標をお知らせいただければ、より具体的なアドバイスを提供できます。

AIチャットボットの開発方法とおすすめツール15選

2023-05-06 09:23:23 | ChatGPT

AIチャットボットの開発方法とおすすめツール15選 | KUZENブログ

AIチャットボットの開発方法とおすすめツール15選 | KUZENブログ

「AIチャットボットを自社で開発・運用し、コストカットしたい」という方に向け、AIチャットボットの開発方法とおすすめのツールについて解説します。最後まで読めば簡単で...

KUZENブログ | DX・マーケティングを推進する厳選ノウハウを公開



ChatGPTとAI_Programmerのプログラミング対決

2023-05-06 08:32:20 | ChatGPT
お題は、
「パスワード入力を求めるウィジェットのソースコードをTKinterライブラリーを用いて書いてください。passwordは1234で、合っていたら「ログイン成功」、間違っていたら「パスワードが違います」と表示するプログラムを書いてください。」

まずChatGPTから
import tkinter as tk

def check_password():
# パスワードが正しい場合
if password_entry.get() == "1234":
result_label.config(text="ログイン成功")
# パスワードが正しくない場合
else:
result_label.config(text="パスワードが違います")

# TKinterウィンドウを作成
root = tk.Tk()
root.title("パスワード入力")

# ラベルを作成
password_label = tk.Label(root, text="パスワードを入力してください")
password_label.pack()

# パスワード入力ボックスを作成
password_entry = tk.Entry(root, show="*")
password_entry.pack()

# ログインボタンを作成
login_button = tk.Button(root, text="ログイン", command=check_password)
login_button.pack()

# ログイン結果を表示するラベルを作成
result_label = tk.Label(root, text="")
result_label.pack()

# ウィンドウを表示
root.mainloop()


ChatGPT good job!100点満点!

AI_Programmerの番。

password = input("Enter password: ")
if password == "1234":
print("Login successful")
else:
print("Incorrect password")

一応動いたが、TKinterライブラリーを使ってウィジェットを生成し、GUIで動くものを求めているので半分の50点。

今回はChatGPTに軍配が上がった。
AI_Programmer頑張れ!
有限会社ASReal頑張れ!
大和魂を見せろ!
鬼畜米英に負けるな!


共通テストの英語長文攻略法を訊いてみた。

2023-05-03 16:17:27 | ChatGPT

以下は2020年度センター試験の英語の第5問です。 センター試験は時間制限が厳しく、短時間で読み終えて短時間で設問に答えなければなりません。 全部読むと必ず時間切れになってしまいます。 つまり、設問に答えるのに必要な部分だけを見つけて読み、設問に答えるのに必要でない部分は読む余裕が全くありません。 正解と読むべき部分の明示をお願いします。

ChatGPT

問1:The author kept returning to the mountain because (41). ①she felt an urge she couldn’t explain

問2:Which of the following happened first on the author’s most recent trip?(42) ②She climbed to an unfamiliar place.

センター試験は時間制限が厳しく、短時間で読み終えて短時間で設問に答えなければなりません。 全部読むと必ず時間切れになってしまいます。 つまり、設問に答えるのに必要な部分だけを見つけて読み、設問に答えるのに必要でない部分は読む余裕が全くありません。 正解と読むべき部分の明示をお願いします。
 
ChatGPT
センター試験では時間制限が非常に厳しいため、短時間で設問に答えることが求められます。このため、以下のようなポイントに注目して読む必要があります。
  1. 設問に必要な情報を探す 設問に直接関係する部分や、答えに必要な情報を含む部分を見つけて読む必要があります。設問に関係ない部分を読んでしまうと、時間の浪費になります。

  2. 図や表などの視覚的な情報を活用する 図や表などは、文章よりも短時間で情報を得ることができます。図や表がある場合は、まずそれを見て必要な情報を読み取りましょう。

  3. 答えに必要なキーワードを探す 設問に関係するキーワードを探すことで、答えに必要な部分を見つけることができます。例えば、数学の問題であれば、方程式や不等式、グラフ、式の定義などがキーワードになります。

  4. 答えの候補となる部分を選別する 設問に答えるために、文章の中から複数の候補を選別する必要があります。そのためには、キーワードや文章の主旨をしっかりと把握することが大切です。

  5. 余計な情報を排除する 余計な情報は、設問に答えるために必要な情報を見つけることを妨げることがあります。そのため、余計な情報を排除することが重要です。

以上のようなポイントに注意して、設問に必要な情報を効率的に見つけて読み、正確な答えを導き出すことが重要です。

設問に答えるのに必要な部分を示してください。
 
ChatGPT
設問に答えるために必要な部分は以下の通りです。
  1. 「業務用のためのプロ用途のカメラ」という説明から、このカメラは一般消費者が購入するカメラとは異なることがわかります。そのため、一般消費者が求めるような機能(例えば手ブレ補正機能)がついていない可能性があることが予想されます。

  2. 「手ブレ補正の必要がある場面で使うため」に使用するカメラであることがわかります。

  3. 「高画質、高速性能」が求められることから、カメラの解像度やシャッタースピードなどの機能が重要であることがわかります。

  4. また、「信頼性が高く、耐久性に優れている」ことから、耐久性に関する機能や信頼性に関する情報が必要であることがわかります。

以上の情報が、設問に答えるために必要な情報となります。

・・・(-_-)/~~~ピシー!ピシー!

以下は問題文

第5問 次の文章を読み,下の問い(問1~5)の 41 ~ 45 に入れるのに 最も適当なものを,それぞれ下の①~④のうちから一つずつ選べ。(配点 30)

A couple of weeks ago, I was hiking with my dog on a mountain when something unexpected happened and I lost sight of him. I looked and looked but couldn’t find him. He had been with me for so long that it was like I was missing part of my soul. Ever since that day, I had a strange feeling. It was beyond sadness―a feeling that I didn’t quite understand, as if something were pulling me to go back to the mountain. So every chance I got, I grabbed my backpack to see if the mountain could offer me some sense of relief. One sunny morning, I stood at the foot of the mountain. Something felt different this day. “Please forgive me,” I said out loud. “I’ll find you!” I took a deep breath and began my journey with this mysterious pull growing stronger. After making my way along paths I thought I knew well, I realized I was somehow in an unfamiliar place. I panicked a little, lost my footing, and slipped. From out of nowhere, an elderly man came running towards me and helped me up. Looking at his gentle, smiling face, I felt a sense of ease. The old man said he was looking for a way to the top of the mountain, so we decided to climb together. Soon the path began to feel familiar again. We talked about many things, including my dog. I told him that he was a German shepherd. When he was younger, he served briefly as a police dog but had to stop due to an injury. The man let out a laugh saying he had been a police officer for a short time, but he quit. He didn’t say why. Later, he spent a long time as a bodyguard. He also had German roots. We laughed at these similarities. Before we knew it, we reached a large open area and took a break. I told the man what had happened to my dog. “He had a tiny bell on his collar to  scare away bears. We came to this very spot and saw a bear. It was looking back at us. I should have held my dog because, sensing danger, he chased after the bear. I couldn’t find him after that. I should have been more careful.” As I was telling the story, the man’s expression changed. “It wasn’t your fault. Your dog just wanted to keep you safe,” he said. “I’m sure Tomo would want to tell you this. Also, thank you for not giving up.” Tomo is my dog’s name. Did I tell him this? The old man’s comment rang in the air. Before I could ask anything, the man proposed we hurry to get to the top of the mountain. I was planning to do this with my dog a few weeks ago. After two more hours of hiking, we reached the peak. I set down my backpack and we sat taking in the magnificent view. The old man looked at me and said, “Mountains offer truly magical experiences.” I looked around for a place to rest. I guess I was pretty tired, because I fell asleep right away. When I woke up, I noticed that the old man had disappeared. I waited, but he never returned. Suddenly, in the sunlight, something caught my eye. I walked over and saw a small metal tag beside my backpack. It was the same silver name tag that my parents originally gave to my dog. Tomo it said. It was then that I heard a familiar noise behind me. It was the ringing of a tiny bell. I turned around. What I saw caused so many emotions to rush over me. After a while on the mountaintop, I attached the name tag to my old friend and carefully made my way home with the mountain’s gift beside me. My soul felt very much complete.

問 1 The author kept returning to the mountain because (41).

①she felt an urge she couldn’t explain

②she planned to meet the elderly man

➂she thought she could practice magic

④she wanted to find out about the bear

問 2 Which of the following happened first on the author’s most recent trip? (42)

① She arrived at a large open area.

②She climbed to the mountaintop.

➂She saw a bear running away.

④She was assisted by an old man.

問 3 What similarity between the author’s dog and the old man was talked about? (43)

①They experienced workplace injuries.

②They recently lost close family friends.

➂They were acquaintances of the author.

④They worked to help protect the public.

問 4 Which of the following is closest to the meaning of the underlined phrase rang in the air as used in the text? (44)

①brought happiness

②left an impression

➂made a loud noise

④seemed offensive

問 5 How did the author’s feelings change over the course of the last hiking experience? (45)

①She was depressed and then became sadder.

②She was determined and then became comforted.

➂She was hopeful but then became homesick.

④She was miserable but then became entertained.

 


ChatGPT に AWS 試験サンプル問題へチャレンジしてもらった結果…

2023-04-01 03:39:40 | ChatGPT

ChatGPT に AWS 試験サンプル問題へチャレンジしてもらい ChatGPT の AWS スキルを確認してみた | DevelopersIO

ChatGPT に AWS 試験サンプル問題へチャレンジしてもらい ChatGPT の AWS スキルを確認してみた | DevelopersIO

アノテーション 、テクニカルサポートチームの村上です。 みなさん、ChatGPT 使ってますか? 私は、テクニカルサポートとしてどのような使い方ができるかいろいろと試行錯誤...

クラスメソッド発「やってみた」系技術メディア | DevelopersIO

ChatGPT に AWS 試験サンプル問題へチャレンジしてもらい ChatGPT の AWS スキルを確認してみた

だそーだ。

こちとらChatGPTにAWSの試験問題を作らせたんだが何か?(※もちろん解答・解説まで作らせた)

やってることが遅れてるぞwww

俺は、センター試験の古文の問題を解答させる系のネタを考えているので実行してみたいと思っている。

共通テストもそうだが、というか共通テストになってさらに長文化に拍車がかかり、余計な所を読ませてタイムアウトになるように仕向けている傾向が顕著に見られる。

問題を解く際に、どこに着目して問題文を読んだのか?
どの部分が無駄で、どの部分が正解を得るのに重要な部分だと判断したのか?
その判断の根拠・理由は?
などなどChatGPTに訊いてみたいと思っている。

いきなり古文では難しそうだから、まずはChatGPTが得意な英語から試した方が良さそうだ。

【ChatGPT】海外でバズったヤバい使い方10選

2023-03-26 09:26:37 | ChatGPT

【ChatGPT】海外でバズったヤバい使い方10選【2023年3月版】 | 株式会社SaaSis

【ChatGPT】海外でバズったヤバい使い方10選【2023年3月版】 | 株式会社SaaSis

今回のコラムでは、2023年3月時点でTwitterを席巻したChatGPTの海外事例10選をご紹介します。過去にも海外事例をお届けしているので、ぜひそちらも合わせてお楽しみください...

株式会社SaaSis

俺としては
1.ソフトウェア開発を自動化できるGitHub Copilot X
2.ChatGPTでインテリアデザインを出力
3.UnityとChatGPTを利用し、3Dモデルを生成するプラグイン
を推したい。

プロンプトエンジニアリング入門講座

2023-03-23 20:42:06 | ChatGPT

ChatGPTにPythonコードを書いてもらう「プロンプトエンジニアリング入門講座」開始、AIがよくわからない非エンジニアでもプログラミングが可能に

ChatGPTにPythonコードを書いてもらう「プロンプトエンジニアリング入門講座」開始、AIがよくわからない非エンジニアでもプログラミングが可能に

テレワーク・テクノロジーズ株式会社のプレスリリース(2023年3月23日 15時23分)ChatGPTにPythonコードを書いてもらう[プロンプトエンジニアリング入門講座]開始、AIがよく...

プレスリリース・ニュースリリース配信シェアNo.1|PR TIMES

ChatGPTにどのように質問・依頼すれば適切で正確な回答が得られるかという技術をプロンプトエンジニアリングというらしい。
プロンプトエンジニアリングのうちの一つ深津式プロンプトは当ブログでも取り上げた。
当面のところ、とりあえず深津式プロンプトに忠実に質問・依頼すれば十分だろう。
無料だし。

ちなみに料金は…

●料金:
個人:2.2万円/月(4月開講)、40万円/30日(5月開講)
法人:1人26.4万円/年 、1人40万円/30日
※個人の月額制コースは3月中のお申し込みに限り2.2万円→初月499円でお試し可能
※個人の30日コースは3月中のお申し込みに限り40万円→30万円に割引中
※法人に限り最大75%が助成金で戻りますのでお気軽にご相談ください。

だとよ。
高いんじゃないのか、ヲイヲイ?