Um cliente independente de estrutura totalmente testado em unidade para API de insights do IBM Watson Personality.
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 ();
Algumas coisas que você pode definir
// 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 ,
];
Você também pode adicionar um ContentItem
diretamente
/**
* 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 );
A IBM possui um modo que mantém uma cópia de seus dados ao seu lado para o aparente treinamento do Watson. Isso normalmente é uma opção de exclusão.
Como isso não está explicitamente esclarecido, decidimos desativar por padrão , portanto, se você quiser ajudar o Watson a aprender, poderá fazê-lo optando por participar conforme descrito nos exemplos acima.
Por padrão, este pacote não permitirá qualquer tipo de rastreamento.
Esta é a fonte de alguma confusão. Esta é uma data no formato 'AAAA-MM-DD' e o Watson usará a versão existente naquele momento.
Citação completa
A versão solicitada do formato de resposta como uma data no formato AAAA-MM-DD; por exemplo, especifique 20/10/2016 para 20 de outubro de 2016. A data especificada não precisa corresponder exatamente a uma versão do serviço; o serviço responde com o formato de resposta cuja versão não é posterior à data que você fornece. Se você especificar uma data anterior ao lançamento inicial da versão 3, o serviço retornará o formato de resposta para essa primeira versão. Se você especificar uma data futura ou posterior à versão mais recente, o serviço retornará o formato de resposta para a versão mais recente.
Você pode baixar suas credenciais em um arquivo json
ou obtê-las no console do desenvolvedor.
Detalhes sobre IBM
A cobertura do teste é de 100%, mas você também pode incluir um teste de API ao vivo para ver se tudo está funcionando nesse sentido. Você não deveria precisar fazer isso, mas pode ser útil.
Para fazer exportação de teste ao vivo
export DO_LIVE_API_TESTS=true
Você também deve incluir seu credentials.json
reais.json na raiz do projeto (já está no gitignore
).
Que então fará o teste ao vivo.
Atualmente há 100% de cobertura de testes no projeto, certifique-se de atualizar os testes ao contribuir. Para obter mais informações, consulte CONTRIBUTING.md