Skip to content

Quick Start Guide

This guide will help you get started with the PaiTIENT Secure Model Service quickly.

Prerequisites

Before you begin, make sure you have:

  • Installed the SDK for your preferred language (Python or Node.js)
  • Your API key and client ID from PaiTIENT
  • If using the Python SDK: Python 3.8+
  • If using the Node.js SDK: Node.js 14+

Setup

Python Setup

Set your environment variables:

bash
export PAITIENT_API_KEY=your-api-key
export PAITIENT_CLIENT_ID=your-client-id

Initialize the client:

python
from paitient_secure_model import SecureModelClient

# Initialize from environment variables
client = SecureModelClient()

# Or specify credentials directly
client = SecureModelClient(
    api_key="your-api-key",
    client_id="your-client-id",
    endpoint="https://api.paitient.ai"  # Optional, defaults to production
)

Node.js Setup

Set your environment variables:

bash
export PAITIENT_API_KEY=your-api-key
export PAITIENT_CLIENT_ID=your-client-id

Initialize the client:

javascript
const { SecureModelClient } = require('paitient-secure-model');

// Initialize from environment variables
const client = new SecureModelClient();

// Or specify credentials directly
const client = new SecureModelClient({
  apiKey: "your-api-key",
  clientId: "your-client-id",
  endpoint: "https://api.paitient.ai"  // Optional, defaults to production
});

Deploy Your First Model

Python Deployment

python
# Deploy the default model (ZimaBlueAI/HuatuoGPT-o1-8B)
deployment = client.deploy_model(
    deployment_name="my-first-deployment",
    use_gpu=True  # Set to False for CPU-only deployment
)

# Store the deployment ID for later use
deployment_id = deployment.id
print(f"Deployment ID: {deployment_id}")

# Check deployment status
status = client.get_deployment_status(deployment_id)
print(f"Deployment status: {status.status}")

# Wait for deployment to complete (this may take 5-10 minutes)
import time
while status.status != "DEPLOYED":
    if status.status == "FAILED":
        print(f"Deployment failed: {status.error}")
        break
    print(f"Waiting for deployment... Current status: {status.status}")
    time.sleep(30)
    status = client.get_deployment_status(deployment_id)

if status.status == "DEPLOYED":
    print("Deployment complete! Ready to generate text.")

Node.js Deployment

javascript
async function deployModel() {
  try {
    // Deploy the default model (ZimaBlueAI/HuatuoGPT-o1-8B)
    const deployment = await client.deploy({
      deploymentName: "my-first-deployment",
      useGpu: true  // Set to false for CPU-only deployment
    });

    // Store the deployment ID for later use
    const deploymentId = deployment.id;
    console.log(`Deployment ID: ${deploymentId}`);

    // Check deployment status
    let status = await client.getDeploymentStatus(deploymentId);
    console.log(`Deployment status: ${status.status}`);

    // Wait for deployment to complete (this may take 5-10 minutes)
    while (status.status !== "DEPLOYED") {
      if (status.status === "FAILED") {
        console.log(`Deployment failed: ${status.error}`);
        break;
      }
      console.log(`Waiting for deployment... Current status: ${status.status}`);
      await new Promise(resolve => setTimeout(resolve, 30000));
      status = await client.getDeploymentStatus(deploymentId);
    }

    if (status.status === "DEPLOYED") {
      console.log("Deployment complete! Ready to generate text.");
    }
  } catch (error) {
    console.error("Error deploying model:", error);
  }
}

deployModel();

Generate Text

Once your model is deployed, you can generate text:

Python Text Generation

python
# Generate text using your deployed model
result = client.generate(
    deployment_id=deployment_id,
    prompt="Explain how AI is used in healthcare while ensuring HIPAA compliance.",
    max_tokens=500,
    temperature=0.7
)

print("Generated text:")
print(result.text)

# Get token usage
print(f"Prompt tokens: {result.usage.prompt_tokens}")
print(f"Completion tokens: {result.usage.completion_tokens}")
print(f"Total tokens: {result.usage.total_tokens}")

Node.js Text Generation

javascript
async function generateText(deploymentId) {
  try {
    // Generate text using your deployed model
    const result = await client.generate({
      deploymentId: deploymentId,
      prompt: "Explain how AI is used in healthcare while ensuring HIPAA compliance.",
      maxTokens: 500,
      temperature: 0.7
    });

    console.log("Generated text:");
    console.log(result.text);

    // Get token usage
    console.log(`Prompt tokens: ${result.usage.promptTokens}`);
    console.log(`Completion tokens: ${result.usage.completionTokens}`);
    console.log(`Total tokens: ${result.usage.totalTokens}`);
  } catch (error) {
    console.error("Error generating text:", error);
  }
}

generateText("your-deployment-id");

Using Streaming Responses

For long responses, streaming is recommended:

Python Streaming

python
# Stream text generation
for chunk in client.generate_stream(
    deployment_id=deployment_id,
    prompt="Write a detailed summary of HIPAA compliance requirements for AI systems.",
    max_tokens=1000
):
    print(chunk.text, end="", flush=True)

Node.js Streaming

javascript
async function streamText(deploymentId) {
  try {
    // Stream text generation
    const stream = await client.generateStream({
      deploymentId: deploymentId,
      prompt: "Write a detailed summary of HIPAA compliance requirements for AI systems.",
      maxTokens: 1000
    });

    // Handle the stream
    for await (const chunk of stream) {
      process.stdout.write(chunk.text);
    }
    console.log(); // New line at the end
  } catch (error) {
    console.error("Error streaming text:", error);
  }
}

streamText("your-deployment-id");

Managing Deployments

Python Deployment Management

python
# List all deployments
deployments = client.list_deployments()
for deployment in deployments:
    print(f"ID: {deployment.id}, Name: {deployment.name}, Status: {deployment.status}")

# Delete a deployment
client.delete_deployment(deployment_id)

Node.js Deployment Management

javascript
async function manageDeployments() {
  try {
    // List all deployments
    const deployments = await client.listDeployments();
    deployments.forEach(deployment => {
      console.log(`ID: ${deployment.id}, Name: ${deployment.name}, Status: ${deployment.status}`);
    });

    // Delete a deployment
    await client.deleteDeployment("your-deployment-id");
    console.log("Deployment deleted successfully");
  } catch (error) {
    console.error("Error managing deployments:", error);
  }
}

manageDeployments();

Using the CLI

For Node.js users, you can also use the command-line interface:

bash
# Install the CLI globally
npm install -g paitient-secure-model

# Deploy a model
secure-model deploy --name my-cli-deployment

# Generate text
secure-model generate --deployment-id your-deployment-id --prompt "Explain HIPAA compliance in healthcare AI."

# List deployments
secure-model status --all

# Delete a deployment
secure-model delete --deployment-id your-deployment-id

Next Steps

Now that you've deployed your first model and generated text, you can:

Released under the MIT License.