Створення багатомовного голосового агента за допомогою OpenAI SDK агента

Створення багатомовних голосових агентів за допомогою OpenAI SDK агента

Голосові додатки перейшли від науково-фантастичних концепцій до розгортаних рішень з OpenAI's найновіші інструменти. У цьому посібнику описано практичне впровадження багатомовні голосові агенти, що використовують OpenAI SDK агента, демонструючи, як створювати системи, які обробляють мовлення різними мовами, зберігаючи людські ритми взаємодії.

Що відкритоAI SDK агента?

відкритийAI SDK агента надає розробникам платформу для створення AI агенти, які можуть обробляти та реагувати на різні вхідні дані, включаючи голос. SDK підтримує модель GPT-4o-realtime-preview, яка дозволяє можливість спілкування в реальному часі через його передові Обробка природних мов (НЛП).

SDK зокрема містить VoicePipeline, компонент, призначений для безпроблемної обробки голосової взаємодії. Цей конвеєр керує складним процесом перетворення мовлення на текст, обробки інформації та генерування відповідей, що звучать природно.

Основна архітектура сучасних голосових агентів

Архітектура сучасних голосових агентів

1. Конвеєр обробки мовлення

VoicePipeline від OpenAI працює через три синхронізовані етапи: захоплення аудіо, обробка мови та генерація відповідей. Система починає з перетворення необроблених аудіосигналів на текст за допомогою моделей перетворення мовлення в текст, таких як GPT-4o Transcribe. Потім цей текстовий ввід надходить до мовних моделей, які аналізують контекст, намір та емоційний тон. Нарешті, компоненти перетворення тексту в мовлення генерують природні голосові відповіді, зберігаючи при цьому плавність розмови.

2. Мультимодальні та ланцюгові архітектури

У розробці голосових агентів домінують два різні підходи:

Пряма обробка аудіо (мультимодальний)

GPT-4o-realtime-preview обробляє аудіо без перетворення тексту, забезпечуючи час відгуку 200-300 мс. Ця архітектура фіксує вокальні нюанси, включаючи висоту тону та паузи, що дозволяє отримувати відповіді з урахуванням емоцій під час взаємодії з клієнтами, зберігаючи власну обробку аудіо протягом усього процесу.

Текстоцентрична обробка (приєднана)

Традиційні конвеєри розділяють етапи транскрипції , аналізу та синтезу. Цей модульний підхід дозволяє вести детальний журнал для застосувань, чутливих до відповідності, таких як медичне сортування. Розробники отримують точний контроль над кожним етапом, використовуючи оптимізовані для конкретних завдань моделі.

Багатомовний посібник із голосового агента: від коду до розмови

Створення голосових агентів за допомогою OpenAI SDK агента вимагає певних конфігурацій середовища. Виконайте ці кроки, щоб створити функціональне середовище розробки з голосовими можливостями.

Крок 1. Налаштування Python і віртуального середовища

Переконайтеся, що встановлено Python 3.8+. Підтвердити за допомогою:

python --version  

Для нових інсталяцій завантажте Python з python.org.

a. Створіть віртуальне середовище

Ізолюйте залежності, щоб уникнути конфліктів:

p-ython -m venv voice_agent_env  

b. активація:

  • Linux/macOS:
source voice_agent_env/bin/activate  
  • Windows:
voice_agent_env\Scripts\activate  

в. Установіть специфічні для голосу залежності

Встановіть OpenAI SDK агентів з голосовими розширеннями та аудіобібліотеками:

pip install 'openai-agents[voice]' numpy sounddevice scipy python-dotenv  

г. Налаштувати ВідкритиAI ключ API: надійно зберігайте ключ API за допомогою змінних середовища:

  1. Створити .env Файл:
echo "OPENAI_API_KEY=your-api-key-here" > .env  
  1. Клонуйте репозиторій прикладів (необов’язково):

Щоб пришвидшити роботу, ви можете клонувати офіційний приклад із відкритий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],
)

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. Налаштування голосового каналу

відкритийAI Голосовий конвеєр SDK агента
Джерело зображення: OpenAI

Голосовий конвеєр SDK поєднує три компоненти:

  1. Перетворення мови в текст (STT): Перетворює введене аудіо на текст.
  2. Робочий процес агента: Обробляє текст (включаючи визначення мови та виклик інструментів).
  3. Синтез мовлення (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 SDK агента, розгляньте ці рекомендації:

Надайте чіткі інструкції: Вашому агенту потрібні спеціальні вказівки щодо тону, використання мови та моделей відповіді.
Тест з різними акцентами: навіть в межах однієї мови варіації акценту можуть бути складними розпізнавання мови.
Впровадити усвідомлення емоцій: Налаштуйте агента, щоб розпізнавати емоції користувача та відповідним чином реагувати на них.
Додайте мультимодальне розуміння: поєднуйте голос з іншими введеннями, наприклад зображеннями чи текстом, для кращої взаємодії.
Створіть резервні механізми: Розробіть для вашого агента витончені способи вирішення ситуацій, які він не розуміє.

Візьміть на себе лідерство зі своїм багатомовним голосовим агентом сьогодні

Створення голосових агентів за допомогою OpenAI SDK агента став значно доступнішим. Розробники тепер можуть вибирати між мультимодальною або ланцюговою архітектурою залежно від своїх конкретних потреб, налаштовувати VoicePipeline та дозволяти SDK обробляти комплексна обробка.

Для якості розмовного потоку найкраще працює мультимодальний підхід. Для структури і контролю більше підходить ланцюговий метод. Ця технологія продовжує розвиватися, відкриваючи нові можливості для голосових програм.

залишити коментар

Ваша адреса електронної пошти не буде опублікована. Обов'язкові поля позначені *

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються дані ваших коментарів.

Реєстрація Aimojo Плем'я!

Приєднуйтеся до 76,000 XNUMX+ учасників, щоб щотижня отримувати поради від інсайдерів! 
🎁 БОНУС: Отримайте наші 200 доларівAI «Набір інструментів майстерності» БЕЗКОШТОВНО при реєстрації!

Тенденції AI Інструменти
Грок Бот

Ви завжди увімкнені AI Робоча сила, яка завершує роботу Платформа автономних агентів для продуктивності бізнесу та автоматизації завдань

Гіпер3D

Перетворіть будь-яке зображення чи текстову підказку на 3D-ресурс виробничого рівня за лічені секунди Команда AI Генератор 3D-моделей, створений для розробників ігор, команд розробників продуктів та кінематографістів

Mapify

Перетворіть будь-який контент на структуровані ментальні карти за лічені секунди за допомогою штучного інтелекту Найрозумніший AI інструмент для створення ментальних карт та узагальнень для професіоналів та учнів.

Зазу

Команда AI Сімейний помічник, який керує вашим господарством, поки ви керуєте своїм життям Розумна сімейна організація для працюючих батьків прямо в WhatsApp та iMessage.

ШІ EroLove

невідфільтрованого AI закохані, які справді пам'ятають тебе, ніч за ніччю. 18+ NSFW AI супутній чат із редагуванням спогадів та груповими кімнатами

© Авторське право 2023 - 2026 | Стати AI Професіонал | Зроблено з ♥