OpenAI Realtime API の音声会話アプリを WebRTC を使って実装する
2024年10月に登場したOpenAIのRealtime APIは、任意のアプリでAIとリアルタイム音声会話を実現する画期的なAPIです。 これまでWebSocketのみをサポートしていたRealtime APIですが、先日WebRTCへの対応が発表されました。 さらに、価格の大幅な引き下げや、音声品質の向上といったアップデートも加わり、より手軽に使えるAPIとなっています...
記事を読むローカルLLMを使ったボイドシミュレーション(llama.cpp、llama-cpp-python)
これは豆蔵デベロッパーサイトアドベントカレンダー2024第19日目の記事です。 はじめに # こんにちは。前回、前々回に引き続き、PyGameを使って遊び……もといシミュレーションをしている大久保です。 今回は、昨今発展が著しい生成AIの分野を組み合わせてボイドモデルのシミュレーションしてみました。 「生成AIを使うってことは、高いGPUを買ったり、どっかに課金してAPIを使うんでしょう?」 と思われるかもしれませんが、実はローカルPC(CPU)でも出来ちゃったりするんです...
記事を読むOpenAI の Swarm でエージェントオーケストレーションの仕組みを理解する
これは豆蔵デベロッパーサイトアドベントカレンダー2024第4日目の記事です。 2025年に飛躍しそうなAI注目技術と言えば、エージェント機能が代表格です[1]。 最近でも、AnthropicがComputer Useと呼ばれるAIでPCを直接操作するAIエージェントを公開(ベータ版[2])して話題を集めました。 一方で、追随するOpenAIやGoogle等のAIベンダーでも自律型のエージェント機能を順次リリースする予定で大きな期待(と倫理的な懸念)を集めています...
記事を読むOpenAI の Realtime API を使ってAIと音声会話するWebアプリを実装してみる
今までOpenAIのRealtime APIを使ってCLIベースの音声会話スクリプトを作成しました。 新登場の OpenAI の Realtime API でAIと音声会話する OpenAI の Realtime API で音声を使って任意の関数を実行する(Function calling編) このスクリプトは音声変換ツールのSoX(Sound eXchange)のおかげで簡単に実装できましたが、やっぱりWebアプリも作ってみたいですね...
記事を読む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にインプット、レスポンスのテキストを音声に変換という長いステップを踏む必要がありました...
記事を読むOpenAIの File Search の結果を分析してチューニングする
OpenAIの Assistants API では、ツールとして File Search(RAG) が利用できます[1]。 これを使えば、ファイルをアップロードするだけでAIに独自のナレッジを追加できます。 自前でベクトルデータベースを用意したり、Embedding API を使ったベクトル化やベクトル検索の実装が不要になります。 この File Search 登場時は、中身はブラックボックスでチューニングもできませんでしたが、何度かアップデートされており状況が変わってきています...
記事を読むOpenAIのStructured Outputsを使ってAIの出力スキーマを定義する
先日OpenAIからStructured Outputsという機能がリリースされました。 OpenAI Blog - Introducing Structured Outputs in the API Structured Outputsは、その名前の通り構造化された出力を強制する機能です。 とはいえ、今までもAIからのレスポンスをJSON形式で返却するパラメータはありました(response_formatにjson_objectを指定)...
記事を読むLangChainのJava用ライブラリLangChain4jを使ってみる
はじめに # こんにちは。デジタル戦略支援事業部の三浦です。 今回はLangChainのJava用ライブラリである LangChain4j を触ってみたので紹介したいと思います。 LangChainとはLLM(大規模言語モデル)を利用したアプリケーション開発において便利な機能をまとめたフレームワークです。 多種の言語モデルを統一的なインターフェースで利用できることや、プロンプトテンプレート、会話履歴の保存、エンベディング、ベクトルDBとの接続など多くの機能に対応しています...
記事を読むClaude 3 を使ってみたら「こんなアプリ作れたらいいなぁ」と温めていたアイデアがこいつですんじゃいました。
はじめに # こんにちは、今田です。 豆蔵社内のイベントで、AWSの生成AI勉強会があるというので、Claude 3 をちょっと触ってみようと思いました。 ChatGPTの情報はちょこちょこ追っていたので、「普通に人に頼むように口語で話しかけたら、人間みたいに返してくれるんだろうな」という感じで30分くらい使いました...
記事を読む