ソニックの部屋

主にプログラミングに関する記事を投稿します

「Python / JavaScriptによるOpen AIプログラミング」を読む

気になった用語等をまとめる

第1章_OpenAI APIを開始しよう

学んだこと

  • いかにプロンプトを用意するか、プロンプトデザインが重要

第2章_API利用の基本をマスターしよう

学んだこと

  • プロンプトとはクライアントから受け取るテキストのこと

第3章_プロンプトデザイン

学んだこと

  • プロンプトエンジニアリングとは正しい応答を得るためにプロンプトを構築すること
  • AIは入力したプロンプトに続くテキストを推測しているだけ
  • メタプロンプト(正確な回答を得るための補足部分)が重要
以下を⚪︎⚪︎しなさい。←メタプロンプト(指示)
...対象となる内容...←プライマリコンテンツ
  • 「ID」を割り当てる、「例」を与えることで応答の精度を高めることができる
以下はAIボットとの会話です。←キュー(指示ではない)
AIボットは礼儀正しく丁寧に対応します。←キュー(指示ではない)

人間:こんにちは、あなたは誰ですか。←例
AI:はじめまして、私はAIボットです。あなたをサポートします。←例

人間:東京の観光名所を教えて。
AIボット:←ID割り当て
  • 「コマンド」で複雑な処理を簡単な入力により実行させる
下のテキストをプログラムによるコマンドに変換する。

コマンド:問い合わせ(A、B)
出力:AさんにBの件で連絡する。

以下のコマンドを実行する。

コマンド:←改行しない

第4章_Completionを探求する

学んだこと

  • 様々なオプションにより応答を調整可能
  • presence_penaltyで単語の利用頻度の調整が可能
  • streamでリアルタイムでテキスト生成

第5章_Chat CompletionとTranscription

学んだこと

  • Completion(古い)とChat Completion(新しい)は別のAPI
  • Chat CompletionのAPIコードが古いため最新のGitHubを参照する
# GitHubのUsageより
from openai import OpenAI

client = OpenAI(
    # defaults to os.environ.get("OPENAI_API_KEY")
    api_key="My API Key",
)

chat_completion = client.chat.completions.create(
    messages=[
        {
            "role": "user",
            "content": "Say this is a test",
        }
    ],
    model="gpt-3.5-turbo",
)
  • Chat Completionのプロンプトデザインは、ロールを決め、特にシステムがAIモデルに指示をするsystemで基本的な方針を決めるのが重要
{"role": "system", "content": "あなたは会計の専門家です"}
  • Transcription APIで文字起こしのAPIも可能(オーディオデータからテキスト生成)

第6章_Image Generation

学んだこと

  • Image Generation(DALL_E)でイメージ生成のAPIが可能

第7章_モデルとデータのチューニング

学んだこと

  • ファインチューニングとは独自のAIモデルを作ること

第8章_Power Platform環境からのAPI利用

学んだこと

  • ノンプログラミング環境からのAPI利用

第9章_ノーコード/マクロからの利用

学んだこと

参考文献
Python / JavaScriptによるOpen AIプログラミング
掌田津耶乃 (著)/ラトルズ/2023
2023/11/14取得/GitHub