OpenAI Realtime API の音声会話アプリを WebRTC を使って実装する
2024年10月に登場したOpenAIのRealtime APIは、任意のアプリでAIとリアルタイム音声会話を実現する画期的なAPIです。 これまでWebSocketのみをサポートしていたRealtime APIですが、先日WebRTCへの対応が発表されました。 さらに、価格の大幅な引き下げや、音声品質の向上といったアップデートも加わり、より手軽に使えるAPIとなっています...
記事を読む事前に知っておきたいtype-challenges初級チートシート
導入部 # はじめに # type-challengesはTypeScriptの型システムを活用して複雑な型定義を解決するチャレンジ集です。 TypeScriptの型に関する理論や知識を知っていても、うまく使いこなせる自信がないという方は少なくないと思います。 そんな方向けに、問題演習を通してTypeScriptの応用力を養うことを目的として始まった試みがtype-challengesです。 詳細は以下のGithubのページからご参照ください...
記事を読むJavaエンジニアが始めるTypeScript入門(第8回:オブジェクト)
はじめに # 今回はオブジェクト指向プログラミングで馴染みのあるインターフェイスやクラスについて説明します...
記事を読むOpenAI の Realtime API を使ってAIと音声会話するWebアプリを実装してみる
今までOpenAIのRealtime APIを使ってCLIベースの音声会話スクリプトを作成しました。 /blogs/2024/10/07/openai-realtime-api-intro/ /blogs/2024/10/09/openai-realtime-api-function-calling/ このスクリプトは音声変換ツールのSoX(Sound eXchange)のおかげで簡単に実装できましたが、やっぱりWebアプリも作ってみたいですね...
記事を読むJavaエンジニアが始めるTypeScript入門(第7回:関数)
はじめに # 今回は関数について説明します。 関数の基本構文 # 関数の構文と定義例は下記の通りです。 構文 /** * _関数名_ : 関数の名称 * _引数_ :(任意)引数が必要な関数の場合設定します。複数指定する場合は`,`で区切って指定します。 * _戻り値型_:(任意)戻り値の型を明示したい場合に設定します。 */ //関数式 function _関数名_(_引数_)[: _戻り値型_] {/** 任意の処理...
記事を読むOpenAI の Realtime API で音声を使って任意の関数を実行する(Function calling編)
つい先日OpenAIのRealtime APIを利用した以下の記事を書きました。 新登場の OpenAI の Realtime API でAIと音声会話する ここではCLIベースの超簡単会話ツールを作成しました。 Realtime APIはChat Completion API同様にFunction callingにも対応しています。これを利用すると音声でも任意のAPIを実行できるようになります。 今回はこれを試してみます...
記事を読む新登場の OpenAI の Realtime API でAIと音声会話する
先日OpenAI から Realtime API という注目機能がリリースされました。 OpenAI Blog - Introducing the Realtime API Realtime APIは今秋から段階的にロールアウトしたChatGPTのアドバンスドボイスモードに相当するAPIです。 以前も類似のことはできましたが、音声をテキストに変換、プロンプトとしてLLMにインプット、レスポンスのテキストを音声に変換という長いステップを踏む必要がありました...
記事を読むGitHub オーガニゼーションのメンバーを把握するための(手抜き)サイトを作る
はじめに # 筆者は会社の GitHub オーガニゼーション管理者の一人です。最近はオーガニゼーションのメンバーも増えてきて、誰が使っているか把握するのが難しくなってきました。具体的には以下のような情報を把握したくなりました。 オーガニゼーションメンバーと、社員情報(氏名、所属)の紐付け 誰が管理者権限を持っているのか 管理者権限は、必要に応じて一時的に付与することもあるので、誰が持っているのかを把握することも必要になります[1]...
記事を読むJavaエンジニアが始めるTypeScript入門(第6回:特殊な型)
はじめに # 今回は、変数、引数、戻り値などに使用する特殊な型について説明します...
記事を読むJavaエンジニアが始めるTypeScript入門(第5回:集合を扱う型)
はじめに # 今回は、変数、引数、戻り値などに使用する集合を扱う型について説明します。 名称、概要 JavaScript TypeScript Java 備考 配列 array array Array タプル型 ≒array tuple -(commons-langなどで代用可) Set Set Set Set Map Map Map Map ※表はTypeScriptの型と近い型をマッピングしたものです...
記事を読む