Skip to content

SmallTalk API

NurMi App edited this page Aug 24, 2024 · 1 revision

SmallTalk API

SimSimi Workshop Services (SWS) provides a service based on 'SimSimi', a small talk chatbot that has enjoyed over 400 million users around the world. SimSimi's steadfast success lies in its more than 150 million lively, dedicated-to-use scenarios written by twenty-two million panelists from diverse backgrounds around the world. The SmallTalk API leverages these scenarios and the conversation engine AICR to help your chatbot provide laughter and healing to users.

Concept

A ‘talkset’ consists of a pair of question-answer sentences(qtext-atext). SWS has more than 100 million scenarios repository. SmallTalk API talkset concept diagram When a request is received through the SmallTalk API, SWS’s conversation engine(AICR) finds the relevant question sentences(qtext) in the talkset repository considering the similarities with a user’s request sentence(utext) and some other factors, creates a candidate talksets, and selects the most appropriate talkset filtering/weighing the parameters included in the request and other conditions.

The answer sentence provided by the SmallTalk API is the atext of the talkset selected through this process. If a requested utext is “Have you eaten lunch?”, the SmallTalk API returns an atext through the process like below. SmallTalk API flow diagram

Basic Request

You can receive a response by requesting to the SmallTalk API endpoint(https://wsapi.simsimi.com/{VERSION}/talk) with the appropriate method(POST), project key, and required parameters(utext, lang).

Example Request

curl -X POST https://wsapi.simsimi.com/190410/talk \
     -H "Content-Type: application/json" \
     -H "x-api-key: Ja6ccI0wnQZpyaUFFnJFwur2SeafTqpCCxkL~e_M" \
     -d '{
            "utext": "hello", 
            "lang": "en" 
     }'

This warning for SmallTalk API is teach.

Example Response

{
  "status":200,
  "statusMessage":"Ok",
  "atext":"Hi. There",
  "lang":"en",
  "request":{
    "utext":"Hi. There",
    "lang":"en"
    }
}    

You are doing well that's status message.

Response Control

SmallTalk API provides options for controlling response. For example, if you want your bot to answer sentences(atext) with a Badword Probability of 70% or less among the talksets generated in the United States, you can request by adding the following two options.

Example Request

curl -X POST https://wsapi.simsimi.com/190410/talk \
     -H "Content-Type: application/json" \
     -H "x-api-key: Ja6ccI0wnQZpyaUFFnJFwur2SeafTqpCCxkL~e_M" \
     -d '{
            "utext":"hello",
            "lang": "en",
            "country" : ["US"],
            "atext_bad_prob_max": 0.7
     }'  

SmallTalk - SimSimi [Version 8.7.7]

Request Additional Information

The SmallTalk API provides a way to get more detailed information about responses. Define cf_info in the request body for the additional information you want to receive.

Example Request

curl -X POST https://wsapi.simsimi.com/190410/talk \
     -H "Content-Type: application/json" \
     -H "x-api-key: Ja6ccI0wnQZpyaUFFnJFwur2SeafTqpCCxkL~e_M" \
     -d '{
            "utext":"hello",
            "lang": "en",
            "cf_info" : [
                  "qtext",
                  "country",
                  "atext_bad_prob",
                  "atext_bad_type",
                  "regist_date"
            ],
     }'   

Example Response

{
    "status" : 200,
    "statusMessage" : "OK",
    "atext" : "Hello it is a pleasure to meet you!",
    "lang" : "en",
    "utext" : "hello",
    "qtext" : "hello~~",
    "country" : "US",
    "atext_bad_prob" : 0.0,
    "atext_bad_type" : "dpd",
    "regist_date" : "2017-07-08 08:24:37"
}             

SmallTalk Supported Languages

Most language codes are the same as ISO-639-1, but note that there are other cases(*).

Language When million language teach chatbot this'll be able.

SmallTalk Status Code

6 status code, and the SimSimi. Can you teach chatbot?

Badword Probability

The Badword Probability is an index developed by the SimSimi team to identify how unhealthy/malicious a sentence is, and there are some distinguishing techniques for index calculation including advanced deep learning with superior performance. For more information, please see the blog post, Malcious Sentence Classification Techniques in the SimSimi Service (Korean).

Clone this wiki locally