
تحولت التطبيقات التي تعتمد على الصوت من مفاهيم الخيال العلمي إلى حلول قابلة للنشر باستخدام OpenAI's أحدث الأدوات. يشرح هذا الدليل التطبيق العملي لـ وكلاء الصوت متعددي اللغات باستخدام OpenAI مجموعة أدوات تطوير البرامج للوكيل، موضحًا كيفية إنشاء أنظمة تعالج الكلام عبر اللغات مع الحفاظ على إيقاعات التفاعل البشري.
ما هو مفتوحAI وكيل SDK؟
ساعات العملAI يوفر Agent SDK للمطورين إطار عمل لبناء AI وكلاء يمكنهم معالجة مختلف المدخلات والاستجابة لها، بما في ذلك الصوت. تدعم مجموعة تطوير البرامج (SDK) نموذج GPT-4o للمعاينة في الوقت الفعلي، مما يُمكّن إمكانيات المحادثة في الوقت الفعلي من خلال المتقدمة معالجة اللغات الطبيعية ميزات (NLP).
تتضمن مجموعة تطوير البرامج (SDK) على وجه التحديد VoicePipeline، وهو مكون مصمم للتعامل بسلاسة مع التفاعلات الصوتية. يدير هذا المسار العملية المعقدة لتحويل الكلام إلى نص، ومعالجة المعلومات، وتوليد استجابات طبيعية.
الهندسة الأساسية لوكلاء الصوت الحديثين

1. خط أنابيب معالجة الكلام
OpenAI's يعمل VoicePipeline عبر ثلاث مراحل متزامنة: التقاط الصوت، ومعالجة اللغة، وتوليد الاستجابة. يبدأ النظام بتحويل الإشارات الصوتية الخام إلى نص باستخدام الكلام إلى نص نماذج مثل GPT-4o Transcribe. يُغذّى هذا الإدخال النصي بعد ذلك في نماذج لغوية تُحلّل السياق والقصد والنبرة العاطفية. وأخيرًا، تُولّد عناصر تحويل النص إلى كلام استجابات صوتية طبيعية مع الحفاظ على انسيابية المحادثة.
2. الهندسة المعمارية متعددة الوسائط مقابل الهندسة المعمارية المتسلسلة
هناك نهجان متميزان يهيمنان على تطوير وكيل الصوت:
معالجة الصوت المباشرة (متعددة الوسائط)
تُعالج تقنية GPT-4o-realtime-preview الصوت دون تحويل النص، مُقدمةً استجاباتٍ تتراوح بين 200 و300 مللي ثانية. تُلتقط هذه البنية الفروق الصوتية الدقيقة، بما في ذلك النغمة والتوقفات، مما يُمكّن واعي للعاطفة الرد أثناء تفاعلات العملاء من خلال الحفاظ على معالجة الصوت الأصلية طوال الوقت.
المعالجة النصية (المتسلسلة)
خطوط الأنابيب التقليدية منفصلة نسخمراحل التحليل والتركيب. يتيح هذا النهج المعياري تسجيلًا تفصيليًا للتطبيقات الحساسة للامتثال، مثل فرز بيانات الرعاية الصحية. يكتسب المطورون تحكمًا دقيقًا في كل مرحلة باستخدام نماذج مُحسّنة خاصة بالمهام.
دليل وكيل الصوت متعدد اللغات: من البرمجة إلى المحادثة
إنشاء وكلاء صوتيين باستخدام OpenAI تتطلب حزمة تطوير البرامج للوكيل تكوينات بيئة محددة. اتبع هذه الخطوات لإنشاء بيئة تطوير وظيفية مزودة بإمكانيات صوتية.
الخطوة 1. إعداد بايثون والبيئة الافتراضية
تأكد من تثبيت بايثون 3.8+. تحقق باستخدام:
python --version
بالنسبة للتثبيتات الجديدة، قم بتنزيل Python من python.org.
أ. إنشاء بيئة افتراضية
عزل التبعيات لتجنب الصراعات:
p-ython -m venv voice_agent_env
ب. التنشيط:
- لينكس/ماك أو إس:
source voice_agent_env/bin/activate
- ويندوز:
voice_agent_env\Scripts\activate
ج. تثبيت التبعيات الصوتية الخاصة
تثبيت OpenAI مجموعة أدوات تطوير البرامج للوكلاء مع ملحقات الصوت ومكتبات الصوت:
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. إعداد خط أنابيب الصوت

يجمع خط أنابيب الصوت الخاص بمجموعة أدوات تطوير البرامج (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: تشغيل وكيل الصوت الخاص بك
python -m examples.voice.static.main
أفضل الممارسات لتطوير وكيل الصوت
عند بناء وكلاء الصوت باستخدام OpenAI مجموعة أدوات تطوير البرامج للوكيل، ضع في اعتبارك أفضل الممارسات التالية:
تولى زمام المبادرة مع وكيل الصوت متعدد اللغات اليوم
بناء وكلاء الصوت باستخدام OpenAI أصبحت مجموعة أدوات تطوير البرامج للوكيل أكثر سهولة في الاستخدام. يمكن للمطورين الآن الاختيار بين بنيات متعددة الوسائط أو متسلسلة بناءً على احتياجاتهم الخاصة، وإعداد خط أنابيب صوتي، والسماح لمجموعة أدوات تطوير البرامج بإدارة معالجة معقدة.
لجودة تدفق المحادثة، يُعدّ النهج متعدد الوسائط هو الأنسب. أما بالنسبة للهيكل والتحكم، فتُعدّ الطريقة المتسلسلة أكثر ملاءمة. تستمر هذه التقنية في التطور، مما يفتح آفاقًا جديدة للتطبيقات الصوتية.

