
音声駆動型アプリケーションは、OpenAIによってSFのコンセプトから展開可能なソリューションへと移行しました。's 最新のツール。このガイドでは、実践的な導入方法を解説します。 Openを使用した多言語音声エージェントAI エージェントSDK人間のような対話のリズムを維持しながら、言語を超えて音声を処理するシステムを作成する方法を示します。
オープンなものAI エージェント SDK?
店は開いていますAI エージェントSDKは、開発者に構築するためのフレームワークを提供します。 AI 音声を含む様々な入力を処理して応答できるエージェント。SDKはGPT-4o-realtime-previewモデルをサポートしており、 リアルタイム会話機能 高度な 自然言語処理 (NLP) 機能。
SDK には、音声ベースのインタラクションをシームレスに処理するように設計されたコンポーネントである VoicePipeline が含まれています。このパイプラインは、音声をテキストに変換し、情報を処理し、自然な応答を生成するという複雑なプロセスを管理します。
現代の音声エージェントのコアアーキテクチャ

1. 音声処理パイプライン
OpenAI's VoicePipelineは、音声キャプチャ、言語処理、応答生成という3つの同期された段階を経て動作します。システムはまず、生の音声信号をテキストに変換することから始まります。 音声テキスト GPT-4o Transcribe などのモデル。このテキスト入力は、コンテキスト、意図、感情的なトーンを分析する言語モデルに送られます。最後に、テキスト読み上げコンポーネントが、会話の流れを維持しながら、自然な音声応答を生成します。
2. マルチモーダルアーキテクチャとチェーンアーキテクチャ
音声エージェントの開発には、2 つの異なるアプローチが主流です。
ダイレクトオーディオ処理(マルチモーダル)
GPT-4o-realtime-previewはテキスト変換なしで音声を処理し、200〜300msの応答を実現します。このアーキテクチャは、ピッチや休止などの声のニュアンスを捉え、 感情を認識する ネイティブオーディオ処理を全体にわたって維持することで、顧客とのやり取り中に応答します。
テキスト中心の処理(連鎖)
従来のパイプラインは 転記、分析、および合成の各段階があります。このモジュール方式のアプローチにより、ヘルスケアトリアージなどのコンプライアンス重視のアプリケーションで詳細なログ記録が可能になります。開発者は、タスク固有の最適化されたモデルを使用しながら、各段階を正確に制御できます。
多言語音声エージェントガイド: コードから会話まで
Openで音声エージェントを作成するAI エージェントSDKには特定の環境設定が必要です。音声機能を備えた機能的な開発環境を構築するには、以下の手順に従ってください。
ステップ1. Pythonと仮想環境のセットアップ
Python 3.8 以降がインストールされていることを確認します。以下で検証します。
python --version
新規インストールの場合は、Pythonを以下からダウンロードしてください。 Python.org.
a. 仮想環境を作成する
競合を避けるために依存関係を分離します。
p-ython -m venv voice_agent_env
b. アクティベーション:
- macOS 10.12 以降:
source voice_agent_env/bin/activate
- Windows:
voice_agent_env\Scripts\activate
c. 音声固有の依存関係をインストールする
OpenをインストールするAI 音声拡張機能とオーディオ ライブラリを備えたエージェント SDK:
pip install 'openai-agents[voice]' numpy sounddevice scipy python-dotenv
d. オープンを設定するAI APIキー: 環境変数を使用して API キーを安全に保存します。
- 作る
.envファイル:
echo "OPENAI_API_KEY=your-api-key-here" > .env
- サンプルリポジトリをクローンする (オプション):
作業をスピードアップするには、公式サンプルを 店は開いていますAI エージェント SDK GitHub リポジトリ.
git clone https://github.com/openai/openai-agents-python.git
cd openai-agents-python/examples/voice/static
ステップ2. 多言語エージェントの構築
主なコンポーネントは次のとおりです。
- 言語固有のエージェント さまざまな言語(スペイン語、ヒンディー語)
- 最初のやり取りを担当するプライマリエージェント
- 追加機能(天気情報など)のための機能ツール
ここに's コード構造の簡略化されたバージョン:
a. エージェントを定義する
サポートする言語ごとに異なるエージェント インスタンスを作成します。たとえば、スペイン語のエージェントとヒンディー語のエージェントを、それぞれの言語の指示とともに作成できます。
from agents import Agent
from agents.extensions.handoff_prompt import prompt_with_handoff_instructions
spanish_agent = Agent(
name="Spanish",
handoff_description="A Spanish speaking agent.",
instructions=prompt_with_handoff_instructions(
"You're speaking to a human, so be polite and concise. Speak in Spanish."
),
model="gpt-4o-mini",
)
hindi_agent = Agent(
name="Hindi",
handoff_description="A Hindi speaking agent.",
instructions=prompt_with_handoff_instructions(
"You're speaking to a human, so be polite and concise. Speak in Hindi."
),
model="gpt-4o-mini",
)
ユーザーの音声から言語を検出し、必要に応じて適切なエージェントに委任するプライマリ アシスタントを作成します。
agent = Agent(
name="Assistant",
instructions=prompt_with_handoff_instructions(
"You're speaking to a human, so be polite and concise. If the user speaks in Spanish, hand off to the Spanish agent. If the user speaks in Hindi, hand off to the Hindi agent."
),
model="gpt-4o-mini",
handoffs=[spanish_agent, hindi_agent],
)
b. ツールを追加する(オプション)
たとえば、エージェントが呼び出す可能性のある簡単な天気予報ツールを追加できます。
import random
from agents import function_tool
@function_tool
def get_weather(city: str) -> str:
choices = ["sunny", "cloudy", "rainy", "snowy"]
return f"The weather in {city} is {random.choice(choices)}."
agent.tools.append(get_weather)
ステップ3. 音声パイプラインの設定

SDK の音声パイプラインは、次の 3 つのコンポーネントを組み合わせています。
- 音声テキスト変換 (STT): 音声入力をテキストに変換します。
- エージェントワークフロー: テキストを処理します (言語の検出とツールの呼び出しを含む)。
- テキスト読み上げ (TTS): エージェントを変換する's テキスト返信を音声で返信します。
ここに's 簡略化した例:
import asyncio
import numpy as np
import sounddevice as sd
from agents.voice import AudioInput, SingleAgentVoiceWorkflow, VoicePipeline
async def main():
# Create the voice pipeline with your primary agent
pipeline = VoicePipeline(workflow=SingleAgentVoiceWorkflow(agent))
# For demonstration, we'll simulate 3 seconds of audio input with silence.
buffer = np.zeros(24000 * 3, dtype=np.int16)
audio_input = AudioInput(buffer=buffer)
# Run the pipeline
result = await pipeline.run(audio_input)
# Set up the audio player (using sounddevice)
player = sd.OutputStream(samplerate=24000, channels=1, dtype=np.int16)
player.start()
# Stream and play audio events from the agent's output
async for event in result.stream():
if event.type == "voice_stream_event_audio":
player.write(event.data)
if __name__ == "__main__":
asyncio.run(main())
実際のアプリケーションでは、沈黙の代わりにライブのマイク入力をキャプチャし、エージェントがリアルタイムで言語を検出します。
ステップ4: 音声エージェントを実行する
python -m examples.voice.static.main
音声エージェント開発のベストプラクティス
Openで音声エージェントを構築する場合AI エージェント SDK では、次のベスト プラクティスを考慮してください。
今すぐ多言語音声エージェントでリードしましょう
Openで音声エージェントを構築するAI エージェントSDKのアクセス性が大幅に向上しました。開発者は、特定のニーズに応じてマルチモーダルまたはチェーンアーキテクチャを選択し、VoicePipelineを設定して、SDKに処理を任せることができます。 複雑な処理.
会話の流れの品質には、マルチモーダル アプローチが最適です。構造と制御には、連鎖方式の方が適しています。このテクノロジは進化を続け、音声駆動型アプリケーションに新たな可能性をもたらします。

