INTRODUÇÃO
Primeiros passos
A iSol API fala o padrão OpenAI. Se a sua aplicação já conversa com uma API de IA, o trabalho aqui é trocar duas linhas de configuração: o endereço e a chave. Nenhum SDK novo, nenhuma reescrita.
Comece por aqui
Primeiros passos
Crie a conta, gere a chave e faça a primeira chamada à API.
Autenticação
Onde a chave vive, como usá-la e como girar sem derrubar nada.
O padrão de gateway
Por que um endereço só para todas as ferramentas do time.
Ida para produção
O que conferir antes de apontar a carga real para cá.
Fluxo recomendado de integração
A chave de API
A chave nasce no portal do cliente, em API keys. Ela identifica a aplicação, carrega o pacote de tokens contratado e é a unidade de medida do consumo. Gere uma por aplicação: é o que permite saber qual sistema gastou o quê, e revogar um sem derrubar os outros.
A chave viaja no cabeçalho Authorization, como em qualquer API no padrão
OpenAI:
Authorization: Bearer sk-...
A base URL
Este é o endereço que substitui o do seu provedor atual:
https://tokens.4clouders.com/v1
Em quase toda biblioteca isso é um campo só. Em Python, com o cliente oficial da OpenAI:
from openai import OpenAI
client = OpenAI(
base_url="https://tokens.4clouders.com/v1",
api_key="sk-...",
)
resp = client.chat.completions.create(
model="isol-4.9",
messages=[{"role": "user", "content": "Em uma frase: o que e IA soberana?"}],
)
print(resp.choices[0].message.content)
Para conversa, código e leitura de documento, o modelo é isol-4.9. É um
só, e é o que responde em toda a série de guias deste blog. Se a sua chave também tiver
mídia liberada, aparecem mais três nomes na lista, cada um com um endereço próprio:
| Modelo | Para quê | Onde se chama |
|---|---|---|
isol-4.9 | Conversa, código, análise e leitura de imagem | POST /v1/chat/completions |
isol-image | Geração de imagem | POST /v1/images/generations |
isol-image-text | Imagem quando o texto dentro dela precisa sair legível | POST /v1/images/generations |
isol-video | Geração de vídeo | POST /v1/videos |
Se a sua chave é só de texto, a lista traz apenas o primeiro. Vale sempre confiar no
que /v1/models devolve, e não numa lista escrita em algum lugar: é a chave
que decide.
A primeira chamada
Antes de mexer na aplicação, vale um teste direto do terminal. Primeiro, quais modelos a chave alcança:
curl -s https://tokens.4clouders.com/v1/models \
-H "Authorization: Bearer $ISOL_API_KEY"
from openai import OpenAI
client = OpenAI(base_url="https://tokens.4clouders.com/v1", api_key="sk-...")
for m in client.models.list():
print(m.id)
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://tokens.4clouders.com/v1",
apiKey: process.env.ISOL_API_KEY,
});
const models = await client.models.list();
console.log(models.data.map((m) => m.id));
Depois, uma conversa:
curl -s https://tokens.4clouders.com/v1/chat/completions \
-H "Authorization: Bearer $ISOL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "isol-4.9",
"messages": [{"role": "user", "content": "Diga oi em uma linha."}]
}'
resp = client.chat.completions.create(
model="isol-4.9",
messages=[{"role": "user", "content": "Diga oi em uma linha."}],
)
print(resp.choices[0].message.content)
const resp = await client.chat.completions.create({
model: "isol-4.9",
messages: [{ role: "user", content: "Diga oi em uma linha." }],
});
console.log(resp.choices[0].message.content);
Se as duas responderem, sua integração está pronta. O que vier depois é a mesma coisa que você já fazia.
FUNCIONOU
A parte difícil acabou aqui
Se as duas chamadas responderam, o resto é o que você já sabe fazer. Daqui para frente é só volume, e volume tem painel.
Painel de consumo
Cada chave tem um extrato próprio. O portal mostra o gasto acumulado, e a mesma informação está disponível pela API, útil para colocar num painel interno ou num alerta:
curl -s https://tokens.4clouders.com/key/info \
-H "Authorization: Bearer $ISOL_API_KEY"
É por isso que a chave por aplicação importa: sem ela, o extrato vira um número só e ninguém sabe qual automação passou do previsto.
Ida para produção
- Uma chave por aplicação. Não compartilhe a mesma chave entre sistemas.
- A chave fora do código. Variável de ambiente ou gerenciador de segredos.
- Alerta de gasto ligado. Um agente que trava em repetição durante a noite reprocessa o mesmo trabalho milhares de vezes; o alerta é o que acorda alguém antes da fatura.
- Reaproveite o que já existe. Se a ferramenta que você usa está na lista ao lado, o guia dela tem a configuração exata, testada contra este mesmo endereço.
Sua ferramenta já está aqui
Cada guia abaixo foi escrito com uma sessão real contra este endpoint, e mostra a tela exata onde a configuração muda. Escolha a sua e siga o passo a passo:
Ficou preso em algum passo? Fale com quem opera a plataforma: WhatsApp da engenharia.