プログラミング

ビジネス

ChatGPTをプログラムっぽく動作させる

  • 作業プロセスなどを指定してあげると、その流れに沿って処理した結果を教えてくれる。
  • 決まった書式は無いが、特定の文字などを反映させたい場合、@ や { } などの記号を使ったりするとChatGPTも解釈がしやすい。
  • この記号自体に何か処理上の意味があるわけではない。あくまでChatGPTの解釈のしやすさや、指示側の指示の読みやすさなどの視点で必要に応じて使う。
  • プログラムのように厳密な文法を守る必要が無い一方で、日本語の指示内容自体が複数の解釈の余地などが無い論理的な構造になっていないと正しく動作しない。
  • たまにその作業を処理するためのプログラムを教えてくれるけど、その時は「プログラムじゃなくて、作業結果を教えて」などと言えば修正してくれる。
  • 論理的思考やプログラミング思考の練習にもなるかもね。

下記の作業をお願い。
{month} = m月
{ja-month} = 和風月名
{en-month} = 英語の月表記
を条件として、
{month},{ja-month},{en-month}
の書式で1月から12月までを1行ごとに書き出して。

(さらに…)
学習・知識

ChatGPTで会話が長文で途切れてしまった場合はどうする?

  • 長い文章やプログラムコードなどをChatGPTに出力させるとき、ChatGPTからの返答が途中で切れてしまうことがあります。
  • そんな時は「続けて」といえば、続きから答えてくれます。
  • もし、通信が途中で切れてしまったような場合や、出力されるコードなどによってページの表示が崩れてしまうような場合は、最後の行などをコピペして「〇〇からの続きを教えて」などといえば、そこからの続きを書いてくれます。
  • ネットワークが混雑しているときなどは特に文章が途中で切れやすくなるので、上記を使うと便利です。

以下のコードについて教えて。
このクラスは別ファイルの親コードのqueueライブラリのオブジェクトを使っているんだけど、このようなときのimport文はどう書くのが適切?

import threading
import queue

class BaseThread(threading.Thread):
 def __init__(self, stop_event, on_receive_message):
   super().__init__()
   self.stop_event = stop_event self.on_receive_message = on_receive_message

 def send_system_message(self, message, segment="system"):
   self.on_receive_message(message, segment=segment)
(さらに…)
ビジネス

ChatGPTに自動でゼロからプログラムを書いて修正してもらう質問、使い方

  • ChatGPTにプログラムを書いてもらうプロンプト。
  • 「プログラムを書いて」とお願いしてもいいんだけど、もっと手前から「どうすればいいかな?」と聞くだけでもChatGPTは懇切丁寧に説明してくれる。
  • あとは何度も聞き返して掘り下げていくだけ。もう思考停止しててもAIが考えてくれる。
  • GPT-4なら聞き返すたびにコードもちゃんと修正してくれる。GPT-3.5はときどき違う話に逸れちゃったりするけど。それでもちゃんと回答はしてくれる。すばらしい。
  • エラーがあっても、動かなくても大丈夫。コードを丸ごとChatGPTに修正してもらおう

Pythonで、GPT-3 APIを使ってユーザーが入力した質問の回答を取得し、その取得した回答の内容をテキストリーダーで読み上げるプログラムを作りたい。
どうすればいいかな?

(さらに…)
ビジネス

ChatGPTにプログラムのソースコードに自動的にコメントを入れてもらう方法、使い方

  • ChatGPTにプログラムのソースコードに自動的にコメントを入れてもらうプロンプト。
  • 「以下のコードにコメントを入れて」という質問にコードを貼り付けて送信するだけでソースコードにコメントを入れてくれます。

以下のコードに詳細なコメントを入れて

class Speaker_sapi5:
    def __init__(self, voice_index=2):
        self.engine = win32com.client.Dispatch("SAPI.SpVoice")
        self.engine.Rate = 1
        voices = self.engine.GetVoices()

        for i, voice in enumerate(voices):
            print("{}: {}".format(i, voice.GetDescription()))

        if 0 <= voice_index < len(voices):
            self.engine.Voice = voices[voice_index]
            print("音声を「{}」に設定しました。".format(voices[voice_index].GetDescription()))
        else:
            print("音声インデックスが範囲外です。デフォルトの音声を使用します。")

    def speak(self, text):
        self.engine.Speak(text)
(さらに…)
ビジネス

ChatGPTにテストコードを実装してもらう方法、使い方

  • ChatGPTにテストコードを実装してもらうプロンプト
  • 「以下のコードのテストを実装して」などの質問にコードを貼り付けて聞くだけでChatGPTがテストコードを書いてくれます。

以下のコードのテストを実装して。

from gtts import gTTS
import tempfile
from pygame import mixer
import time

mixer.init()

class Speaker_gtts:
    def __init__(self):
        self.engine = gTTS

    def speak(self, text):
        with tempfile.NamedTemporaryFile(delete=True) as fp:
            tts = self.engine(text=text, lang='ja')
            tts.save("{}.mp3".format(fp.name))
            mixer.music.load('{}.mp3'.format(fp.name))
            mixer.music.play()
            while mixer.music.get_busy():
                time.sleep(0.1)
(さらに…)
ビジネス

ChatGPTにプログラムを読ませてバグを探してもらい、さらに完璧に修正してもらうプロンプト

  • 「以下のコードの問題点を教えて」という質問にコードを貼り付けて送信するだけでソースコードのバグを見つけてくれます。
  • もし、問題があれば「修正したコードを教えて」と聞くだけでバグを取り除いて正しく動作する(可能性の高い)コードも作ってくれます。

以下のコードの問題点を教えて

class Speaker_sapi5:
    def __init__(self, voice_index=2):
        self.engine = win32com.client.Dispatch("SAPI.SpVoice")
        self.engine.Rate = 1
        self.engine.Volume = 100

        voices = self.engine.GetVoices()
        self.engine.Voice = voices[voice_index]

    def speak(self, text):
        self.engine.Speak(text)
(さらに…)
ビジネス

ChatGPTにプログラムを読ませてどのような動作をするか教えてもらうプロンプト

  • ChatGPTで「以下のコードをレビューして」と聞くだけでプログラムの詳細な動作を教えてくれる。

以下のコードをレビューして

class Speaker_sapi5:
    def __init__(self, voice_index=2):
        self.engine = win32com.client.Dispatch("SAPI.SpVoice")
        self.engine.Rate = 1
        self.engine.Volume = 100

        voices = self.engine.GetVoices()

        for i, voice in enumerate(voices):
            print("{}: {}".format(i, voice.GetDescription()))

        if 0 <= voice_index < len(voices):
            self.engine.Voice = voices[voice_index]
            print("音声を「{}」に設定しました。".format(voices[voice_index].GetDescription()))
        else:
            print("音声インデックスが範囲外です。デフォルトの音声を使用します。")

    def speak(self, text):
        self.engine.Speak(text)
(さらに…)
スポンサーリンク
タイトルとURLをコピーしました