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.
| SDK | Pacote | Linguagem |
|---|---|---|
| Polar Python | polar-ai | Python 3.8+ |
| Polar TypeScript | @polar-ai/sdk | Node.js 18+, Deno, Bun |
| OpenAI Python | openai | Python 3.8+ |
| OpenAI TypeScript | openai | Node.js 18+ |
SDK Python (polar-ai)
Instalação
pip install polar-aiConfiguraçã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/sdkyarn add @polar-ai/sdkpnpm add @polar-ai/sdkConfiguraçã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 openaifrom 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 openaiimport 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
- Quickstart — primeiro request em 5 minutos
- Modelos — conheça todos os modelos disponíveis
- Chat Completions — referência completa da API