見出し画像

12 Days of OpenAI: Day 9 ついに開発者向けMini Dev Day! プログラム開発の何が変化してるのか? 素人こそ知っておくべき変化!! 

公開されたばっかりのmixi2に反応するmixi世代の足立明穂ですw
OpenAIもすごいけど、mixi世代はmixi2にドキドキワクワクです!!

mixi2、はじめました😆

Posted by 足立 明穂 on Monday, December 16, 2024

※上記のコメント欄にmixi2に作ったコミュニティ『ChatGPTで脳力向上!』ってのもあるので、ぜひ、入ってくださいね!w

って、話を戻して、Day 9は、開発者向けのAPIの話。

これが、なかなか楽しいデモでした。とはいえ、開発者じゃないと面白さは伝わらないかなぁ・・・w

でも、このようなAPIが解放されたってことで、多くの開発者が様々なサービスを作るようになるので、びっくりするぐらいAIがあっちこっちに入り込むことになるでしょうね。

ライブ動画はこちら

https://www.youtube.com/live/XKABimtOWME?si=nNJSuN-gwtCiMwmb

って、その前に、なぜか、今回は、文字起こしが全然、うまくいかない・・・ しかも、上のYouTubeの録画も、文字起こしがオフに設定されていて、文字起こしが使えない!!

ということは・・・ 英語のリスニングで理解しろってことか! うぅ・・・ 英語力のなさが問われる(^^;

って、書いていたら、なんとかなった。ふぅ・・・(これだけで1時間半を費やしてしまいましたw)

確定申告が楽になるためのアプリ開発をお手伝い!?

最初のデモは、税務署類をスキャンして、その中の間違いを見つけるために、読み込ませます。

すると、書類に間違いがあることを確認し、その状況をChatで人間が理解できる文章だけでなく・・・

プログラムで読み込める形式で返してきます。

これを分かりやすく言えば・・・・

従来の開発であれば、エラーが起きたときに開発者がその現象を見つけ、そこからなにを修正すべきかを考え、プログラムに反映させるということを行っていました。

ところが、これからは、AIがこの作業をアシストしてくれるので、開発者は、コーヒー片手に開発できるのです!

音声も簡単に扱えるようになった!

音声を扱えるAIPについてもデモがありました。
ライブ動画の12分44秒あたりからです。

https://www.youtube.com/live/XKABimtOWME?si=WK3kXI5LVB1T_kQz&t=764

いきなりスペイン語ってのが面白いですが、英語で質問すれば、英語で返答しています。

で、びっくりするのが、たった、これだけのプログラムです!!

<!DOCTYPE html>
<html>
<body>
  <audio id="remoteAudio" autoplay controls></audio>
</body>

<script type="module">
  // Create a WebRTC PeerConnection
  const peerConnection = new RTCPeerConnection();

  // When Realtime API sends you audio assign to the audio element named 'remoteAudio'
  peerConnection.ontrack = e => document.getElementById('remoteAudio').srcObject = e.streams[0];

  // Capture your microphone and add it to PeerConnection
  const localStream = await navigator.mediaDevices.getUserMedia({ audio: true });
  peerConnection.addTrack(localStream.getTracks()[0]);

  // Finalize PeerConnection sending one Audio Track
  const offer = await peerConnection.createOffer();
  await peerConnection.setLocalDescription(offer);

  // Send a WebRTC Offer to Realtime API
  const resp = await fetch('https://api.openai.com/v1/realtime', {
    method: 'POST',
    body: offer.sdp,
    headers: {
      // For the demo I have stored api-token in localStorage
      Authorization: `Bearer ${localStorage.getItem("api-token")}`,
      'Content-Type': 'application/sdp',
    }
  });

  // It responds with an answer and the session is established!
  await peerConnection.setRemoteDescription({ type: 'answer', sdp: await resp.text() });
</script>

※このままコピペしても動かないですよー!w トークン設定とかしないとね!w ちなみに、画像からChatGPTさんがテキストにしてくれましたw

これだけで音声のやり取りができるし、しかも、レスポンスが速い!!

いやはや、すごい時代になってきてます!!


プログラム開発の何が変わろうとしているのか?

ここからが大事なところ!!

プログラム開発って、翻訳の仕事に似ているところがあります。

翻訳は、例えば、『日本語の文章 ー> 英語の文章』にすることです。だから、日本語と英語の読み書きができるってのは当然なのですが、実は、それだけではありません。

日本の文化や英語の文化を知っておく必要があるのです。

すっごくシンプルな例では、アメリカで、「Heads or tails?」を直訳してしまうと、「頭か、シッポか?」になってしまいます。しかし、これは、コインを投げて、表か裏かときいているのですね。

アメリカのコインは、片方が肖像画になっているので、そちらを「Head(頭)」といって、反対側を「Tails(シッポ)」と表現しているのです。

こういう文化的な違いを知っていないと、直訳してしまって、大きな誤解を生んでしまいます。

これと同じように、プログラム開発も何を作るのかをコンピュータのわかる言葉に置き換えていかなければなりません。

「それって、コンピュータのプログラミング言語が分かればいいだけでは??」

って、思いますよね?w

実は、そんな簡単じゃないんです。

私もプログラム開発や、システム開発をやってきたし、そういうのを取りまとめてきたので、痛いほどわかるのですが、人間の言葉(文化・考え方)とコンピュータ言語の言葉(ロジック)とは、かなり違います。

開発依頼を受けると、こんな話が多くあります。

「ここの表示だけど、もうちょっと大きくしてくれるかな?」
「20%大きくすればいいですか?」
「その辺は、任せるから、やっといて!」

いや、「任せる」って言われても、どれぐらい大きくしたらいいのか知らんわ!www

で、修正したら、「大きすぎる! こんな目立つようにしてとは言ってない!」とか言われますw

だけど、これからは、どんどん、この辺のところにもAIが入ってきて、その場でサクッと修正して、表示して

「これで、どうですか?」
「これよりも一回り小さくしてよ」
「では、これで・・」
「大きさはいいけど、太字にしてくれる?」
「はい。こんな表示になりますけど・・・」
「あー、いいねぇ!」

とまあ、こんな未来がすぐそこまで来てるのですよ。

コンピュータと直接会話しながら、プログラム開発が進んでいくって、なんか、すっごい未来のように思っていたけど、もう、そこに来てます!!


ChatGPTさんのざっくりまとめ!

動画で何を話してるのか気になると思うので、ChatGPTさんにまとめておいてもらいましたw

以下は「Day 9」の内容を日本語でまとめたものです。


Day 9の発表概要:

1. APIの新機能とモデルのアップデート

  • GPT-4.0 APIの新機能:

    • 関数呼び出し (Function Calling): モデルがAPIのバックエンドで関数を呼び出し、正しいデータを取得できる機能。

    • 構造化出力 (Structured Outputs): JSONスキーマに従い、出力を自動的にフォーマットする機能。アプリケーションのデータ処理が簡単になる。

    • 開発者メッセージ (Developer Messages): モデルの指示を開発者が直接制御し、指示階層を明確に設定する新機能。

    • 推論パラメータ (Reasoning Parameter): 問題の難易度に応じてモデルの計算リソースを調整し、時間とコストを節約。

    • ビジョン入力 (Vision Input): 画像の内容を理解し、エラー検出や分析が可能に。

  • パフォーマンス向上:

    • GPT-4.0は関数呼び出し、構造化出力、推論タスクにおいて従来のモデルを大幅に上回る性能を発揮。

    • レイテンシ(遅延)が60%削減され、コストも効率的に。


2. リアルタイムAPIの強化

  • WebRTCサポート: WebSocketに代わる低遅延通信技術を導入。

    • WebRTCはインターネット変動に適応し、エコーキャンセリングやビットレートの調整が自動で行われる。

    • 開発者のコード量が大幅に削減(12行程度のシンプルなコードで実装可能)。

  • コスト削減:

    • GPT-4のオーディオトークンが60%安価に。

    • GPT-4 Turboのオーディオトークンは10倍安価になる。

  • Python SDK提供: APIとの統合をより簡単に行えるPython SDKを提供開始。


3. モデルカスタマイズ:新しいファインチューニング手法

  • Preference Fine-Tuning (DPO): 開発者が「好ましい応答」と「好ましくない応答」のペアを提供し、モデルをユーザーの好みに合わせて最適化。

    • 例: カスタマーサポートコンテンツ作成スタイルガイドラインに基づく応答の最適化。

    • 一部の企業が早期利用し、精度が75%から80%以上に向上。


4. その他のアップデート

  • GoとJava用SDK: 公式SDKサポートを提供開始。

  • 新しいログイン・APIキー取得フロー: 迅速でシンプルな手続き。

  • 過去のデブデイズコンテンツ公開: OpenAIのYouTubeチャンネルで視聴可能。

  • AMAセッション開催: 開発者フォーラムで質問を受け付け。


ユーモアの締めくくり: 最後に、「構造化出力 (Structured Output)」がサンタの「いたずらリスト」に載った理由は、「スキーマ(Schema)」だから、というジョークで締めくくられた。


最後まで読んでいただいて、ありがとうございます!

この記事のスキをクリック、コメントをいただけると、励みになります!!

応援、よろしくお願いします!

いいなと思ったら応援しよう!