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.1.tar.gz (16.3 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.1-py3-none-any.whl (17.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: clean_talk_client-1.0.1.tar.gz
  • Upload date:
  • Size: 16.3 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.1.tar.gz
Algorithm Hash digest
SHA256 04ae76cb1d1953b15abd40036bbda0dc683a7925ccab22f38c9b6b8fc1c93f15
MD5 0d83b5bb2925b26e1588708d94f734cd
BLAKE2b-256 bee58d4a9d075deadaa3ce631092be75b673e0692b31efb93767a62d22b16951

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clean_talk_client-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1345459e166b19e522188adfcf6c0f89e49fd35ffbcfdd199f16f31e86bc51b0
MD5 6e37496f44325e8c20d424da808d4987
BLAKE2b-256 5df9edf4197e487d3ccced69e64c8c29ece799fdebd0561c9c42bff0b2e883f1

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