
Raddstýrð forrit hafa færst frá vísindaskáldskaparhugmyndum yfir í lausnir sem hægt er að nota með OpenAI.'s nýjustu verkfærin. Þessi handbók leiðir í gegnum hagnýta framkvæmd Fjöltyngdar talfulltrúar sem nota OpenAI Umboðsforrit (SDK), sýna hvernig á að búa til kerfi sem vinna tal þvert á tungumál á meðan viðhalda mannlegum samskiptum takti.
Hvað er opiðAI Umboðsmaður SDK?
OpnaAI Agent SDK veitir forriturum ramma til að byggja upp AI umboðsmenn sem geta unnið úr og brugðist við ýmsum inntakum, þar á meðal rödd. SDK styður GPT-4o-realtime-preview líkanið, sem gerir kleift samtalsmöguleika í rauntíma í gegnum háþróaða þess Natural Language Processing (NLP) eiginleikar.
SDK inniheldur sérstaklega VoicePipeline, íhlut sem er hannaður til að takast á við raddbundin samskipti óaðfinnanlega. Þessi leiðsla stjórnar hinu flókna ferli að breyta tali í texta, vinna úr upplýsingum og búa til náttúrulega hljómandi svör.
Kjarnaarkitektúr nútíma raddmiðla

1. Talvinnsluleiðsla
VoicePipeline frá OpenAI starfar í gegnum þrjú samstillt stig: hljóðupptöku, tungumálsvinnslu og svörunarmyndun. Kerfið byrjar á því að umbreyta hráum hljóðmerkjum í texta með því að nota tal-í-texta líkön eins og GPT-4o Transcribe. Þessi textainntak er síðan sent inn í tungumálamódel sem greina samhengi, ásetning og tilfinningalega tóna. Að lokum mynda text-í-tal þættirnir náttúrulega raddsvörun en viðhalda samræðuflæði.
2. Multimodal vs Chained Architectures
Tvær aðskildar aðferðir ráða þróun raddboða:
Bein hljóðvinnsla (fjölmóta)
GPT-4o-realtime-preview vinnur úr hljóði án textabreytinga og skilar svörum á 200-300 ms. Þessi arkitektúr fangar blæbrigði radda, þar á meðal tónhæð og hlé, sem gerir kleift að svara tilfinningalega við samskiptum við viðskiptavini með því að viðhalda innbyggðri hljóðvinnslu allan tímann.
Textamiðuð vinnsla (keðja)
Hefðbundnar leiðslur aðgreina umritunar- , greiningar- og myndunarstig. Þessi mátaðferð gerir kleift að skrá ítarlega fyrir reglufylgnisnæmar forrit eins og flokkun í heilbrigðisþjónustu. Forritarar fá nákvæma stjórn á hverju stigi með því að nota verkefnasértækar, fínstilltar gerðir.
Fjöltyng raddboðshandbók: Frá kóða til samtals
Að búa til raddfulltrúa með OpenAI Þróunarverkfærið Agent krefst sérstakra umhverfisstillinga. Fylgdu þessum skrefum til að koma á fót virku þróunarumhverfi með raddmöguleikum.
Skref 1. Uppsetning Python og sýndarumhverfis
Gakktu úr skugga um að Python 3.8+ sé uppsett. Staðfestu með:
python --version
Fyrir nýjar uppsetningar, sækið Python af python.org.
a. Búðu til sýndarumhverfi
Einangraðu ósjálfstæði til að forðast árekstra:
p-ython -m venv voice_agent_env
b. Virkjun:
- Linux/macOS:
source voice_agent_env/bin/activate
- Windows:
voice_agent_env\Scripts\activate
c. Settu upp raddsértækar dependencies
Setjið upp OpnaAI Umboðsforritaverkfæri með raddviðbótum og hljóðbókasöfnum:
pip install 'openai-agents[voice]' numpy sounddevice scipy python-dotenv
d. Stilla OpnaAI API lykill: Geymdu API lykilinn þinn á öruggan hátt með því að nota umhverfisbreytur:
- Búa til
.envfile:
echo "OPENAI_API_KEY=your-api-key-here" > .env
- Klóna sýnishornið (valfrjálst):
Til að flýta fyrir, gætirðu klónað opinbera dæmið frá OpnaAI GitHub geymsla fyrir SDK umboðsmanna.
git clone https://github.com/openai/openai-agents-python.git
cd openai-agents-python/examples/voice/static
Skref 2. Byggja upp fjöltyngda umboðsmanninn
Helstu þættirnir eru:
- Tungumálasértækir umboðsmenn fyrir mismunandi tungumál (spænsku, hindí)
- Aðalumboðsmaður sem sér um fyrstu samskipti
- Virknitæki fyrir frekari möguleika (eins og veðurupplýsingar)
Hér's Einfölduð útgáfa af kóðauppbyggingunni:
a. Skilgreindu umboðsmenn þína
Búðu til mismunandi umboðstilvik fyrir hvert tungumál sem þú vilt styðja. Til dæmis er hægt að búa til spænskan umboðsmann og hindí umboðsmann með leiðbeiningum á viðkomandi tungumálum:
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",
)
Búðu til aðalaðstoðarmann þinn sem greinir tungumálið úr tali notandans og sendir til viðeigandi umboðsmanns ef þörf krefur:
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. Bæta við verkfærum (valfrjálst)
Til dæmis geturðu bætt við einföldu veðurtóli sem umboðsmaðurinn gæti kallað:
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)
Skref 3. Uppsetning raddleiðslunnar

Raddleiðsla SDK sameinar þrjá þætti:
- Tal í texta (STT): Breytir hljóðinntakinu þínu í texta.
- Umboðsmannsvinnuflæði: Vinnur textann (þar á meðal tungumálagreiningu og verkfæri).
- Texti í tal (TTS): Breytir umboðsmanninum's textasvar aftur í hljóð.
Hér's einfölduð dæmi:
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())
Í raunverulegu forriti, í stað þögn, myndirðu taka hljóðnemainntak í beinni og umboðsmaðurinn myndi uppgötva tungumálið í rauntíma.
Skref 4: Keyrðu Voice Agent
python -m examples.voice.static.main
Bestu starfsvenjur fyrir þróun raddboða
Þegar raddmiðlarar eru byggðir með OpenAI Umboðsforritunarverkfærið, íhugaðu þessar bestu starfsvenjur:
Taktu forystuna með fjöltyngdum raddfulltrúa þínum í dag
Að byggja upp raddráðgjafa með OpnaAI Aðgengi að Agent SDK er orðið mun auðveldara. Forritarar geta nú valið á milli fjölþátta eða keðjuarkitektúrs eftir þörfum, sett upp VoicePipeline og látið SDK sjá um... flókin vinnsla.
Fyrir gæði samtalsflæðis virkar fjölþætta nálgunin best. Fyrir uppbyggingu og eftirlit hentar hlekkjaðri aðferðin betur. Þessi tækni heldur áfram að þróast og opnar nýja möguleika fyrir raddstýrð forrit.


