Skip to content · تخطَّ إلى المحتوى

ذكاء صوتي مبني على المخطط · الإنجليزية واللهجات العربية · إطلاق مبكر

حدّد بياناتك. دع الناس يتكلّمون. واستلم JSON منظّمًا.

تحوّل نبرة الكلام الطبيعي إلى بيانات منظّمة ومُتحقَّق منها يستطيع برنامجك استخدامها. أنت تصف الحقول التي تحتاجها، والناس يتكلّمون كعادتهم، وكل قيمة تعود مفحوصة مقابل ما قيل فعلًا.

مطوّر؟ اقرأ توثيق الواجهة البرمجية
أي مخطط
طلبات، حجوزات، نماذج — نماذجك أنت
أي لهجة
شامية، خليجية، إنجليزية، مختلطة
لا تخترع
كل قيمة تُفحص في الكود
تعمل محليًا
دون استدعاء ذكاء اصطناعي سحابي

مخططك · appointment_booking

customerName · personphone · phonedoctor · persondate · datetime · timenotes · text
يتكلّم أحدهم · اكتُشف: عربية، شامية0:05

بدي أحجز عند الدكتور أحمد بكرا الساعة خمسة، اسمي سارة ورقمي 0781234567.

JSON مُتحقَّق منه

الوقت: أكّد صباحًا/مساءً
{
"customerName": "سارة",
"phone": "0781234567",
"doctor": "أحمد",
"date": "2026-09-25",
"time": "17:00"
}

في 45 ثانية

مما يقوله مستخدموك إلى البيانات التي يحتاجها تطبيقك.

كلام طبيعي يدخل، و JSON موثّق يخرج — وإذا نقصت معلومة، تسأل نبرة عنها.

مبني على المخطط

المخطط يتغيّر، والمحرّك واحد.

أنت تصف ما تحتاجه. والمسار نفسه — التعرّف على الكلام، والفهم، والتوحيد، والتحقق — يعبّئ أي مخطط، ولا يخترع ما لم يُقل.

مطعم

restaurant_order

١ · المخطط (مختصر)

"items": {
  "type": "array",
  "items": {
    "type": "object",
    "fields": {
      "name": { "type": "string" },
      "quantity": {
        "type": "integer",
        "default": 1 }
    }
  }
},
"address": { "type": "address" }

٢ · يقول أحدهم

«بدي ٢ شاورما ووجبة زنجر والتوصيل لخلدا»

٣ · يستلم تطبيقك

{
  "items": [
    { "name": "شاورما",
      "quantity": 2 },
    { "name": "وجبة زنجر",
      "quantity": 1 }
  ],
  "address": "خلدا"
}

لم تُذكر كمية لوجبة الزنجر، فأُخذت من القيمة الافتراضية في المخطط (1). لا تُخترع كمية لم يقلها أحد.

موعد

appointment_booking

١ · المخطط (مختصر)

"doctor": { "type": "person" },
"date": {
  "type": "date",
  "required": true },
"time": {
  "type": "time",
  "required": true }

٢ · يقول أحدهم

«بدي أحجز عند الدكتور أحمد بكرا الساعة خمسة»

٣ · يستلم تطبيقك

{
  "doctor": "أحمد",
  "date": "2026-09-25",
  "time": "17:00"
}

«بكرا» تُحسب في الكود من وقت الطلب المرجعي (referenceTime). و«خمسة» دون تحديد صباحًا أو مساءً تُعلَّم لطلب التأكيد.

إجازة موظف

hr_leave_request

١ · المخطط (مختصر)

"leaveType": {
  "type": "enum",
  "values": ["annual", "sick",
    "unpaid", "emergency"] },
"startDate": { "type": "date" },
"endDate": {
  "type": "date",
  "validation": {
    "notBefore": "startDate" } },
"reason": { "type": "text" }

٢ · يقول أحدهم

«بدي إجازة من الأحد للخميس بسبب سفر»

٣ · يستلم تطبيقك

{
  // uncertain · mapped_by_model
  "leaveType": "annual",
  "startDate": "2026-09-27",
  "endDate": "2026-10-01",
  "reason": "سفر"
}

لم يُذكر نوع الإجازة. خمّن النموذج «سنوية» من كلمة «سفر»، فعلّمها التحقق بأنها غير مؤكدة وطلب التأكيد بدل تقديمها كحقيقة. وتاريخ النهاية يلي تاريخ البداية بقاعدة.

عرض مباشر

تكلّم، وشاهد كلامك يصبح بيانات.

هذا هو المسار الحقيقي وليس تسجيلًا. اختر مخططًا وتكلّم، فيُحوَّل صوتك إلى نص ويُطابَق مع المخطط ويُتحقَّق منه ويعود بصيغة JSON.

  • اختر ما تريد جمعه — توصيلة، طلب مطعم، موعد، طلب إجازة — وقُله بالعربية أو بالإنجليزية أو بمزيج منهما.
  • كل قيمة تُفحص مقابل ما قلته فعلًا. لا شيء يُخترع.
  • تظهر كل مرحلة لحظة حدوثها، والطلب القصير يستغرق بضع ثوانٍ.

عند التشغيل محليًا: شغّل واجهة الصوت البرمجية (راجع البدء السريع). يعرض العرض حالة الاتصال في الزاوية العليا.

جرّبها بنفسك

اختار شو بدك تجمع، واحكي بشكل طبيعي — بأي لهجة عربية، بالإنجليزي، أو الاثنين.

جاري فحص خدمة الصوت…

schema = "delivery_order"

ابدأ التسجيل
  1. الرفع
  2. صوت ← نص
  3. الفهم
  4. التحقق

اضغط على المايكروفون واحكِ. ما بنحتفظ بالتسجيل — بينحذف بعد المعالجة.

ما في مايكروفون؟ جرّب مثال (يُرسل كنص)

تتكلّم كما يتكلّم عملاؤك

الإنجليزية، والعربية الشامية والخليجية، والكلام المختلط — تُكتشف تلقائيًا دون أي إعداد للغة.

شاهد كل اللهجات

أكثر من تحويل الكلام إلى نص

النص المكتوب مجرد نص، وبرنامجك يحتاج بيانات.

تحويل الكلام إلى نص يتوقف عند الكلمات. أما نبرة فتكمل: تطابقها مع المخطط الذي عرّفته، وتوحّد صيغها، وتفحص كل قيمة في الكود قبل أن تصلك.

تحويل الكلام إلى نص يعطيك

«مرحبا، بدي أبعث طلب من مطعم حمادة بالجبيهة للشميساني، المستلم أحمد ورقمه صفر سبعة تسعة واحد اثنين ثلاثة أربعة خمسة ستة سبعة»

سلسلة نصية. ما زال عليك أن تستخرج الأماكن والاسم والرقم — وأن تنتبه إلى أن الرقم قيل بالكلمات.

نبرة تعطيك

{
"pickup": "مطعم حمادة - الجبيهة",
"dropoff": "الشميساني",
"receiverName": "أحمد",
"receiverPhone": "0791234567"
}

حقولًا وفق مخططك، لكل منها حالة ودرجة ثقة. رقم الهاتف قيل رقمًا رقمًا ووُحّد بقواعد ثابتة — لا بالتخمين.

كيف تعمل

من مخطط وجملة إلى سجل كامل

طلب واحد إلى الواجهة البرمجية. والمسار خلفه قابل للاستبدال قطعةً قطعة — والعقد يبقى كما هو.

  1. ٠١

    عرّف

    صِف البيانات التي تحتاجها: الحقول وأنواعها وما هو إلزامي. عبر المحرّر المرئي أو بصيغة JSON.

    "doctor": { "type": "person" },
    "date":   { "type": "date" }
  2. ٠٢

    تكلّم

    يتكلّم الناس كعادتهم — بأي لهجة، مع كلمات الحشو، والأرقام بالكلمات.

    «بدي أحجز عند الدكتور أحمد بكرا…»

  3. ٠٣

    افهم وتحقّق

    يطابق النموذج ما قيل مع حقولك، ويوحّد الكود كل قيمة ويفحصها.

    {
      "doctor": "أحمد",
      "date": "2026-09-25"
    }
  4. ٠٤

    اربط

    يستلم تطبيقك JSON — مع ما ينقص وما يحتاج تأكيدًا — ويقرّر ما يفعل.

    واجهة الحجز لديكنظامك الخلفي

التحقق

مصمَّمة كي لا تخترع قيمة أبدًا

النماذج اللغوية بارعة في فهم اللهجات — وضعيفة في الاعتراف بأنها لم تسمع شيئًا. لذلك تمرّ كل قيمة تقترحها بفحص ثابت مقابل النص المنطوق قبل أن تصلك.

  • رقم هاتف لم يُذكر

    يقترح النموذج 0799999999

    مرفوض — لا يملأ حقل الهاتف إلا رقم قيل فعلًا

  • رقم ضاع أثناء التفريغ

    سُمع 078824021 (٩ أرقام)

    يعود «ناقصًا» مع ما سُمع، فيصحّح المستخدم رقمًا واحدًا

  • اسم لم يُذكر

    يضيف النموذج «محمود»

    مرفوض — يجب أن تظهر كل كلمة من الاسم في النص

  • تعليمات مخترعة

    «قبل الساعة 7» والمقول 5

    مرفوض — لا أرقام ولا تعليمات جديدة

  • المبالغ

    «مبلغ التحصيل ستاشر دينار»

    يُحفظ 16 دينارًا، ويُعلَّم دائمًا ليؤكّده شخص

  • تردّد أو رقمان

    «يمكن خمسة» · «خمسة أو ستة»

    يُعلَّم «غير مؤكد»، أو يعود بالخيارين مع سؤال — لا يُختار أحدهما بصمت

  • تاريخ نسبي

    «بكرا» دون إرسال التاريخ الحالي

    يعود «غير صالح» مع ما سُمع — التاريخ لا يُخمَّن

  • صنف لم يُطلب

    يضيف النموذج «بيبسي» للقائمة

    مرفوض — يُحذف ويُذكر في قائمة المشكلات

الربط

منطق عملك يبقى لك، ونحن نحوّل الصوت إلى بيانات.

لا تنشئ واجهة الصوت طلبات ولا تحصّل أموالًا ولا تستدعي أنظمتك. إنها تعيد بيانات منظّمة، وتطبيقك يقرّر ما يفعل بها.

تطبيقك

يسجّل صوت المستخدم (ويب، جوال، رد آلي)

واجهة نبرة الصوتية

تحوّل إلى نص، وتفهم، وتتحقّق

JSON منظّم

حقول + حالة + درجة ثقة

نظامك الخلفي

ينشئ الطلب أو التذكرة أو الحجز — منطق عملك

للمطوّرين

مخططك يدخل، و JSON مُتحقَّق منه يخرج.

سمِّ المخطط وأرسل الصوت (أو النص) من أي عميل. ستستلم كل حقل مع حالته ودرجة الثقة وعلامة «يحتاج تأكيدًا»، إضافة إلى الحقول الناقصة — فتعرف واجهتك بالضبط ماذا تسأل بعد ذلك.

الطلب
curl -X POST https://api.example.com/api/v1/voice/parse \
  -H "Authorization: Bearer $API_KEY" \
  -F "audio=@voice.webm" \
  -F "schema=restaurant_order"
الاستجابة (مختصرة)
{
  "requestId": "req_3f9c2a1b7d10",
  "schema": "restaurant_order",
  "schemaVersion": "1.0",
  "locale": "ar-JO",
  "sessionId": null,
  "transcription": {
    "text": "بدي ٢ شاورما ووجبة زنجر والتوصيل لخلدا، اسمي محمد ورقمي 0791234567",
    "language": "ar", "confidence": 0.9, "audioSeconds": 7.4
  },
  "fields": {
    "customerName": { "value": "محمد", "type": "person", "status": "extracted", "confidence": 0.86, "requiresConfirmation": false },
    "phone":        { "value": "0791234567", "type": "phone", "status": "extracted", "confidence": 0.93, "requiresConfirmation": false },
    "items": {
      "value": [ { "name": "شاورما", "quantity": 2 }, { "name": "وجبة زنجر", "quantity": 1 } ],
      "type": "array", "status": "extracted", "confidence": 0.86, "requiresConfirmation": false, "issues": []
    },
    "address":      { "value": "خلدا", "type": "address", "status": "extracted", "confidence": 0.86, "requiresConfirmation": false },
    "notes":        { "value": null, "type": "text", "status": "missing", "confidence": 0, "requiresConfirmation": false }
  },
  "data": {
    "customerName": "محمد", "phone": "0791234567",
    "items": [ { "name": "شاورما", "quantity": 2 }, { "name": "وجبة زنجر", "quantity": 1 } ],
    "address": "خلدا", "notes": null
  },
  "missingFields": [],
  "fieldsRequiringConfirmation": [],
  "complete": true,
  "language": {
    "requested": "auto", "detected": "ar", "locale": "ar-JO", "dialect": "jordanian", "dialectGroup": "levantine",
    "direction": "rtl", "mixedLanguage": false, "secondaryLanguages": [], "source": "detected",
    "evidence": ["بدي", "خلدا"]
  },
  "clarification": null,
  "warnings": [],
  "timings": { "uploadMs": 0.4, "transcriptionMs": 3120, "extractionMs": 3410, "validationMs": 1.1, "totalMs": 6533 },
  "models": { "speechToText": "faster-whisper:large-v3-turbo", "extraction": "ollama:qwen2.5:7b" }
}

الخصوصية

مبنية لدعم معالجة الصوت بخصوصية

الصوت بيانات شخصية. والبنية تُبقي عمره قصيرًا: يُعالَج الصوت ويتحوّل إلى بيانات منظّمة ثم يُحذف. لا تُحفظ التسجيلات إلا إذا فعّلت وضع التصحيح صراحةً.

متاح اليوم

معالجة محلية

التعرّف على الكلام والاستخراج يعملان على جهازك — وهكذا يعمل النموذج الأولي اليوم.

مخطّط له

استضافة ذاتية

الخدمة نفسها في مركز بياناتك أو سحابتك الخاصة، بنماذجك أنت.

مخطّط له

سحابة مُدارة

واجهة مستضافة للفرق التي لا تريد تشغيل البنية التحتية.

لا ندّعي أي شهادات امتثال في هذه المرحلة. اقرأ كيف تُعامل البيانات

خريطة طريق صريحة

ما يعمل اليوم — وما القادم

متاح الآن

  • مخططات مخصّصة: ١٨ نوع حقل، ومحرّر مرئي وصيغة JSON، مع إصدارات
  • تحقّق ثابت لكل نوع — الهواتف والأسماء والمبالغ والتواريخ والقوائم
  • الجلسات: بناء سجل واحد عبر عدة مدخلات صوتية أو نصية
  • مخططات جاهزة: توصيل، مطعم، موعد، خدمة ميدانية، إجازة موظف
  • الإنجليزية، والعربية الشامية والخليجية، والكلام المختلط — تُكتشف تلقائيًا، ويُسأل المستخدم بلغته
  • نموذج أولي لواجهة الصوت مع توثيق OpenAPI، وتقدّم مباشر، وساحة التجربة هذه

لاحقًا

  • نشر سحابي للإنتاج والتزامات بوقت التشغيل
  • الحسابات والفرق والفوترة
  • خادم لإدارة مفاتيح الواجهة البرمجية
  • تحليلات الاستخدام من حركة حقيقية
  • Webhooks (request.completed و session.updated…)
  • حِزم تطوير لـ JavaScript و Python و React Native و Flutter

حدّد بياناتك، ودع الناس يتكلّمون.

جرّب العرض المباشر، أو ابنِ مخططًا واختبره بصوتك خلال دقائق.