Skip to main content

Official Clean Talk client for Python applications.

Project description

Clean Talk Python Client for Kolas.Ai Public API

Welcome to the Kolas.Ai Public API documentation! This repository hosts the Python client for Kolas.Ai's Clean Talk public API, making it easy for developers to integrate Kolas.Ai’s machine learning services into your applications.

Overview

Clean Talk API is designed to classify message categories based on a trained dataset within a configured project. Use this API to accurately categorize messages into types like "Neutral", "Insult", "Spam" , etc. We support different languages, including English, Russian, Ukrainian, and we can add any languages by request (message to info@kolas.ai).

Key Features

  • Predict Message Categories: Use the /predictions/predict endpoint to sync classify messages based on your project-specific datasets and /predictions/asyncPredict endpoint to async classify messages.
  • High Accuracy: Predictions include probability scores, giving you confidence in the classification results.
  • OAuth2 Authentication: Secure access via OAuth2 client credentials flow.

Usage

The Kolas.Ai API follows the OpenAPI 3.1 standard. To get started:

  1. Create a new account on the Kolas.Ai platform.
  2. Create a new project Clean Talk and configure your datasets.
  3. Authentication: Obtain an access token using OAuth2 client credentials.
  4. Make Predictions: Send a POST request to /predictions/predict (or /predictions/asyncPredict) with your projectId and messages.
  5. Receive Predictions: Retrieve predicted categories and their probabilities in the API response.

Installation

You can install the CleanTalk Python client via pip. Run the following command:

pip install clean-talk-client

Authentication

This API uses OAuth2 client credentials for secure access. You’ll need to request a token using your client credentials from the Kolas.Ai platform.

from clean_talk_client.kolas_ai_oauth_client import KolasAiOAuthClient

YOUR_CLIENT_ID = ''  # Set your client ID
YOUR_CLIENT_SECRET = ''  # Set your client secret

oauth_client = KolasAiOAuthClient()
auth_result = oauth_client.auth(YOUR_CLIENT_ID, YOUR_CLIENT_SECRET)

$authResult contains the access token and expires_in information, which you will use to authenticate your API requests. You need to update token after its expiration.

Example for Sync Request

Once you have your access token, you can make a request like this:

from clean_talk_client.clean_talk_prediction_client import CleanTalkPredictionClient
from clean_talk_client.message import Message
from clean_talk_client.predict_request import PredictRequest

YOUR_PROJECT_ID = '11'  # Set your project ID

client = CleanTalkPredictionClient(auth_result.access_token)
request = PredictRequest(
    YOUR_PROJECT_ID,
    [
        Message('11177c92-1266-4817-ace5-cda430481111', 'Hello world!'),
        Message('22277c92-1266-4817-ace5-cda430482222', 'Good buy world!'),
    ]
)
# Sync request to kolas.ai. It returns result of predictions immediately
response = client.predict(request)
for prediction in response.get_predictions():
    print("MessageId:", prediction.message_id)
    print("Message:", prediction.message)
    print("Prediction:", prediction.prediction)
    print("Probability:", prediction.probability)
    print("Categories:", ", ".join(prediction.categories))

Example Response

MessageId: 11177c92-1266-4817-ace5-cda430481111
Message: Hello world!
Prediction: Neutral
Probability: 0.9036153107882
Categories: Insult, Neutral, Spam

MessageId: 22277c92-1266-4817-ace5-cda430482222
Message: Good buy world!
Prediction: Neutral
Probability: 0.99374455213547
Categories: Insult, Neutral, Spam

Example for Async Request

Once you have your access token, you can make a request like this:

from clean_talk_client.clean_talk_prediction_client import CleanTalkPredictionClient
from clean_talk_client.message import Message
from clean_talk_client.predict_request import PredictRequest

YOUR_PROJECT_ID = '11'  # Set your project ID

client = CleanTalkPredictionClient(auth_result.access_token)
request = PredictRequest(
    YOUR_PROJECT_ID,
    [
        Message('11177c92-1266-4817-ace5-cda430481111', 'Hello world!'),
        Message('22277c92-1266-4817-ace5-cda430482222', 'Good buy world!'),
    ]
)

# Async request to kolas.ai. Results of predictions will be sent on registered webhook
client.async_predict(request)

Responses will be sent to the configured webhook URL in your project settings.

Documentation Links

License

This API specification is released under the Apache 2.0 License. See the LICENSE for more details.

__

Feel free to explore, test, and integrate Kolas.Ai's API, and reach out with any questions!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

clean_talk_client-1.0.3.tar.gz (16.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

clean_talk_client-1.0.3-py3-none-any.whl (17.2 kB view details)

Uploaded Python 3

File details

Details for the file clean_talk_client-1.0.3.tar.gz.

File metadata

  • Download URL: clean_talk_client-1.0.3.tar.gz
  • Upload date:
  • Size: 16.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.6

File hashes

Hashes for clean_talk_client-1.0.3.tar.gz
Algorithm Hash digest
SHA256 f6b54eccfae4b305e61b327493879de0b647c35a5b19be26edd16876609c7953
MD5 b992f7ebf6f425251aa2e6129cf8e69b
BLAKE2b-256 039e5ba37b70d7f452b9ca879c6c4e3c6a8b97cd73d412933b439dbc7fc4574b

See more details on using hashes here.

File details

Details for the file clean_talk_client-1.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for clean_talk_client-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 9108aa09e02c6020537d3c69de0858050617646cc5af934893b6be5a3232f23a
MD5 23df421f5bc03feec8561752ad618785
BLAKE2b-256 20699d304ef442ce2c6a89d540969ff2e81e56010c0fcd281a9f3ef33bd954d4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page