Rumah > Peranti teknologi > industri IT > Cara Membina Pembantu AI Anda Sendiri Menggunakan Api.ai

Cara Membina Pembantu AI Anda Sendiri Menggunakan Api.ai

Jennifer Aniston
Lepaskan: 2025-02-17 09:16:08
asal
177 orang telah melayarinya

How to Build Your Own AI Assistant Using Api.ai

Ingin mempunyai pemahaman yang mendalam tentang kecerdasan buatan? Tonton tutorial video kami "Perkhidmatan Kognitif Microsoft dan Analisis Teks API: Melaksanakan Analisis Sentimen AI dalam Robot Anda".

Dunia Pembantu Pintar berubah dengan setiap hari berlalu - Siri, Cortana, Alexa, OK Google, Facebook M, Bixby - Semua gergasi teknologi mempunyai pembantu pintar mereka sendiri. Walau bagaimanapun, ramai pemaju tidak menyedari bahawa membina pembantu AI mereka sendiri sebenarnya sangat mudah! Anda boleh menyesuaikan keperluan anda, peranti IoT, dan API tersuai, dan kemungkinannya tidak berkesudahan. How to Build Your Own AI Assistant Using Api.ai

Nota: Artikel ini telah dikemas kini pada tahun 2017 untuk mencerminkan perubahan terkini dalam API.AI.

Sebelum ini, saya menulis panduan mengenai lima cara mudah untuk membina kecerdasan buatan pada tahun 2016, yang meliputi beberapa pilihan mudah untuk membina pembantu AI. Dalam artikel ini, saya ingin memberi tumpuan kepada perkhidmatan tertentu -api.ai, yang menjadikan bangunan pembantu AI berfungsi sepenuhnya sangat mudah dan mempunyai sedikit tetapan awal.

mata utama

    Api.ai (kini sebahagian daripada Google Cloud) membolehkan pemaju membina pembantu AI menggunakan pemprosesan bahasa semulajadi dan keupayaan suara-ke-teks.
  • Bermula dengan API.AI adalah mudah - hanya mendaftar dengan akaun Google anda, bersetuju dengan terma dan buat proksi pertama anda.
  • Sesuaikan pembantu AI anda dengan membolehkan ciri sembang di API.ai untuk menjadikan bot anda bunyi lebih mesra pengguna dan menarik.
  • Sambungkan antara muka web anda ke API.AI menggunakan JavaScript dan HTML5 untuk membolehkan input teks dan arahan suara.
  • API.AI menyediakan respons JSON terperinci dan alat penyahpepijatan untuk membantu memperbaiki dan menyelesaikan masalah pembantu AI.
  • 3
  • Bina pembantu AI dengan api.ai

Artikel ini adalah salah satu siri artikel yang direka untuk membantu anda menjalankan pembantu peribadi yang mudah menggunakan api.ai:

  1. bagaimana untuk membina pembantu AI anda sendiri menggunakan api.ai (artikel ini!)
  2. Sesuaikan pembantu api.ai anda dengan niat dan konteks
  3. Meningkatkan pembantu api.ai anda dengan entiti
  4. bagaimana menghubungkan pembantu api.ai anda ke internet perkara

Apa itu api.ai?

API.AI adalah perkhidmatan yang membolehkan pemaju membina teks ke teks, pemprosesan bahasa semulajadi, sistem kecerdasan buatan yang boleh anda berlatih dengan ciri tersuai anda sendiri. Mereka mempunyai pelbagai pangkalan pengetahuan sedia ada yang disebut "domain" yang API.AI membina sistem yang dapat difahami secara automatik - yang merupakan tumpuan yang akan kita fokuskan dalam artikel ini. Bidang ini menyediakan asas pengetahuan lengkap pengetahuan ensiklopedia, terjemahan bahasa, cuaca dan pengetahuan lain. Dalam jawatan yang akan datang, saya akan merangkumi beberapa aspek yang lebih maju dari API.ai yang membolehkan anda memperibadikan pembantu anda.

Api.ai Bermula

Pertama, kami akan menuju ke laman web API.AI dan klik pada butang "Percuma Mula" atau butang "Daftar Percuma" di sudut kanan atas.

Kami akan pergi ke borang pendaftaran yang agak mudah: Masukkan nama, e -mel, dan kata laluan anda dan klik "Daftar". Bagi mereka yang ingin mengelakkan satu lagi kelayakan log masuk, anda juga boleh mendaftar dengan akaun GitHub atau Google anda menggunakan butang di sebelah kanan.

Sebagai API.AI diperolehi oleh Google, ia telah dipindahkan untuk log masuk dengan hanya akaun Google. Oleh itu, jika anda baru ke API.ai, anda perlu log masuk dengan akaun Google anda: How to Build Your Own AI Assistant Using Api.ai

Klik "Benarkan" pada skrin seterusnya untuk memberikan kebenaran API.AI untuk mengakses akaun Google anda:

anda juga perlu membaca dan bersetuju dengan syarat perkhidmatan mereka:

How to Build Your Own AI Assistant Using Api.ai

Selepas mendaftar, anda akan pergi terus ke antara muka API.AI di mana anda boleh membuat pembantu AI maya anda. Setiap pembantu yang anda buat dan mengajar kemahiran khusus dipanggil "ejen" dalam api.ai. Jadi pertama, anda boleh mengklik butang "Buat Agen" di sudut kiri atas untuk membuat ejen pertama anda:

How to Build Your Own AI Assistant Using Api.ai

Anda mungkin perlu membaca semula API.AI untuk mendapatkan kebenaran tambahan ke akaun Google anda. Ini adalah perkara biasa, tidak ada masalah! Klik "Kebenaran" untuk meneruskan:

How to Build Your Own AI Assistant Using Api.ai

maka biarkan:

How to Build Your Own AI Assistant Using Api.ai

Pada skrin seterusnya, masukkan butiran ejen anda, termasuk:

  • Nama: Ini hanya untuk memudahkan perbezaan anda antara proksi dalam antara muka API.AI. Anda boleh menamakan ejen yang anda suka-ia boleh menjadi nama orang itu (saya memilih Barry) atau nama yang mewakili tugas yang mereka bantu (seperti Controller Light).
  • Penerangan: Huraian yang boleh dibaca manusia supaya anda dapat mengingati apa yang ejen bertanggungjawab. Ini adalah pilihan dan mungkin tidak diperlukan jika nama proksi anda bercakap untuk dirinya sendiri.
  • Bahasa: Bahasa yang digunakan oleh ejen. Sebaik sahaja anda memilih bahasa, anda tidak boleh mengubahnya -so pilih dengan berhati -hati! Dalam tutorial ini, pilih Bahasa Inggeris kerana bahasa Inggeris boleh mengakses kebanyakan kawasan API.AI. Anda boleh melihat bidang yang tersedia untuk setiap bahasa dalam jadual bahasa dokumen API.AI.
  • zon waktu: Seperti yang anda harapkan, ini adalah zon waktu yang anda proksi. Kemungkinan besar zon waktu semasa anda telah dikesan.

Ia juga secara automatik menetapkan projek platform awan Google untuk ejen anda, jadi anda tidak perlu melakukan apa -apa dalam hal ini; Walau bagaimanapun, penting untuk mengetahui ini, jadi jika anda melakukan banyak ujian dan membuat banyak ejen, tahu bahawa anda membuat banyak projek platform awan Google yang mungkin anda perlukan untuk membersihkan pada suatu hari.

Setelah memasukkan tetapan proksi, pilih "simpan" di sebelah nama proksi untuk menyelamatkan segala -galanya:

How to Build Your Own AI Assistant Using Api.ai Konsol ujian

Selepas membuat ejen, anda boleh mengujinya menggunakan konsol ujian di sebelah kanan. Anda boleh memasukkan pertanyaan di bahagian atas dan ia akan menghantar pertanyaan ini ke proksi anda, menunjukkan kepada anda apa yang akan dikembalikan setelah mendengar kenyataan ini. Masukkan soalan seperti "Apa khabar?" Hasil anda harus dipaparkan di bawah:

How to Build Your Own AI Assistant Using Api.ai Jika anda menatal ke kanan hasil, anda akan melihat lebih banyak maklumat tentang bagaimana API.ai menerangkan permintaan anda (seperti yang ditunjukkan dalam tangkapan skrin di atas). Di bawahnya, terdapat butang yang dipanggil "Show JSON". Klik untuk melihat bagaimana API akan mengembalikan respons tersebut kepada permohonan anda.

api.ai akan membuka penonton JSON dan menunjukkan kepada anda tindak balas JSON yang serupa dengan ini:

{
  "id": "21345678",
  "timestamp": "2017-05-12T08:04:49.031Z",
  "lang": "en",
  "result": {
    "source": "agent",
    "resolvedQuery": "How are you?",
    "action": "input.unknown",
    "actionIncomplete": false,
    "parameters": {},
    "contexts": [],
    "metadata": {
      "intentId": "6320071",
      "webhookUsed": "false",
      "webhookForSlotFillingUsed": "false",
      "intentName": "Default Fallback Intent"
    },
    "fulfillment": {
      "speech": "Sorry, can you say that again?",
      "messages": [
        {
          "type": 0,
          "speech": "Sorry, could you say that again?"
        }
      ]
    },
    "score": 1
  },
  "status": {
    "code": 200,
    "errorType": "success"
  },
  "sessionId": "243c"
}
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

seperti yang anda lihat ... Ejen anda tidak tahu bagaimana untuk bertindak balas! Pada masa ini, ia tidak benar -benar "pintar" AI: ia masih perlu menambah bahagian pintar. Nilai input.Anknown dalam medan Tindakan memberitahu anda bahawa ia tidak pasti bagaimana untuk meneruskan. Di atas, ia mengembalikan mesej "Maaf, bolehkah anda mengatakannya lagi?", Yang merupakan salah satu penolakan lalainya. Ia tidak memberitahu manusia bahawa ia tidak faham, tetapi ia berulang kali meminta mereka untuk mengatakannya lagi ... tidak sesuai, saya lebih suka mengubahnya menjadi sesuatu yang menunjukkan lebih jelas apabila robot tidak faham. Jika anda juga pemilih tentang perkara -perkara seperti ini dan ingin mengubah apa yang dikatakan di sini, anda boleh menemuinya di halaman niat dengan mengklik pada item niat belakang lalai di sana.

Bagi mereka yang telah menggunakan API.ai beberapa waktu yang lalu (atau melihatnya berjalan), anda mungkin menjangkakan ia akan memberikan lebih banyak ciri ketika keluar dari kotak. Sebelum ini, ia dapat menjawab pertanyaan seperti "Siapa Steve Jobs?" Ini tidak berlaku sekarang! Anda mesti menambah integrasi tersuai dengan API pihak ketiga untuk mengambil tindakan dan mendapatkan maklumat. API.ai menyediakan analisis dan tafsiran kalimat.

tambah sembang

Anda boleh menambah ciri lalai yang akan membolehkan bot anda menunjukkan sedikit kecerdasan-ciri "sembang". Ini memberikan pelbagai jawapan kepada soalan biasa ... termasuk "Bagaimana anda?" Tetapi ini tidak diaktifkan secara lalai. Untuk mengaktifkannya, pergi ke item menu sembang di sebelah kiri dan klik Dayakan:

How to Build Your Own AI Assistant Using Api.ai Apabila diaktifkan, jika anda menatal ke bawah, anda dapat melihat pelbagai frasa kecil yang biasa. Cari bahagian "Salam/Perpisahan" dan klik padanya untuk mengembangkannya. Tambah beberapa balasan yang berbeza kepada "Bagaimana anda?" Selepas menambah frasa, anda akan melihat bilangan peratusan meningkat di sebelah bahagian "Salam/Perpisahan" untuk menunjukkan berapa banyak chatbots yang telah disesuaikan.

How to Build Your Own AI Assistant Using Api.ai Kemudian, jika anda pergi ke konsol ujian dan tanyakan lagi "Bagaimana anda?", Ia sekarang harus menjawab dengan salah satu balasan yang anda masukkan!

How to Build Your Own AI Assistant Using Api.ai Jika tidak bertindak balas dengan betul, periksa sama ada anda benar -benar mengklik "Simpan" sebelum cuba! Ia tidak akan disimpan secara automatik.

Sebaik -baiknya, anda perlu menyesuaikan balasan sembang anda sebanyak mungkin: ini akan memberikan bot API.ai anda yang lebih unik. Anda boleh memilih nada dan struktur balasan mereka. Adakah itu chatbot yang marah yang membenci manusia bercakap? Adakah itu chatbot yang terobsesi kucing? Atau chatbot yang bertindak balas dalam gaya internet/SMS remaja? Anda boleh membuat keputusan!

Sekarang bahawa anda mempunyai sekurang -kurangnya beberapa elemen sembang yang berjalan, ejen anda kini bersedia untuk anda mengintegrasikannya ke antara muka aplikasi web anda sendiri. Untuk melakukan ini, anda perlu mendapatkan kunci API untuk mengakses proksi anda dari jauh.

Cari Kunci API API.AI anda

Kunci API yang anda perlukan terletak di halaman Tetapan Proksi. Untuk mencarinya, klik ikon gear di sebelah nama ejen. Pada halaman yang muncul, salin dan tampal token akses klien ke tempat yang selamat. Inilah yang perlu kita gunakan untuk mengeluarkan pertanyaan kepada perkhidmatan API.AI:

How to Build Your Own AI Assistant Using Api.ai code

Jika anda ingin melihat kod kerja dan cuba, ia boleh didapati di GitHub. Jangan ragu untuk menggunakannya dan memperluaskan idea ini untuk membuat pembantu peribadi AI anda sendiri.

Jika anda mahu mencubanya, saya menjalankan Barry di sini. Nikmati!

Sambung ke API.ai Menggunakan JavaScript

anda kini mempunyai pembantu peribadi yang bekerja di suatu tempat di API.ai Cloud. Anda kini memerlukan cara untuk bercakap dengan pembantu peribadi anda dari antara muka anda sendiri. API.AI mempunyai satu siri platform SDK yang berfungsi dengan Android, iOS, Aplikasi Web, Perpaduan, Cordova, C, dll. Anda juga boleh mengintegrasikannya ke dalam bot yang lemah atau bot Messenger Facebook! Dalam contoh ini, anda akan menggunakan HTML dan JavaScript untuk membuat aplikasi Web Pembantu Peribadi yang mudah. Demo saya didasarkan pada konsep yang dipaparkan dalam HTML JS GIST dari API.AI.

permohonan anda akan melakukan perkara berikut:

  • menerima arahan bertulis dalam medan input dan serahkannya apabila anda menekan Enter.
  • atau gunakan API Pengiktirafan Ucapan HTML5 (ini hanya tersedia untuk Google Chrome 25 dan kemudian), jika pengguna mengklik "bercakap", mereka boleh bercakap arahan mereka dan menulisnya secara automatik ke medan input.
  • Selepas menerima arahan, anda boleh mengemukakan permintaan pos ajax kepada API.AI menggunakan jQuery. API.ai mengembalikan pengetahuannya sebagai objek JSON, seperti yang anda lihat dalam konsol ujian di atas.
  • Anda akan menggunakan JavaScript untuk membaca fail JSON dan memaparkan hasil pada aplikasi web anda.
  • Jika tersedia, aplikasi web anda juga akan membalas anda suara demi suara menggunakan API Suara Web (tersedia di Google Chrome 33 dan kemudian).

keseluruhan aplikasi web boleh didapati di GitHub dalam pautan di atas. Jangan ragu untuk merujuknya untuk melihat bagaimana saya gaya dan membina HTML. Saya tidak akan menerangkan setiap bahagian bagaimana ia dibina dalam jawatan ini, memberi tumpuan terutamanya kepada aspek API.AI SDK. Saya juga akan menunjukkan secara ringkas dan menerangkan bahagian -bahagian yang menggunakan API Pengiktirafan Ucapan HTML5 dan API Ucapan Web.

JavaScript anda mengandungi pembolehubah berikut:

{
  "id": "21345678",
  "timestamp": "2017-05-12T08:04:49.031Z",
  "lang": "en",
  "result": {
    "source": "agent",
    "resolvedQuery": "How are you?",
    "action": "input.unknown",
    "actionIncomplete": false,
    "parameters": {},
    "contexts": [],
    "metadata": {
      "intentId": "6320071",
      "webhookUsed": "false",
      "webhookForSlotFillingUsed": "false",
      "intentName": "Default Fallback Intent"
    },
    "fulfillment": {
      "speech": "Sorry, can you say that again?",
      "messages": [
        {
          "type": 0,
          "speech": "Sorry, could you say that again?"
        }
      ]
    },
    "score": 1
  },
  "status": {
    "code": 200,
    "errorType": "success"
  },
  "sessionId": "243c"
}
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Berikut adalah apa yang setiap pembolehubah adalah untuk:

  • AccessToken. Ini adalah kunci API yang anda salin dari antara muka API.AI. Kekunci ini membolehkan anda mengakses SDK dan menunjukkan proksi yang anda akses. Saya mahu melawat Barry, ejen peribadi saya.
  • baseUrl. Ini adalah URL asas untuk semua panggilan ke API.AI SDK. Jika SDK keluar dengan versi baru, anda boleh mengemas kini di sini.
  • $ SpeechInput. Ini menyimpan elemen <input> anda supaya anda dapat mengaksesnya dalam JavaScript.
  • $ recbtn. Ini menyimpan elemen <button> anda, yang akan digunakan apabila pengguna ingin mengklik dan bercakap dengan aplikasi web (atau berhenti sejenak mendengar jika mendengar).
  • Pengiktirafan. Anda menyimpan fungsi WebKitsPeechRecognition () dalam pembolehubah ini. Ini adalah untuk API Pengiktirafan Ucapan HTML5.
  • Messagerecording, MessageCouldnThear, MessageInternalError, dan Messagesoror. Ini adalah mesej yang dipaparkan apabila aplikasi merakam suara pengguna, tidak dapat mendengar suara pengguna, ralat dalaman berlaku, dan ejen tidak faham. Anda menyimpannya sebagai pembolehubah supaya anda dapat mengubahnya dengan mudah di bahagian atas skrip, dan anda juga boleh menentukan pembolehubah mana yang anda tidak mahu aplikasi dibaca dengan kuat kemudian.

Dalam baris kod ini, cari masa pengguna menekan masukkan dalam medan input. Apabila ini berlaku, jalankan fungsi hantar () untuk menghantar data ke api.ai:

{
  "id": "21345678",
  "timestamp": "2017-05-12T08:04:49.031Z",
  "lang": "en",
  "result": {
    "source": "agent",
    "resolvedQuery": "How are you?",
    "action": "input.unknown",
    "actionIncomplete": false,
    "parameters": {},
    "contexts": [],
    "metadata": {
      "intentId": "6320071",
      "webhookUsed": "false",
      "webhookForSlotFillingUsed": "false",
      "intentName": "Default Fallback Intent"
    },
    "fulfillment": {
      "speech": "Sorry, can you say that again?",
      "messages": [
        {
          "type": 0,
          "speech": "Sorry, could you say that again?"
        }
      ]
    },
    "score": 1
  },
  "status": {
    "code": 200,
    "errorType": "success"
  },
  "sessionId": "243c"
}
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Seterusnya, perhatikan sama ada pengguna telah mengklik butang rekod untuk meminta aplikasinya untuk mendengarnya (atau jeda jika ia mendengar). Jika mereka mengklik padanya, jalankan fungsi switchRecognition () untuk menukar antara rakaman dan tidak rakaman:

var accessToken = "YOURACCESSTOKEN",
    baseUrl = "https://api.api.ai/v1/",
    $speechInput,
    $recBtn,
    recognition,
    messageRecording = "正在录制...",
    messageCouldntHear = "我没有听清,你能再说一遍吗?",
    messageInternalError = "哦,不,发生了内部服务器错误",
    messageSorry = "对不起,我还没有答案。";
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Akhirnya, untuk tetapan jQuery awal anda, anda menetapkan butang yang akan terletak di sebelah kanan bawah skrin untuk menunjukkan dan menyembunyikan respons JSON. Ini hanya untuk memastikan ia mudah: Dalam kebanyakan kes, anda tidak mahu melihat data JSON yang masuk, tetapi kadang -kadang jika sesuatu yang tidak dijangka berlaku, anda boleh mengklik butang ini untuk bertukar -tukar sama ada JSON dapat dilihat:

$speechInput.keypress(function(event) {
  if (event.which == 13) {
    event.preventDefault();
    send();
  }
});
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Menggunakan HTML5 API Pengiktirafan Ucapan

Seperti yang disebutkan di atas, anda akan menggunakan API Pengiktirafan Ucapan HTML5 untuk mendengar pengguna dan menyalin apa yang mereka katakan. Pada masa ini ini hanya terpakai kepada Google Chrome.

Fungsi StarTrecognition () kami kelihatan seperti ini:

$recBtn.on("click", function(event) {
  switchRecognition();
});
Salin selepas log masuk
Salin selepas log masuk

Ini adalah cara untuk menjalankan API Pengiktirafan Ucapan HTML5. Semuanya menggunakan fungsi dalam WebKitsPeechRecognition (). Berikut adalah beberapa petua mengenai apa yang sedang berlaku:

  • pengiktirafan.onstart. Berjalan apabila rakaman bermula dari mikrofon pengguna. Anda menggunakan fungsi yang dipanggil respons () untuk memaparkan mesej anda memberitahu pengguna bahawa anda sedang mendengarnya. Saya akan memperkenalkan fungsi respons () dengan lebih terperinci tidak lama lagi. UpdateRec () menukar teks butang rakaman dari "berhenti" ke "bercakap".
  • pengiktirafan.onresult. Berjalan apabila anda mendapat hasil daripada pengiktirafan pertuturan. Anda menghuraikan hasilnya dan menetapkan medan teks untuk menggunakan hasil itu (fungsi ini hanya menambah teks ke medan input dan kemudian menjalankan fungsi hantar () anda).
  • pengiktirafan.onend. Berjalan apabila pengiktirafan pertuturan selesai. Anda menetapkannya untuk batal sebagai pengiktirafan.onResult untuk mengelakkannya daripada berjalan apabila anda mendapat hasil yang berjaya. Dengan cara itu, jika pengiktirafan.onend sedang berjalan, anda tahu bahawa API pengenalan pertuturan tidak memahami pengguna. Sekiranya fungsi itu dijalankan, anda akan membalas kepada pengguna untuk memberitahu mereka bahawa anda tidak mendengarnya dengan betul.
  • pengiktirafan.lang. Tetapkan bahasa yang anda cari. Dalam kes demo, ia mencari Bahasa Inggeris Amerika.
  • pengiktirafan.start (). Mulakan keseluruhan proses!

fungsi stoprecognition () anda lebih mudah. Ia menghentikan pengiktirafan anda dan menetapkannya kepada batal. Ia kemudian mengemas kini butang untuk menunjukkan bahawa anda tidak lagi merakam:

{
  "id": "21345678",
  "timestamp": "2017-05-12T08:04:49.031Z",
  "lang": "en",
  "result": {
    "source": "agent",
    "resolvedQuery": "How are you?",
    "action": "input.unknown",
    "actionIncomplete": false,
    "parameters": {},
    "contexts": [],
    "metadata": {
      "intentId": "6320071",
      "webhookUsed": "false",
      "webhookForSlotFillingUsed": "false",
      "intentName": "Default Fallback Intent"
    },
    "fulfillment": {
      "speech": "Sorry, can you say that again?",
      "messages": [
        {
          "type": 0,
          "speech": "Sorry, could you say that again?"
        }
      ]
    },
    "score": 1
  },
  "status": {
    "code": 200,
    "errorType": "success"
  },
  "sessionId": "243c"
}
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

SwitchRecognition () Togol sama ada anda memulakan atau menghentikan pengiktirafan dengan memeriksa pemboleh ubah pengiktirafan. Ini membolehkan butang anda bertukar -tukar fungsi pengiktirafan di dalam dan di luar:

var accessToken = "YOURACCESSTOKEN",
    baseUrl = "https://api.api.ai/v1/",
    $speechInput,
    $recBtn,
    recognition,
    messageRecording = "正在录制...",
    messageCouldntHear = "我没有听清,你能再说一遍吗?",
    messageInternalError = "哦,不,发生了内部服务器错误",
    messageSorry = "对不起,我还没有答案。";
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Berkomunikasi dengan api.ai

Untuk menghantar pertanyaan anda ke api.ai, anda boleh menggunakan fungsi hantar (), yang kelihatan seperti ini:

$speechInput.keypress(function(event) {
  if (event.which == 13) {
    event.preventDefault();
    send();
  }
});
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Ini adalah permintaan post ajax tipikal menggunakan jQuery untuk https://www.php.cn/link/dfc0a2d63b0d7a1cd07ffe3aea7 . Anda pastikan anda menghantar data JSON kepadanya dan mengharapkan untuk mendapatkan data JSON daripadanya. Anda juga perlu menetapkan dua pengarang-pengarang dan OCP-Apim-Subscription-Key-kepada kunci API API.ai. Anda menghantar data ke api.ai dalam format {q: text, lang: "en"} dan tunggu jawapan.

Apabila anda menerima respons, anda akan menjalankan prepareResponse (). Dalam fungsi ini, anda memformat rentetan JSON untuk dimasukkan ke dalam bahagian debug aplikasi web dan mengeluarkan hasil. Seksyen Seksyen Respons API.ai, yang memberikan anda respons teks pembantu. Anda memaparkan setiap mesej melalui respons () dan debugresped ():

$recBtn.on("click", function(event) {
  switchRecognition();
});
Salin selepas log masuk
Salin selepas log masuk

Fungsi DebuGresped () anda meletakkan teks ke dalam medan tindak balas JSON anda:

$(".debug__btn").on("click", function() {
  $(this).next().toggleClass("is-active");
  return false;
});
Salin selepas log masuk

fungsi respons anda () mempunyai lebih banyak langkah:

function startRecognition() {
  recognition = new webkitSpeechRecognition();

  recognition.onstart = function(event) {
    respond(messageRecording);
    updateRec();
  };
  recognition.onresult = function(event) {
    recognition.onend = null;

    var text = "";
    for (var i = event.resultIndex; i < event.results.length; ++i) {
      text += event.results[i][0].transcript;
    }
    setInput(text);
    stopRecognition();
  };
  recognition.onend = function() {
    respond(messageCouldntHear);
    stopRecognition();
  };
  recognition.lang = "en-US";
  recognition.start();
}
Salin selepas log masuk

Pertama, anda periksa sama ada nilai tindak balas kosong. Jika ya, tetapkannya untuk menunjukkan bahawa ia tidak pasti jawapan kepada soalan itu, kerana api.ai tidak mengembalikan respons yang sah:

{
  "id": "21345678",
  "timestamp": "2017-05-12T08:04:49.031Z",
  "lang": "en",
  "result": {
    "source": "agent",
    "resolvedQuery": "How are you?",
    "action": "input.unknown",
    "actionIncomplete": false,
    "parameters": {},
    "contexts": [],
    "metadata": {
      "intentId": "6320071",
      "webhookUsed": "false",
      "webhookForSlotFillingUsed": "false",
      "intentName": "Default Fallback Intent"
    },
    "fulfillment": {
      "speech": "Sorry, can you say that again?",
      "messages": [
        {
          "type": 0,
          "speech": "Sorry, could you say that again?"
        }
      ]
    },
    "score": 1
  },
  "status": {
    "code": 200,
    "errorType": "success"
  },
  "sessionId": "243c"
}
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Jika anda mempunyai mesej untuk output dan bukan mesej yang direkodkan, anda akan menggunakan API Voice Web untuk membaca mesej dengan kuat menggunakan objek SpeechSynthesisToTheTance. Saya mendapati bahawa jika Voiceuri dan Lang tidak ditetapkan, suara lalai penyemak imbas adalah Jerman! Ini menjadikan sukar untuk memahami ucapan sehingga saya mengubahnya. Untuk benar -benar mengatakan mesej itu, anda menggunakan fungsi window.speechsynthesis.speak (MSG):

var accessToken = "YOURACCESSTOKEN",
    baseUrl = "https://api.api.ai/v1/",
    $speechInput,
    $recBtn,
    recognition,
    messageRecording = "正在录制...",
    messageCouldntHear = "我没有听清,你能再说一遍吗?",
    messageInternalError = "哦,不,发生了内部服务器错误",
    messageSorry = "对不起,我还没有答案。";
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Nota: Adalah penting untuk tidak membiarkannya mengatakan "rakaman ..." teks: Jika anda melakukan ini, mikrofon akan mengambil suara dan menambahkannya ke pertanyaan yang direkodkan.

Akhirnya, paparkan kotak respons anda dan tambahkan teks itu kepadanya supaya pengguna dapat membacanya juga:

$speechInput.keypress(function(event) {
  if (event.which == 13) {
    event.preventDefault();
    send();
  }
});
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

tuan rumah antara muka web anda

Untuk hasil terbaik, anda mungkin perlu menjadi tuan rumah pada pelayan web yang dibolehkan HTTPS. Permintaan anda ke API.AI dibuat melalui HTTPS, jadi lebih baik untuk menjadi tuan rumah antara muka web anda di HTTPS juga. Jika anda hanya mahu menggunakannya sebagai prototaip dan tidak mempunyai pelayan web HTTPS yang selamat, cuba GLITCH.com! Ini adalah perkhidmatan baru yang boleh menjadi tuan rumah coretan kod yang mengandungi kod front-end dan back-end (node.js).

Sebagai contoh, Barry saya juga dihoskan di Glitch hosting adalah percuma! Ini adalah perkhidmatan yang hebat dan saya sangat mengesyorkan anda mencubanya.

Jika anda ingin membuat projek ini lebih besar, pertimbangkan untuk menggunakan Let's Encrypt untuk mendapatkan sijil SSL/TLS percuma atau pertimbangkan untuk membeli sijil dari hos web anda.

Operasi Praktikal

Jika anda menjalankan aplikasi web menggunakan gaya saya dari repositori github, nampaknya ini:

Jika anda mengklik "bercakap" dan berkata "Bagaimana anda?"

(Apabila anda mengklik butang, anda mungkin perlu membenarkan Chrome mengakses mikrofon anda. Jelas sekali, ini berlaku setiap kali melainkan jika anda melayani halaman sebagai https.) How to Build Your Own AI Assistant Using Api.ai

maka ia bertindak balas secara visual seperti ini (juga dibaca dengan kuat, yang sukar ditunjukkan dalam tangkapan skrin):

How to Build Your Own AI Assistant Using Api.ai

Anda juga boleh mengklik butang di sudut kanan bawah untuk melihat JSON Response API.ai memberi anda sekiranya anda ingin debug hasilnya:

How to Build Your Own AI Assistant Using Api.ai Jika anda seolah -olah menerima mesej terutamanya "Saya tidak mendengar dengan jelas, bolehkah anda mengatakannya lagi?", Sila periksa kebenaran mikrofon dalam penyemak imbas anda. Jika anda memuatkan halaman secara tempatan (contohnya, jika bar alamat anda bermula dengan fail: ///), Chrome nampaknya tidak memberikan apa -apa akses kepada mikrofon sama sekali, jadi anda akan berakhir dengan ralat ini juga! Anda perlu menjadi tuan rumah di suatu tempat. (Cuba gunakan glitch.com yang disebutkan di atas.)

How to Build Your Own AI Assistant Using Api.ai secara peribadi, saya tidak suka beberapa frasa lalai dalam ceramah kecil, seperti ini:

How to Build Your Own AI Assistant Using Api.ai Saya menyesuaikan banyak frasa ini dalam tetapan yang saya lihat sebelum ini. Sebagai contoh, saya dapati pernyataan sembang kecil ini dalam senarai yang sangat pelik, jadi saya memutuskan untuk menyesuaikannya seperti ini:

How to Build Your Own AI Assistant Using Api.ai Jadi, mulailah membuat chatbot anda sendiri! Jadikannya unik dan bersenang -senang!

bertemu dengan masalah?

Saya mendapati bahawa kadang -kadang, jika API suara web cuba mengatakan sesuatu yang terlalu lama, suara Chrome berhenti berfungsi. Jika ini berlaku untuk anda, tutup tab dan buka tab baru untuk mencuba lagi.

Kesimpulan

Saya pasti anda akan melihat bahawa API.AI adalah cara yang sangat mudah untuk membina pembantu peribadi AI gaya chatbot.

mahu terus membangunkan robot API.ai anda? Lebih banyak perkara yang perlu dilakukan: Ini adalah keseluruhan siri yang saya tulis di Sitepoint!

Jika anda membina pembantu peribadi anda sendiri menggunakan API.ai, saya ingin mendengar apa yang anda fikirkan! Adakah anda namakan Barry juga? Apa masalah yang anda tetapkan untuknya? Tolong beritahu saya di komen di bawah atau hubungi saya di Twitter melalui @ThatpatrickGuy.

Gunakan alat emosi untuk menyuntik elemen manusia ke dalam AI anda. Lihat tutorial video kami mengenai perkhidmatan kognitif Microsoft dan API analisis teks.

Soalan Lazim (FAQ) untuk membina pembantu AI anda sendiri menggunakan api.ai

Apakah prasyarat untuk membina pembantu AI menggunakan API.AI?

Untuk membina pembantu AI menggunakan API.AI, anda memerlukan pemahaman asas mengenai konsep dan bahasa pengaturcaraan (terutama JavaScript). Anda juga perlu mengenali perkhidmatan Google Cloud kerana API.AI adalah sebahagian daripada Google Cloud. Ia juga bermanfaat untuk memahami konsep pembelajaran AI dan mesin. Walau bagaimanapun, API.AI direka untuk mudah digunakan dan tidak memerlukan pengetahuan AI yang mendalam.

Bagaimana untuk mengintegrasikan pembantu AI saya dengan platform lain?

API.AI menyediakan sokongan bersepadu untuk banyak platform popular seperti Slack, Facebook Messenger, dan Skype. Anda boleh menggunakan API.AI SDK dan API untuk mengintegrasikan pembantu AI anda dengan platform ini. Proses ini melibatkan penubuhan webhook dan mengkonfigurasi tetapan platform dalam konsol API.AI.

Bolehkah saya menyesuaikan tingkah laku pembantu AI?

Ya, api.ai membolehkan anda menyesuaikan tingkah laku pembantu AI. Anda boleh menentukan niat dan entiti tersuai yang menentukan bagaimana pembantu AI anda bertindak balas terhadap input pengguna. Anda juga boleh menggunakan fungsi pemenuhan untuk menulis kod tersuai yang dilaksanakan apabila niat tertentu dicetuskan.

Bagaimana untuk meningkatkan ketepatan pembantu AI?

Ketepatan pembantu AI bergantung kepada kualiti data latihan. Anda boleh meningkatkan ketepatan dengan menyediakan pelbagai frasa contoh untuk setiap niat. API.AI juga menyediakan ciri yang dipanggil "Mod Pembelajaran Mesin" yang secara automatik meningkatkan model berdasarkan interaksi pengguna.

Adakah mungkin untuk membina pembantu AI berbilang bahasa menggunakan API.AI?

Ya, API.AI menyokong pelbagai bahasa. Anda boleh membina pembantu AI berbilang bahasa dengan menentukan niat dan entiti dalam bahasa yang berbeza. API.ai secara automatik akan mengesan bahasa yang dimasukkan oleh pengguna.

Bagaimana untuk menguji pembantu AI saya semasa pembangunan?

Api.ai menyediakan konsol ujian terbina dalam di mana anda boleh berinteraksi dengan pembantu AI anda. Anda boleh memasukkan frasa pengguna dan melihat bagaimana pembantu AI anda bertindak balas. Ini membolehkan anda menguji dan meningkatkan pembantu AI anda semasa pembangunan.

berapa kos untuk menggunakan api.ai?

Api.ai adalah sebahagian daripada Google Cloud dan harganya berdasarkan penggunaan. Terdapat peringkat percuma yang merangkumi sejumlah permintaan setiap minit dan bulanan. Selepas melebihi peringkat percuma, anda akan dibayar berdasarkan bilangan permintaan.

Bolehkah saya membina pembantu AI untuk aplikasi mudah alih saya menggunakan API.AI?

Ya, API.AI menyediakan SDK untuk Android dan iOS. Anda boleh menggunakan SDK ini untuk mengintegrasikan pembantu AI anda dengan aplikasi mudah alih anda.

Bagaimana menggunakan API.AI untuk mengendalikan perbualan yang kompleks?

Api.ai menyediakan ciri yang dipanggil "konteks" yang membolehkan anda mengendalikan perbualan yang kompleks. Konteks ini membolehkan anda mengawal aliran perbualan dan menguruskan kebergantungan antara niat.

Bolehkah saya menggunakan API.AI untuk menganalisis interaksi antara pengguna dan pembantu AI saya?

Ya, API.AI menyediakan keupayaan analisis yang membolehkan anda menganalisis interaksi pengguna. Anda boleh melihat statistik penggunaan, prestasi niat, dan penilaian kepuasan pengguna. Maklumat ini dapat membantu anda memperbaiki pembantu AI anda dari masa ke masa.

Atas ialah kandungan terperinci Cara Membina Pembantu AI Anda Sendiri Menggunakan Api.ai. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan