دليل تكامل Twilio

يتيح لك دمج وكيل الذكاء الاصطناعي المحادثي مع Twilio إنشاء تفاعلات صوتية سلسة تشبه البشر. سيرشدك هذا الدليل عبر عملية إعداد بيئتك وتكوين وكيلك وتنفيذ التكامل باستخدام JavaScript.
المتطلبات الأساسية
قبل البدء، تأكد من توفر ما يلي:
- حساب ElevenLabs
- وكيل محادثي مُكوَّن في ElevenLabs
- حساب Twilio برقم هاتف نشط
- تثبيت Node.js 16+
- ngrok للتطوير المحلي
تكوين الوكيل
لدمج Twilio، يجب تكوين وكيلك لاستخدام تنسيق الصوت الصحيح المدعوم من Twilio.
-
تكوين مخرجات TTS
- انتقل إلى إعدادات الوكيل.
- اذهب إلى قسم الصوت.
- حدد "μ-law 8000 Hz" من القائمة المنسدلة.
-
تعيين تنسيق الإدخال
- انتقل إلى إعدادات الوكيل.
- اذهب إلى القسم المتقدم.
- حدد "μ-law 8000 Hz" لتنسيق الإدخال.
التنفيذ
تهيئة المشروع
أولاً، أعد مشروع Node.js جديداً:
mkdir conversational-ai-twilio
cd conversational-ai-twilio
npm init -y
npm pkg set type="module"تثبيت التبعيات
بعد ذلك، ثبت التبعيات المطلوبة للمشروع:
npm install fastify @fastify/websocket twilio dotenvإعداد متغيرات البيئة
أنشئ ملف .env:
ELEVENLABS_AGENT_ID=your_agent_id
TWILIO_ACCOUNT_SID=your_account_sid
TWILIO_AUTH_TOKEN=your_auth_token
TWILIO_PHONE_NUMBER=your_phone_numberإنشاء الخادم
// server.js
import Fastify from 'fastify';
import fastifyWebsocket from '@fastify/websocket';
import twilio from 'twilio';
import dotenv from 'dotenv';
dotenv.config();
const fastify = Fastify({ logger: true });
await fastify.register(fastifyWebsocket);
// معالج TwiML للمكالمات الواردة
fastify.all('/incoming-call', async (request, reply) => {
const twimlResponse = `<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Connect>
<Stream url="wss://${request.headers.host}/media-stream" />
</Connect>
</Response>`;
reply.type('text/xml').send(twimlResponse);
});
// معالج WebSocket لتدفق الوسائط
fastify.register(async (fastify) => {
fastify.get('/media-stream', { websocket: true }, (connection, req) => {
console.log('عميل متصل');
connection.socket.on('message', (message) => {
const data = JSON.parse(message);
if (data.event === 'media') {
// معالجة بيانات الصوت الواردة
const audioData = data.media.payload;
// إرسال إلى ElevenLabs للمعالجة
}
});
connection.socket.on('close', () => {
console.log('عميل غير متصل');
});
});
});
// بدء الخادم
const start = async () => {
try {
await fastify.listen({ port: 3000 });
console.log('الخادم يعمل على http://localhost:3000');
} catch (err) {
fastify.log.error(err);
process.exit(1);
}
};
start();تشغيل التطوير المحلي
- شغل الخادم:
node server.js- في طرفية جديدة، شغل ngrok:
ngrok http 3000- قم بتكوين رقم Twilio ليشير إلى عنوان URL الخاص بـ ngrok.
اختبار التكامل
اتصل برقم Twilio الخاص بك واختبر المحادثة مع وكيل الذكاء الاصطناعي.
الخاتمة
لقد قمت بنجاح بدمج وكيل ذكاء اصطناعي محادثي مع Twilio. يمكنك الآن إجراء محادثات صوتية طبيعية عبر الهاتف مع وكيل الذكاء الاصطناعي الخاص بك.
المرجع: توثيق Twilio | توثيق ElevenLabs
ناقش مشروعك معنا
نحن هنا للمساعدة في احتياجات تطوير الويب الخاصة بك. حدد موعدًا لمناقشة مشروعك وكيف يمكننا مساعدتك.
دعنا نجد أفضل الحلول لاحتياجاتك.
مقالات ذات صلة

بناء تطبيق ذكاء اصطناعي محادثي مع Next.js
تعلم كيفية بناء تطبيق ويب يتيح محادثات صوتية في الوقت الفعلي مع وكلاء الذكاء الاصطناعي باستخدام Next.js وElevenLabs.

كيفية توليد المؤثرات الصوتية باستخدام واجهة برمجة تطبيقات ElevenLabs في JavaScript
تعلم كيفية استخدام واجهة برمجة تطبيقات ElevenLabs لتوليد المؤثرات الصوتية من الأوصاف النصية في JavaScript.

AI SDK 4.0: الميزات الجديدة وحالات الاستخدام
اكتشف الميزات الجديدة وحالات الاستخدام لـ AI SDK 4.0، بما في ذلك دعم PDF واستخدام الكمبيوتر والمزيد.