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 형식의 날짜로 요청된 응답 형식 버전입니다. 예를 들어 2016년 10월 20일은 2016-10-20을 지정합니다. 지정하는 날짜가 서비스 버전과 정확히 일치할 필요는 없습니다. 서비스는 귀하가 제공한 날짜보다 최신 버전이 아닌 응답 형식으로 응답합니다. 버전 3의 초기 릴리스보다 이전 날짜를 지정하면 서비스는 해당 첫 번째 버전에 대한 응답 형식을 반환합니다. 최신 버전보다 미래 또는 이후 날짜를 지정하면 서비스는 최신 버전에 대한 응답 형식을 반환합니다.
자격 증명을 json
파일로 다운로드하거나 개발자 콘솔에서 가져올 수 있습니다.
IBM에 대한 세부정보
테스트 범위는 100%이지만 라이브 API 테스트를 포함하여 모든 것이 제대로 작동하는지 확인할 수도 있습니다. 꼭 그럴 필요는 없지만 유용할 수 있습니다.
실시간 테스트 내보내기를 수행하려면
export DO_LIVE_API_TESTS=true
또한 프로젝트 루트에 실제 credentials.json
포함해야 합니다(이미 gitignore
에 있음).
그런 다음 라이브 테스트를 수행합니다.
현재 프로젝트에는 100% 테스트 적용 범위가 있습니다. 기여할 때 테스트를 업데이트했는지 확인하세요. 자세한 내용은 CONTRIBUTING.md를 참조하세요.