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/predictendpoint to sync classify messages based on your project-specific datasets and/predictions/asyncPredictendpoint 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:
- Create a new account on the Kolas.Ai platform.
- Create a new project Clean Talk and configure your datasets.
- Authentication: Obtain an access token using OAuth2 client credentials.
- Make Predictions: Send a POST request to
/predictions/predict(or/predictions/asyncPredict) with yourprojectIdand messages. - 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
- Kolas.Ai OpenAPI schema: Explore our OpenAPI specification.
- Kolas.Ai Platform Documentation: Learn more about configuring projects and using Kolas.Ai’s platform.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file clean_talk_client-1.0.2.tar.gz.
File metadata
- Download URL: clean_talk_client-1.0.2.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4c3839e966fc95a7fe9bdf21f71a400c540350de666a553fdaa4c32ba3ff6523
|
|
| MD5 |
e4f7fbb4dc20386d34f88c9a904e3076
|
|
| BLAKE2b-256 |
2c62fb3c8fef5062245e39554aa1874fb78a244dd466744c82e89743187b2e53
|
File details
Details for the file clean_talk_client-1.0.2-py3-none-any.whl.
File metadata
- Download URL: clean_talk_client-1.0.2-py3-none-any.whl
- Upload date:
- Size: 17.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9cebe22aa34dd692fca1cb28649e5fb8d66469a33bd0a7a3ca4e3e369d1966d7
|
|
| MD5 |
38bcebc054a6a1f043c312f91e9cc3c5
|
|
| BLAKE2b-256 |
7625af5c9ad4f90fe160e2f55cf19ca646bb993c6531cc75d6c444cf87e321b6
|