We give you the option to use the Prem AI API, the PremAI SDK, or the OpenAI SDK.
Before using the SDKs, you’ll need to create an API key. See our API Key guide for instructions.
Use with PremAI SDK
Install the PremAI SDK
npm install premai
pip install premai
List Models
import PremAI from 'premai';
const client = new PremAI({
base_url: "https://studio.premai.io/",
apiKey: process.env['PREMAI_API_KEY'], // This is the default and can be omitted
});
const response = await client.models.list();
console.log(response.data);
import os
from premai import PremAI
client = PremAI(
base_url="https://studio.premai.io/",
api_key=os.environ.get("PREMAI_API_KEY"), # This is the default and can be omitted
)
response = client.models.list()
print(response.data)
Chat Completions
import PremAI from 'premai';
const client = new PremAI({
base_url: "https://studio.premai.io/",
apiKey: process.env['PREMAI_API_KEY'], // This is the default and can be omitted
});
const response = await client.chat.completions({
messages: [{
role: 'user',
content: 'Write a one-sentence bedtime story about a unicorn.'
}],
model: 'llama3.2-3b'
});
console.log(response.choices[0].message.content);
import os
from premai import PremAI
client = PremAI(
base_url="https://studio.premai.io/",
api_key=os.environ.get("PREMAI_API_KEY"), # This is the default and can be omitted
)
response = client.chat.completions(
messages=[{
"role": "user",
"content": "Write a one-sentence bedtime story about a unicorn."
}],
model="llama3.2-3b",
)
print(response.choices[0].message.content)
Chat Completion with Streaming
Streaming is not supported for the PremAI SDK. Will be supported in the future.
Use with OpenAI SDK
Install the OpenAI SDK
npm install openai
pip install openai
List Models
import OpenAI from 'openai';
const client = new OpenAI({
baseURL: "https://studio.premai.io/api/v1/",
apiKey: process.env['PREMAI_API_KEY'], // This is the default and can be omitted
});
const response = await client.models.list();
console.log(response.data);
import os
from openai import OpenAI
client = OpenAI(
base_url="https://studio.premai.io/api/v1/",
api_key=os.environ.get("PREMAI_API_KEY"), # This is the default and can be omitted
)
response = client.models.list()
print(response.data)
Chat Completions
The model name can be replaced with the name of your fine-tuned models as well.
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://studio.premai.io/api/v1/",
apiKey: process.env.PREMAI_API_KEY,
});
//Create a chat completion
const response = await client.chat.completions.create({
model: "llama3.2-3b", //Or any other model you want to use
messages: [{ role: "user", content: "Write a one-sentence bedtime story about a unicorn." }]
});
console.log(response.choices[0].message.content);
import os
from openai import OpenAI
client = OpenAI(
base_url="https://studio.premai.io/api/v1/",
api_key=os.environ.get("PREMAI_API_KEY"),
)
# Create a chat completion
response = client.chat.completions.create(
messages=[{"role": "user", "content": "Who won the world series in 2020?"}],
model="llama3.2-3b", # Or any other model you want to use
)
print(response.choices[0].message.content)
Chat Completion with Streaming
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://studio.premai.io/api/v1/",
apiKey: process.env.PREMAI_API_KEY,
});
//Create a chat completion
const response = await client.chat.completions.create({
model: "llama3.2-3b", //Or any other model you want to use
messages: [{ role: "user", content: "Write a one-sentence bedtime story about a unicorn." }],
stream: true,
});
for await (const chunk of response) {
process.stdout.write(chunk.choices[0].delta.content);
}
import os
from openai import OpenAI
client = OpenAI(
base_url="https://studio.premai.io/api/v1/",
api_key=os.environ.get("PREMAI_API_KEY"),
)
# Create completion
response = client.chat.completions.create(
messages=[{"role": "user", "content": "Who won the world series in 2020?"}],
model="llama3.2-3b", # Or any other model you want to use
stream=True,
)
for chunk in response:
print(chunk.choices[0].delta.content, end='', flush=True)