PolarPOLAR

SDKs e Clientes

Instale e configure os SDKs da Polar para Python, TypeScript e OpenAI.

Visão Geral

A Polar oferece SDKs oficiais para Python e TypeScript, além de compatibilidade total com o SDK da OpenAI. Escolha a opção mais adequada para seu projeto.

SDKPacoteLinguagem
Polar Pythonpolar-aiPython 3.8+
Polar TypeScript@polar-ai/sdkNode.js 18+, Deno, Bun
OpenAI PythonopenaiPython 3.8+
OpenAI TypeScriptopenaiNode.js 18+

SDK Python (polar-ai)

Instalação

pip install polar-ai

Configuração

from polar_ai import PolarAI

# Configuração básica
client = PolarAI(api_key="pk-sua-chave-aqui")

# Ou usando variável de ambiente (POLAR_API_KEY)
client = PolarAI()

Chat Completions

response = client.chat.completions.create(
    model="urso-base",
    messages=[
        {"role": "system", "content": "Você é um assistente prestativo."},
        {"role": "user", "content": "Olá, como você pode me ajudar?"}
    ],
    temperature=0.7,
    max_tokens=1024
)

print(response.choices[0].message.content)

Streaming

stream = client.chat.completions.create(
    model="urso-base",
    messages=[
        {"role": "user", "content": "Explique computação quântica."}
    ],
    stream=True
)

for chunk in stream:
    if chunk.choices[0].delta.content is not None:
        print(chunk.choices[0].delta.content, end="")

Embeddings

response = client.embeddings.create(
    model="urso-embed",
    input=["Texto para gerar embedding"]
)

vector = response.data[0].embedding
print(f"Dimensões: {len(vector)}")

Async

import asyncio
from polar_ai import AsyncPolarAI

async def main():
    client = AsyncPolarAI(api_key="pk-sua-chave-aqui")

    response = await client.chat.completions.create(
        model="urso-base",
        messages=[
            {"role": "user", "content": "Olá!"}
        ]
    )

    print(response.choices[0].message.content)

asyncio.run(main())

SDK TypeScript (@polar-ai/sdk)

Instalação

npm install @polar-ai/sdk
yarn add @polar-ai/sdk
pnpm add @polar-ai/sdk

Configuração

import { PolarAI } from "@polar-ai/sdk";

// Configuração básica
const client = new PolarAI({ apiKey: "pk-sua-chave-aqui" });

// Ou usando variável de ambiente (POLAR_API_KEY)
const client = new PolarAI();

Chat Completions

const response = await client.chat.completions.create({
  model: "urso-base",
  messages: [
    { role: "system", content: "Você é um assistente prestativo." },
    { role: "user", content: "Olá, como você pode me ajudar?" },
  ],
  temperature: 0.7,
  maxTokens: 1024,
});

console.log(response.choices[0].message.content);

Streaming

const stream = await client.chat.completions.create({
  model: "urso-base",
  messages: [
    { role: "user", content: "Explique computação quântica." },
  ],
  stream: true,
});

for await (const chunk of stream) {
  const content = chunk.choices[0]?.delta?.content;
  if (content) {
    process.stdout.write(content);
  }
}

Embeddings

const response = await client.embeddings.create({
  model: "urso-embed",
  input: ["Texto para gerar embedding"],
});

const vector = response.data[0].embedding;
console.log(`Dimensões: ${vector.length}`);

Compatibilidade com SDK OpenAI

A API da Polar é 100% compatível com o SDK da OpenAI. Basta alterar base_url e api_key.

Python (OpenAI SDK)

pip install openai
from openai import OpenAI

client = OpenAI(
    base_url="https://api.polar-ai.com/v1",
    api_key="pk-sua-chave-aqui"
)

# Use normalmente — todas as funcionalidades são compatíveis
response = client.chat.completions.create(
    model="urso-base",
    messages=[
        {"role": "user", "content": "Olá!"}
    ]
)

print(response.choices[0].message.content)

TypeScript (OpenAI SDK)

npm install openai
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.polar-ai.com/v1",
  apiKey: "pk-sua-chave-aqui",
});

const response = await client.chat.completions.create({
  model: "urso-base",
  messages: [
    { role: "user", content: "Olá!" },
  ],
});

console.log(response.choices[0].message.content);

Migração de OpenAI para Polar

Se você já usa o SDK da OpenAI, migrar para a Polar requer apenas duas mudanças:

# Antes (OpenAI)
client = OpenAI(
    api_key="sk-..."
)

# Depois (Polar)
client = OpenAI(
    base_url="https://api.polar-ai.com/v1",
    api_key="pk-..."
)

Todo o restante do código permanece idêntico.

curl

Para testes rápidos ou integração em qualquer linguagem via HTTP:

curl https://api.polar-ai.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer pk-sua-chave-aqui" \
  -d '{
    "model": "urso-base",
    "messages": [
      {"role": "user", "content": "Olá, Polar!"}
    ]
  }'

Listar Modelos

curl https://api.polar-ai.com/v1/models \
  -H "Authorization: Bearer pk-sua-chave-aqui"

Configuração Avançada

Timeout e Retries

from polar_ai import PolarAI

client = PolarAI(
    api_key="pk-sua-chave-aqui",
    timeout=60.0,       # timeout em segundos
    max_retries=3        # tentativas automáticas em caso de erro
)
const client = new PolarAI({
  apiKey: "pk-sua-chave-aqui",
  timeout: 60000,       // timeout em milissegundos
  maxRetries: 3,        // tentativas automáticas em caso de erro
});

Proxy e Base URL Customizada

client = PolarAI(
    api_key="pk-sua-chave-aqui",
    base_url="https://proxy.sua-empresa.com/polar/v1"
)

Próximos Passos

On this page