تم اختبار الوحدة العميلة لإطار العمل بشكل كامل لواجهة برمجة التطبيقات (API) الخاصة بـ IBM Watson Personality Insights API.
ل 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 ();
بعض الأشياء التي يمكنك ضبطها
// 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 ,
];
يمكنك أيضًا إضافة ContentItem
مباشرةً
/**
* 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 وضعًا يحتفظ بنسخة من بياناتك بجانبها للتدريب الواضح لـ Watson. هذا هو عادة إلغاء الاشتراك.
نظرًا لعدم توضيح ذلك صراحةً، فقد قررنا التعطيل افتراضيًا ، لذا إذا كنت تريد مساعدة Watson على التعلم، فيمكنك القيام بذلك عن طريق الاشتراك كما هو موضح في الأمثلة أعلاه.
بشكل افتراضي، لن تسمح هذه الحزمة بأي تتبع من أي نوع.
وهذا هو مصدر بعض الالتباس. هذا التاريخ بتنسيق "YYYY-MM-DD" وسيستخدم Watson أي إصدار كان موجودًا في ذلك الوقت.
الاقتباس الكامل
النسخة المطلوبة من تنسيق الاستجابة كتاريخ في النموذج YYYY-MM-DD؛ على سبيل المثال، حدد 20-10-2016 ليوم 20 أكتوبر 2016. لا يلزم أن يتطابق التاريخ الذي تحدده مع إصدار الخدمة تمامًا؛ ترد الخدمة بتنسيق الرد الذي لا يتجاوز إصداره التاريخ الذي تقدمه. إذا قمت بتحديد تاريخ أقدم من الإصدار الأولي للإصدار 3، فستقوم الخدمة بإرجاع تنسيق الاستجابة لهذا الإصدار الأول. إذا قمت بتحديد تاريخ في المستقبل أو بعد الإصدار الأحدث، فستقوم الخدمة بإرجاع تنسيق الاستجابة لأحدث إصدار.
يمكنك تنزيل بيانات الاعتماد الخاصة بك في ملف json
، أو الحصول عليها من وحدة تحكم المطور.
التفاصيل على آي بي إم
تبلغ تغطية الاختبار 100%، ولكن يمكنك أيضًا تضمين اختبار مباشر لواجهة برمجة التطبيقات لمعرفة ما إذا كان كل شيء يعمل لتحقيق هذه الغاية. لا ينبغي عليك القيام بذلك، ولكن يمكن أن يكون مفيدًا.
للقيام بتصدير الاختبار المباشر
export DO_LIVE_API_TESTS=true
يجب عليك أيضًا تضمين credentials.json
الحقيقية الخاصة بك.json في جذر المشروع (وهو موجود بالفعل في gitignore
).
والتي سوف تقوم بعد ذلك بإجراء الاختبار المباشر.
توجد حاليًا تغطية اختبارية بنسبة 100% في المشروع، يرجى التأكد من تحديث الاختبارات عند المساهمة. لمزيد من المعلومات، راجع CONTRIBUTING.md