perspective-api-client
Node.js client library for the Perspective API.
Install
$ npm install perspective-api-client
Usage
const Perspective = ;const perspective = apiKey: processenvPERSPECTIVE_API_KEY; async { const text = 'you empty-headed animal food trough wiper!'; const result = await perspective; console;};// {// "attributeScores": {// "TOXICITY": {// "spanScores": [// {// "begin": 0,// "end": 42,// "score": {// "value": 0.77587414,// "type": "PROBABILITY"// }// }// ],// "summaryScore": {// "value": 0.77587414,// "type": "PROBABILITY"// }// }// },// "languages": [// "en"// ]// }
Specifying models
The TOXICITY model is used by default. To specify additional models,
pass options.attributes
.
async { const text = 'fools!'; const result = await perspective; console;};// {// "attributeScores": {// "UNSUBSTANTIAL": {// "spanScores": [// {// "begin": 0,// "end": 6,// "score": {// "value": 0.9592708,// "type": "PROBABILITY"// }// }// ],// "summaryScore": {// "value": 0.9592708,// "type": "PROBABILITY"// }// },// "SPAM": {// "spanScores": [// {// "begin": 0,// "end": 6,// "score": {// "value": 0.008744183,// "type": "PROBABILITY"// }// }// ],// "summaryScore": {// "value": 0.008744183,// "type": "PROBABILITY"// }// }// },// "languages": [// "en"// ]// }
More options
You can also pass an AnalyzeComment object for more control over the request.
async { const text = 'you empty-headed animal food trough wiper!'; const result = await perspective; console;};// {// "attributeScores": {// "TOXICITY": {// "spanScores": [// {// "begin": 0,// "end": 42,// "score": {// "value": 0.77587414,// "type": "PROBABILITY"// }// }// ],// "summaryScore": {// "value": 0.77587414,// "type": "PROBABILITY"// }// }// },// "languages": [// "en"// ]// }
API
perspective = new Perspective()
analyze(text, [options])
text
Type: String
or Object
Either the text to analyze or an AnalyzeComment object. HTML tags will be stripped by default.
options
attributes
Type: Array
or Object
Model names to analyze. TOXICITY
is analyzed by default. If passing an Array of names, the names may be lowercased.
See https://github.com/conversationai/perspectiveapi/blob/master/api_reference.md#models
for a list of valid models.
doNotStore
Type: Boolean
Default: true
If true
, prevent API from storing comment and context from this request.
stripHTML
Type: Boolean
Default: true
Whether to strip HTML tags from the text.
truncate
Type: Boolean
Default: false
If true
, truncate text to the first 20480 characters (max length
allowed by the Perspective API).
FAQ
How does this compare to @conversationai/perspectiveapi-js-client?
Similarities:
- Exposes the AnalyzeComment endpoint of the Perspective API
- Strips HTML tags by default
Differences:
- Returns full responses (rather than only returning summary scores)
- Exposes all AnalyzeComment options
- Supports all Node.js LTS versions
License
MIT © Steven Loria