Python client for SeekrAI
Project description
The Seekr Python Library is the official Python client for SeekrFlow's API platform, providing a convenient way for interacting with the REST APIs and enables easy integrations with Python 3.9+ applications with easy to use synchronous and asynchronous clients.
Installation
To install Seekr Python Library from PyPi, simply run:
pip install --upgrade seekrai
Setting up API Key
🚧 You will need to create an account with Seekr.com to obtain a SeekrFlow API Key.
Setting environment variable
export SEEKR_API_KEY=xxxxx
Using the client
from seekrai import SeekrFlow
client = SeekrFlow(api_key="xxxxx")
Usage – Python Client
Chat Completions
import os
from seekrai import SeekrFlow
client = SeekrFlow(api_key=os.environ.get("SEEKR_API_KEY"))
response = client.chat.completions.create(
model="meta-llama/Llama-3.1-8B-Instruct",
messages=[{"role": "user", "content": "tell me about new york"}],
)
print(response.choices[0].message.content)
Streaming
import os
from seekrai import SeekrFlow
client = SeekrFlow(api_key=os.environ.get("SEEKR_API_KEY"))
stream = client.chat.completions.create(
model="meta-llama/Llama-3.1-8B-Instruct",
messages=[{"role": "user", "content": "tell me about new york"}],
stream=True,
)
for chunk in stream:
print(chunk.choices[0].delta.content or "", end="", flush=True)
Async usage
import os, asyncio
from seekrai import AsyncSeekrFlow
async_client = AsyncSeekrFlow(api_key=os.environ.get("SEEKR_API_KEY"))
messages = [
"What are the top things to do in San Francisco?",
"What country is Paris in?",
]
async def async_chat_completion(messages):
async_client = AsyncSeekrFlow(api_key=os.environ.get("SEEKR_API_KEY"))
tasks = [
async_client.chat.completions.create(
model="meta-llama/Llama-3.1-8B-Instruct",
messages=[{"role": "user", "content": message}],
)
for message in messages
]
responses = await asyncio.gather(*tasks)
for response in responses:
print(response.choices[0].message.content)
asyncio.run(async_chat_completion(messages))
Files
The files API is used for fine-tuning and allows developers to upload data to fine-tune on. It also has several methods to list all files, retrieve files, and delete files
import os
from seekrai import SeekrFlow
client = SeekrFlow(api_key=os.environ.get("SEEKR_API_KEY"))
client.files.upload(file="somedata.parquet") # uploads a file
client.files.list() # lists all uploaded files
client.files.delete(id="file-d0d318cb-b7d9-493a-bd70-1cfe089d3815") # deletes a file
Fine-tunes
The finetune API is used for fine-tuning and allows developers to create finetuning jobs. It also has several methods to list all jobs, retrieve statuses and get checkpoints.
import os
from seekrai import SeekrFlow
client = SeekrFlow(api_key=os.environ.get("SEEKR_API_KEY"))
client.fine_tuning.create(
training_file='file-d0d318cb-b7d9-493a-bd70-1cfe089d3815',
model='meta-llama/Llama-3.1-8B-Instruct',
n_epochs=3,
n_checkpoints=1,
batch_size=4,
learning_rate=1e-5,
suffix='my-demo-finetune',
)
client.fine_tuning.list() # lists all fine-tuned jobs
client.fine_tuning.retrieve(id="ft-c66a5c18-1d6d-43c9-94bd-32d756425b4b") # retrieves information on finetune event
Project details
Release history Release notifications | RSS feed
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
File details
Details for the file seekrai-0.5.2.tar.gz
.
File metadata
- Download URL: seekrai-0.5.2.tar.gz
- Upload date:
- Size: 42.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.1 CPython/3.12.8 Darwin/24.3.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 56479857a17b9536500861dd3cb2a0fab9c2c5e887184aefc37e1c9e84a85817 |
|
MD5 | ca0ff4a8a6042a0564245b4532363f8d |
|
BLAKE2b-256 | 376293e1aad664352d7c5aea84757878b2cf77d2eafcfe32bf2b059a2d125931 |
File details
Details for the file seekrai-0.5.2-py3-none-any.whl
.
File metadata
- Download URL: seekrai-0.5.2-py3-none-any.whl
- Upload date:
- Size: 66.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.1 CPython/3.12.8 Darwin/24.3.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | be3b66caef2cddf573939a76f8a3ea738e37ff26f55711c66d180f886eb43a63 |
|
MD5 | 48082713879594c041337edb5d7959a8 |
|
BLAKE2b-256 | cb8a8e7a1b3948a556faf2a15a3e1793e7667c0ffcb727c6af8ea5dd583e1905 |