Klien kerangka kerja agnostik yang sepenuhnya diuji unitnya untuk IBM Watson Personality Insights API.
Untuk PHP 7.0+
composer require darrynten/watson-personality-insights-php
// Required config
$ config = [
' username ' => $ username ,
' password ' => $ password
];
// Get an instance
$ instance = new PersonalityInsights ( $ config );
// Add some text
$ text = file_get_contents ( ' sample.txt ' );
$ instance -> addText ( $ text );
// Get the insights
$ insights = $ instance -> getInsights ();
Beberapa hal yang dapat Anda atur
// Set standard options
$ instance -> config -> setConsumptionPreferences ( true );
$ instance -> config -> setRawScores ( true );
$ instance -> config -> setVersion ( ' 2017-01-01 ' );
$ instance -> config -> setContentTypeHeader ( ' application/json ' );
$ instance -> config -> setContentLanguageHeader ( ' en ' );
$ instance -> config -> setAcceptHeader ( ' application/json ' );
$ instance -> config -> setAcceptLanguageHeader ( ' en ' );
$ instance -> config -> setCsvHeaders ( false );
// https://watson-api-explorer.mybluemix.net/apis/personality-insights-v3#!/personality45insights/profile
// Set caching of requests
$ instance -> config -> setCaching ( false );
// Opt in to Watson tracking (off by default)
$ instance -> config -> setOptOut ( false );
// All config options
$ config = [
' username ' => $ username ,
' password ' => $ password ,
' version ' => $ version ,
' raw_scores ' => $ boolean ,
' consumption_preferences ' => $ boolean ,
' cache ' => $ boolean ,
];
Anda juga dapat menambahkan ContentItem
secara langsung
/**
* All possible content item config options. Only the `text` one is
* required.
*
* https://watson-api-explorer.mybluemix.net/apis/personality-insights-v3#!/personality45insights/profile
*
* Defaults
*
* id - An md5 of the text
* created - 0
* updated - 0
* contenttype - 'text/plain'
* language - en
* parentid - null
* reply - false
* forward - false
*/
$ contentConfig = [
' text ' => $ text , // The only required value
' id ' => $ string , // Is the md5 of the text if not set
' created ' => $ timestamp , // Is 0 if not set
' updated ' => $ timestamp , // Is 0 if not set
' contenttype ' => $ string , // `text/plain` or `text/html`
' language ' => $ string , // `en` or similar
' parentid ' => $ string , // The ID of a parent item. Null if not set
' reply ' => $ boolean , // Indicates if it is a reply to another
' forward ' => $ boolean , // Indicates if it is a forwarded text
];
$ contentItem = new ContentItem ( $ contentConfig );
$ contentItem -> getContentItemJson ();
$ instance -> addNewContentItem ( $ contentItem );
IBM memiliki mode yang menyimpan salinan data Anda di pihak mereka untuk pelatihan Watson. Biasanya ini adalah pilihan untuk tidak ikut serta.
Karena hal ini tidak dijelaskan secara eksplisit, kami telah memutuskan untuk menonaktifkan secara default sehingga jika Anda melakukannya untuk membantu Watson belajar maka Anda dapat melakukannya dengan ikut serta sebagaimana diuraikan dalam contoh di atas.
Secara default, paket ini tidak mengizinkan pelacakan apa pun.
Ini adalah sumber kebingungan. Ini adalah tanggal dalam format 'YYYY-MM-DD' dan Watson akan menggunakan versi mana pun yang ada pada saat itu.
Kutipan lengkap
Versi format respon yang diminta sebagai tanggal dalam bentuk YYYY-MM-DD; misalnya, tentukan 20-10-2016 untuk 20 Oktober 2016. Tanggal yang Anda tentukan tidak harus sama persis dengan versi layanan; layanan membalas dengan format respons yang versinya paling lambat pada tanggal yang Anda berikan. Jika Anda menentukan tanggal yang lebih awal dari rilis awal versi 3, layanan akan mengembalikan format respons untuk versi pertama tersebut. Jika Anda menentukan tanggal di masa depan atau lebih lambat dari versi terbaru, layanan akan mengembalikan format respons untuk versi terbaru.
Anda dapat mengunduh kredensial Anda dalam file json
, atau mendapatkannya dari konsol pengembang.
Detail tentang IBM
Cakupan pengujian adalah 100%, tetapi Anda juga dapat menyertakan pengujian API langsung untuk melihat apakah semuanya berfungsi dengan baik. Anda tidak harus melakukannya, tetapi ini bisa berguna.
Untuk melakukan ekspor uji langsung
export DO_LIVE_API_TESTS=true
Anda juga harus menyertakan credentials.json
asli Anda di root proyek (sudah ada di gitignore
).
Yang kemudian akan melakukan tes langsung.
Saat ini terdapat 100% cakupan pengujian dalam proyek ini, harap pastikan bahwa saat berkontribusi, Anda memperbarui pengujian tersebut. Untuk info lebih lanjut lihat KONTRIBUSI.md