
Hlasově řízené aplikace se přesunuly od sci-fi konceptů k nasaditelným řešením s OpenAI's nejnovějších nástrojů. Tato příručka vás provede praktickou implementací vícejazyčných hlasových agentů využívajících OpenAI SDK agenta, ukazující, jak vytvořit systémy, které zpracovávají řeč napříč jazyky a zároveň zachovávají rytmy interakce jako u lidí.
Co je otevřenoAI Sada SDK agenta?
OtevřenáAI Sada Agent SDK poskytuje vývojářům rámec pro tvorbu AI agenti, kteří mohou zpracovávat a reagovat na různé vstupy, včetně hlasu. SDK podporuje model GPT-4o-realtime-preview, který umožňuje možnosti konverzace v reálném čase přes jeho pokročilé Zpracování přirozeného jazyka (NLP) funkce.
SDK konkrétně obsahuje VoicePipeline, komponentu navrženou tak, aby bezproblémově zpracovávala hlasové interakce. Tento kanál řídí složitý proces převodu řeči na text, zpracování informací a generování přirozeně znějících odpovědí.
Základní architektura moderních hlasových agentů

1. Potrubí zpracování řeči
OpenAI's VoicePipeline funguje ve třech synchronizovaných fázích: záznam zvuku, zpracování jazyka a generování odpovědi. Systém začíná převodem nezpracovaných zvukových signálů do textu pomocí převod řeči na text modely jako GPT-4o Transscribe. Tento textový vstup se pak vkládá do jazykových modelů, které analyzují kontext, záměr a emocionální tón. A konečně komponenty převodu textu na řeč generují přirozeně znějící hlasové odezvy při zachování toku konverzace.
2. Multimodální vs zřetězené architektury
Ve vývoji hlasových agentů dominují dva odlišné přístupy:
Přímé zpracování zvuku (multimodální)
GPT-4o-realtime-preview zpracovává zvuk bez konverze textu a poskytuje odezvu 200-300 ms. Tato architektura zachycuje vokální nuance včetně výšky tónu a pauz, což umožňuje uvědomující si emoce odpovídá během interakcí se zákazníky udržováním nativního zpracování zvuku po celou dobu.
Textově orientované zpracování (zřetězené)
Tradiční potrubí oddělené přepisfáze analýzy a syntézy. Tento modulární přístup umožňuje podrobné protokolování pro aplikace citlivé na dodržování předpisů, jako je třídění zdravotní péče. Vývojáři získají přesnou kontrolu nad každou fází při použití optimalizovaných modelů pro konkrétní úkoly.
Vícejazyčný průvodce Voice Agent: Od kódu ke konverzaci
Vytváření hlasových agentů pomocí OpenAI Sada Agent SDK vyžaduje specifické konfigurace prostředí. Postupujte podle těchto kroků a vytvořte funkční vývojové prostředí s hlasovými funkcemi.
Krok 1. Nastavení Pythonu a virtuálního prostředí
Ujistěte se, že je nainstalován Python 3.8+. Ověřit pomocí:
python --version
Pro nové instalace si stáhněte Python z python.org.
A. Vytvořte virtuální prostředí
Izolujte závislosti, abyste předešli konfliktům:
p-ython -m venv voice_agent_env
b. Aktivace:
- Linux/macOS:
source voice_agent_env/bin/activate
- Windows:
voice_agent_env\Scripts\activate
C. Nainstalujte závislosti specifické pro hlas
Nainstalujte OpenAI Sada SDK pro agenty s hlasovými rozšířeními a audioknihovnami:
pip install 'openai-agents[voice]' numpy sounddevice scipy python-dotenv
d. Konfigurace otevřeníAI klíč API: Uložte svůj API klíč bezpečně pomocí proměnných prostředí:
- Vytvořit
.envSoubor:
echo "OPENAI_API_KEY=your-api-key-here" > .env
- Klonujte úložiště příkladů (volitelné):
Chcete-li věci urychlit, můžete naklonovat oficiální příklad z OtevřenáAI Repozitář GitHub pro sadu SDK agentů.
git clone https://github.com/openai/openai-agents-python.git
cd openai-agents-python/examples/voice/static
Krok 2. Vytvoření vícejazyčného agenta
Mezi hlavní komponenty patří:
- Jazykově specifičtí agenti pro různé jazyky (španělština, hindština)
- Primární agent, který zpracovává počáteční interakce
- Funkční nástroje pro další funkce (jako jsou informace o počasí)
Zde's zjednodušená verze struktury kódu:
a. Definujte své agenty
Vytvořte různé instance agenta pro každý jazyk, který chcete podporovat. Například španělský agent a hindský agent mohou být vytvořeny s pokyny v jejich příslušných jazycích:
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",
)
Vytvořte si primárního asistenta, který rozpozná jazyk z řeči uživatele a v případě potřeby deleguje příslušného agenta:
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. Přidat nástroje (volitelné)
Můžete například přidat jednoduchý nástroj počasí, který může agent volat:
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)
Krok 3. Nastavení Voice Pipeline

Hlasový kanál SDK kombinuje tři komponenty:
- Převod řeči na text (STT): Převede váš zvukový vstup na text.
- Pracovní postup agenta: Zpracuje text (včetně detekce jazyka a vyvolání nástroje).
- Převod textu na řeč (TTS): Převede agenta's textová odpověď zpět do zvukové podoby.
Zde's zjednodušený příklad:
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())
V reálné aplikaci byste místo ticha zachytili živý mikrofonní vstup a agent by detekoval jazyk v reálném čase.
Krok 4: Spusťte svého hlasového agenta
python -m examples.voice.static.main
Nejlepší postupy pro vývoj hlasových agentů
Při vytváření hlasových agentů s OpenAI SDK agenta, zvažte tyto osvědčené postupy:
Převezměte vedení se svým vícejazyčným hlasovým agentem ještě dnes
Vytváření hlasových agentů s OpenAI Sada Agent SDK se stala výrazně dostupnější. Vývojáři si nyní mohou vybrat mezi multimodální nebo řetězenou architekturou na základě svých specifických potřeb, nastavit VoicePipeline a nechat SDK zvládnout vše. komplexní zpracování.
Pro kvalitu konverzačního toku funguje nejlépe multimodální přístup. Pro strukturu a ovládání je vhodnější řetězený způsob. Tato technologie se neustále vyvíjí a otevírá nové možnosti pro aplikace řízené hlasem.

