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

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

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

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

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

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

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

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

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

OpenAI's VoicePipeline працює через три синхронізовані етапи: захоплення аудіо, обробка мови та генерація відповідей. Система починає з перетворення необроблених аудіосигналів на текст за допомогою мовлення в текст такі моделі, як 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,200 XNUMX+ учасників, щоб щотижня отримувати поради від інсайдерів! 
🎁 БОНУС: Отримайте наші 200 доларівAI «Набір інструментів майстерності» БЕЗКОШТОВНО при реєстрації!

Тенденції AI Інструменти
Штучний інтелект у дротику

Команда AI Вбудований інструмент управління проектами, який думає, планує та виконує за вашу команду Інтелектуальна автоматизація завдань для сучасних команд розробників продуктів та операцій.

B2B Ракета

Автоматизуйте весь свій B2B-канал продажів за допомогою AI Агенти AI потужний охоплення продажів та генерування лідів на автопілоті

Шрифт

Маркетинговий механізм для підприємств, який перетворює правила бренду на дохід AI Потужна оркестрація контенту, створена для команд зі списку Fortune 500

Звіт

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

SaneBox

Збереження місця та часу для зберігання Легко упорядкуйте свою поштову скриньку. Видаляйте старі електронні листи за лічені хвилини.

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