12 Days of OpenAI: Day 9 ついに開発者向けMini Dev Day! プログラム開発の何が変化してるのか? 素人こそ知っておくべき変化!!
公開されたばっかりのmixi2に反応するmixi世代の足立明穂ですw
OpenAIもすごいけど、mixi世代はmixi2にドキドキワクワクです!!
※上記のコメント欄に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)」だから、というジョークで締めくくられた。
最後まで読んでいただいて、ありがとうございます!
この記事のスキをクリック、コメントをいただけると、励みになります!!
応援、よろしくお願いします!