
Οι εφαρμογές που βασίζονται στη φωνή έχουν μετατοπιστεί από έννοιες επιστημονικής φαντασίας σε λύσεις που μπορούν να αναπτυχθούν με το OpenAI.'s τα πιο πρόσφατα εργαλεία. Αυτός ο οδηγός περιγράφει την πρακτική εφαρμογή πολύγλωσσοι φωνητικοί πράκτορες που χρησιμοποιούν το OpenAI SDK παράγοντα, επιδεικνύοντας πώς να δημιουργήσετε συστήματα που επεξεργάζονται την ομιλία σε όλες τις γλώσσες διατηρώντας παράλληλα ρυθμούς αλληλεπίδρασης που μοιάζουν με τον άνθρωπο.
Τι είναι ανοιχτόAI SDK παράγοντα;
ΑνοικτόAI Το SDK του πράκτορα παρέχει στους προγραμματιστές ένα πλαίσιο για να το δημιουργήσουν. AI πράκτορες που μπορούν να επεξεργαστούν και να ανταποκριθούν σε διάφορες εισόδους, συμπεριλαμβανομένης της φωνής. Το SDK υποστηρίζει το μοντέλο GPT-4o-realtime-preview, το οποίο επιτρέπει δυνατότητες συνομιλίας σε πραγματικό χρόνο μέσω της προηγμένης του Επεξεργασία φυσικής γλώσσας (NLP) χαρακτηριστικά.
Το SDK περιλαμβάνει συγκεκριμένα το VoicePipeline, ένα στοιχείο που έχει σχεδιαστεί για να χειρίζεται απρόσκοπτα τις αλληλεπιδράσεις που βασίζονται στη φωνή. Αυτός ο αγωγός διαχειρίζεται την περίπλοκη διαδικασία μετατροπής της ομιλίας σε κείμενο, την επεξεργασία των πληροφοριών και τη δημιουργία αποκρίσεων με φυσικό ήχο.
Core Architecture of Modern Voice Agents

1. The Speech Processing Pipeline
OpenAI's Το VoicePipeline λειτουργεί σε τρία συγχρονισμένα στάδια: καταγραφή ήχου, επεξεργασία γλώσσας και δημιουργία απόκρισης. Το σύστημα ξεκινά μετατρέποντας τα ακατέργαστα ηχητικά σήματα σε κείμενο χρησιμοποιώντας ομιλία σε κείμενο μοντέλα όπως το GPT-4o Transcribe. Αυτή η κειμενική εισαγωγή στη συνέχεια τροφοδοτεί γλωσσικά μοντέλα που αναλύουν το πλαίσιο, την πρόθεση και τον συναισθηματικό τόνο. Τέλος, τα στοιχεία μετατροπής κειμένου σε ομιλία παράγουν φωνητικές αποκρίσεις με φυσικό ήχο, διατηρώντας παράλληλα τη ροή της συνομιλίας.
2. Multimodal vs Chained Architectures
Δύο διαφορετικές προσεγγίσεις κυριαρχούν στην ανάπτυξη φωνητικών πρακτόρων:
Άμεση επεξεργασία ήχου (πολυτροπική)
Το GPT-4o-realtime-preview επεξεργάζεται ήχο χωρίς μετατροπή κειμένου, παρέχοντας αποκρίσεις 200-300ms. Αυτή η αρχιτεκτονική καταγράφει φωνητικές αποχρώσεις, συμπεριλαμβανομένων του τόνου και των παύσεων, ενεργοποιώντας επίγνωση των συναισθημάτων απαντήσεις κατά τις αλληλεπιδράσεις με τους πελάτες διατηρώντας την εγγενή επεξεργασία ήχου σε όλη τη διάρκεια.
Κειμενοκεντρική επεξεργασία (αλυσιδωτή)
Οι παραδοσιακοί αγωγοί χωρίζονται μεταγραφή, στάδια ανάλυσης και σύνθεσης. Αυτή η αρθρωτή προσέγγιση επιτρέπει τη λεπτομερή καταγραφή για εφαρμογές ευαίσθητες στη συμμόρφωση, όπως η διαλογή υγειονομικής περίθαλψης. Οι προγραμματιστές αποκτούν ακριβή έλεγχο σε κάθε στάδιο, ενώ χρησιμοποιούν βελτιστοποιημένα μοντέλα για συγκεκριμένες εργασίες.
Οδηγός πολύγλωσσου φωνητικού πράκτορα: Από τον κώδικα στη συνομιλία
Δημιουργία φωνητικών πρακτόρων με το OpenAI Το SDK παράγοντα απαιτεί συγκεκριμένες διαμορφώσεις περιβάλλοντος. Ακολουθήστε αυτά τα βήματα για να δημιουργήσετε ένα λειτουργικό περιβάλλον ανάπτυξης με δυνατότητες φωνής.
Βήμα 1. Ρύθμιση Python & Virtual Environment
Βεβαιωθείτε ότι η Python 3.8+ είναι εγκατεστημένη. Επαλήθευση με:
python --version
Για νέες εγκαταστάσεις, κατεβάστε την Python από python.org.
ένα. Δημιουργήστε ένα εικονικό περιβάλλον
Απομονώστε τις εξαρτήσεις για να αποφύγετε συγκρούσεις:
p-ython -m venv voice_agent_env
σι. Δραστηριοποίηση:
- Linux/macOS:
source voice_agent_env/bin/activate
- Windows:
voice_agent_env\Scripts\activate
ντο. Εγκαταστήστε τις εξαρτήσεις που αφορούν τη φωνή
Εγκαταστήστε το ΆνοιγμαAI SDK πρακτόρων με επεκτάσεις φωνής και βιβλιοθήκες ήχου:
pip install 'openai-agents[voice]' numpy sounddevice scipy python-dotenv
δ. Ρύθμιση παραμέτρων ανοίγματοςAI Κλειδί API: Αποθηκεύστε το κλειδί API σας με ασφάλεια χρησιμοποιώντας μεταβλητές περιβάλλοντος:
- Δημιουργία
.envαρχείο:
echo "OPENAI_API_KEY=your-api-key-here" > .env
- Κλωνοποιήστε το αποθετήριο παραδείγματος (προαιρετικό):
Για να επιταχύνετε τα πράγματα, μπορείτε να κλωνοποιήσετε το επίσημο παράδειγμα από το ΑνοικτόAI Αποθετήριο GitHub του SDK πρακτόρων.
git clone https://github.com/openai/openai-agents-python.git
cd openai-agents-python/examples/voice/static
Βήμα 2. Δημιουργία του Πολυγλωσσικού Πράκτορα
Τα κύρια συστατικά περιλαμβάνουν:
- Πράκτορες ειδικά για τη γλώσσα για διαφορετικές γλώσσες (ισπανικά, χίντι)
- Ένας κύριος παράγοντας που χειρίζεται τις αρχικές αλληλεπιδράσεις
- Λειτουργικά εργαλεία για πρόσθετες δυνατότητες (όπως πληροφορίες καιρού)
Εδώ's μια απλοποιημένη έκδοση της δομής κώδικα:
α. Ορίστε τους αντιπροσώπους σας
Δημιουργήστε διαφορετικές παρουσίες αντιπροσώπων για κάθε γλώσσα που θέλετε να υποστηρίξετε. Για παράδειγμα, ένας ισπανικός πράκτορας και ένας πράκτορας Χίντι μπορούν να δημιουργηθούν με οδηγίες στις αντίστοιχες γλώσσες τους:
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],
)
β. Προσθήκη εργαλείων (Προαιρετικό)
Για παράδειγμα, μπορείτε να προσθέσετε ένα απλό εργαλείο καιρού που μπορεί να καλέσει ο πράκτορας:
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. Ρύθμιση του Voice Pipeline

Η φωνητική γραμμή του SDK συνδυάζει τρία στοιχεία:
- Ομιλία σε κείμενο (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: Εκτελέστε το Your Voice Agent
python -m examples.voice.static.main
Βέλτιστες πρακτικές για την ανάπτυξη φωνητικού πράκτορα
Κατά τη δημιουργία φωνητικών πρακτόρων με το OpenAI SDK παράγοντα, λάβετε υπόψη αυτές τις βέλτιστες πρακτικές:
Πάρτε το προβάδισμα με τον πολύγλωσσο φωνητικό σας πράκτορα σήμερα
Δημιουργία φωνητικών πρακτόρων με το OpenAI Το SDK πρακτόρων έχει γίνει σημαντικά πιο προσβάσιμο. Οι προγραμματιστές μπορούν πλέον να επιλέξουν μεταξύ πολυτροπικών ή αλυσιδωτών αρχιτεκτονικών με βάση τις συγκεκριμένες ανάγκες τους, να ρυθμίσουν ένα VoicePipeline και να αφήσουν το SDK να χειριστεί τις σύνθετη επεξεργασία.
Για την ποιότητα ροής συνομιλίας, η πολυτροπική προσέγγιση λειτουργεί καλύτερα. Για τη δομή και τον έλεγχο, η αλυσιδωτή μέθοδος είναι πιο κατάλληλη. Αυτή η τεχνολογία συνεχίζει να προοδεύει, ανοίγοντας νέες δυνατότητες για εφαρμογές που βασίζονται στη φωνή.

