Un cliente independiente del marco y totalmente probado en unidades para la API de conocimientos de personalidad de IBM Watson.
Para 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 ();
Algunas cosas que puedes configurar
// 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 ,
];
También puedes agregar un ContentItem
directamente
/**
* 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 tiene un modo que mantiene una copia de sus datos de su lado para el aparente entrenamiento de Watson. Normalmente esto es una opción de exclusión voluntaria.
Como esto no está claro explícitamente, hemos decidido desactivarlo de forma predeterminada , por lo que si desea ayudar a Watson a aprender, puede hacerlo registrándose como se describe en los ejemplos anteriores.
Por defecto, este paquete no permitirá ningún seguimiento de ningún tipo.
Esta es la fuente de cierta confusión. Esta es una fecha en el formato 'AAAA-MM-DD' y Watson utilizará la versión que estuviera disponible en ese momento.
cotización completa
La versión solicitada del formato de respuesta como una fecha en el formato AAAA-MM-DD; por ejemplo, especifique 2016-10-20 para el 20 de octubre de 2016. No es necesario que la fecha que especifique coincida exactamente con una versión del servicio; el servicio responde con el formato de respuesta cuya versión no es posterior a la fecha que usted proporciona. Si especifica una fecha anterior al lanzamiento inicial de la versión 3, el servicio devuelve el formato de respuesta para esa primera versión. Si especifica una fecha futura o posterior a la versión más reciente, el servicio devuelve el formato de respuesta para la última versión.
Puede descargar sus credenciales en un archivo json
u obtenerlas desde la consola del desarrollador.
Detalles sobre IBM
La cobertura de la prueba es del 100 %, pero también puedes incluir una prueba de API en vivo para ver si todo funciona en ese sentido. No deberías tener que hacerlo, pero puede ser útil.
Para realizar una exportación de prueba en vivo
export DO_LIVE_API_TESTS=true
También debes incluir tus credentials.json
reales en la raíz del proyecto (ya está en gitignore
).
Que luego hará la prueba en vivo.
Actualmente hay una cobertura de pruebas del 100 % en el proyecto; asegúrese de actualizar las pruebas al contribuir. Para obtener más información, consulte CONTRIBUTING.md