Skip to main content

A Python client for interacting with SlashML servicesDeveloped by SlashML.

Project description

SlashML Python client

SlashML

One API for all your machine learning needs.

Installation guide

pip install slashml

Quickstart

Convert text to audio

from slashml import TextToSpeech
import time

# Initialize model
model = TextToSpeech()

service_provider = TextToSpeech.ServiceProvider.GOOGLE

# Submit speechification request
job = model.speechify(text="To be or not to be, that is the question!", service_provider=service_provider)

assert job.status != "ERROR", f"{job}"
print(f"Job ID: {job.id}")

# check job status
response = model.status(job.id, service_provider=service_provider)

while response.status == "IN_PROGRESS":
    time.sleep(30)
    response = model.status(job.id, service_provider=service_provider)
    print(f"Response = {response}. Retrying in 30 seconds")

print(response)

Transcribe an audio file

from slashml import SpeechToText
import time

# Initialize model
model = SpeechToText()

service_provider = SpeechToText.ServiceProvider.WHISPER
# Submit transcription request
job = model.transcribe(upload_url="https://slashml.s3.ca-central-1.amazonaws.com/c7d38026-3ab4-4a04-ad9e-b6679ab79a87", service_provider=service_provider)

assert job.status != "ERROR", f"{job}"
print(f"Job ID: {job.id}")

# check job status
response = model.status(job.id, service_provider=service_provider)

while response.status == "IN_PROGRESS":
    time.sleep(5)
    response = model.status(job.id, service_provider=service_provider)
    print(f"Response = {response}. Retrying in 5 seconds")

print(response)

Summarize a text input

from slashml import TextSummarization
import time

# Initialize model
model = TextSummarization()

service_provider = TextSummarization.ServiceProvider.OPENAI

# Submit summariztion request
job = model.summarize(text="There are of course kinds of thinking that can be done without writing. If you don't need to go too deeply into a problem, you can solve it without writing. If you're thinking about how two pieces of machinery should fit together, writing about it probably won't help much. And when a problem can be described formally, you can sometimes solve it in your head. But if you need to solve a complicated, ill-defined problem, it will almost always help to write about it. Which in turn means that someone who's not good at writing will almost always be at a disadvantage in solving such problems.", service_provider=service_provider)

assert job.status != "ERROR", f"{job}"
print(f"Job ID: {job.id}")

# check job status
response = model.status(job.id, service_provider=service_provider)

while response.status == "IN_PROGRESS":
    time.sleep(5)
    response = model.status(job.id, service_provider=service_provider)
    print(f"Response = {response}. Retrying in 5 seconds")

print(response)

View the list of service providers available

from slashml import TextToSpeech

print(TextToSpeech.ServiceProvider.choices())

# you can repeat the same thing for all services 
# print(TextSummarization.ServiceProvider.choices())
# print(SpeechToText.ServiceProvider.choices())

Introduction

Overview

This is the Python client (SDK) for SlashML. It allows users to use the endpoints available and active https://docs.slashml.com.

Set up and usage

There is a daily limit (throttling) on the number of calls the user performs. The code can run without specifying the API key. The throttling kicks in and prevents new jobs after exceeding 10 calls per minute.

If the user intends on using the service more frequently, it is recommended to generate an token or API key from https://www.slashml.com/settings/api-key. You can pass the API key when creating a model, if you don't the api will still work but you will be throttled.

from slashml import TextToSpeech

# Initialize model
text_to_speech = TextToSpeech(api_key="YOUR_API_KEY")

# summarizer = TextSummarization(api_key="YOUR_API_KEY")
# speech_to_text = SpeechToText(api_key="YOUR_API_KEY")

If the user preferes using the API calls directly, the documentation is available here.

Available service providers

Speech-to-text

For transcription, SlashML supports the following service providers:

Summarization

For text summarization, SlashML supports the following service providers:

Text-to-Speech

For speechification, SlashML supports the following service providers:

Documentation

For production ready use cases, look at the examples folder

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

slashml-0.0.5.tar.gz (5.8 kB view hashes)

Uploaded Source

Built Distribution

slashml-0.0.5-py3-none-any.whl (7.0 kB view hashes)

Uploaded Python 3

Supported by

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