API Codex da OpenAI: Início Rápido com Python
Este guia mostra como usar o LLM sem censura com SDKs padrão da OpenAI por meio da nossa API compatível com openai. Você pode começar a enviar solicitações imediatamente atualizando sua URL base e chave de API.
Instale o SDK Oficial
Use o SDK oficial para garantir compatibilidade com nossa API proxy openai. Esta abordagem funciona com qualquer biblioteca padrão que suporte o protocolo OpenAI.
- Instale o pacote via seu gerenciador de pacotes preferido.
- Verifique a instalação importando a biblioteca.
from openai import OpenAI
client = OpenAI(base_url="https://api.openaicodexapi.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaicodexapi.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);
Defina sua URL base e chave
Aponte seu cliente para nosso endpoint de gateway openai para acessar o modelo de IA sem censura. Substitua a URL base padrão pelo nosso endpoint específico.
- Defina a chave da API nas suas variáveis de ambiente.
- Configure a URL base para
https://api.openaicodexapi.com/v1.
Esta configuração garante que suas solicitações sejam roteadas corretamente para nossos servidores sem modificar a estrutura de código existente.
curl https://api.openaicodexapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Explain how prepaid billing works for this API."}]
}'
Envie sua primeira solicitação
Envie uma conclusão de texto simples para testar a conexão. Use o ID do modelo uncensored para a solicitação.
- Defina o conteúdo da mensagem.
- Execute a solicitação.
from openai import OpenAI
client = OpenAI(base_url="https://api.openaicodexapi.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaicodexapi.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);A resposta retorna o texto gerado diretamente.
Ativar Streaming e Modo JSON
Transmita respostas para baixa latência ou ative o modo JSON para dados estruturados. Defina stream=true para entrega de tokens em tempo real.
- Usar
response_formatpara saída JSON. - Lide com os chunks no seu código.
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)curl https://api.openaicodexapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Explain how prepaid billing works for this API."}]
}'O streaming ajuda você a exibir resultados parciais rapidamente.
Trate Ferramentas e Chamada de Função
Defina ferramentas na solicitação para habilitar chamada de funções. Especifique as definições de ferramentas e deixe o modelo decidir quando usá-las.
- Defina o esquema da função.
- Analise as chamadas de ferramenta na resposta.
from openai import OpenAI
client = OpenAI(base_url="https://api.openaicodexapi.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaicodexapi.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);Este recurso permite integração com sistemas externos.
Limites, Erros e Janela de Contexto
Monitore seu uso para evitar limites de taxa ou erros. A janela de contexto suporta 100.000 tokens no total.
- Lide com erros 401 para chaves inválidas.
- Trate erros 402 para crédito insuficiente.
- Trate erros 429 para limites de taxa.
curl https://api.openaicodexapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Explain how prepaid billing works for this API."}]
}'from openai import OpenAI
client = OpenAI(base_url="https://api.openaicodexapi.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaicodexapi.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)FAQ
O que é a API OpenAI Codex?
É uma API de LLM sem censura compatível com o protocolo OpenAI. Você pode usá-la com SDKs padrão atualizando a URL base.
Como lidar com erros?
Erros comuns incluem 401 para chaves inválidas, 402 para sem crédito e 429 para limites de taxa. Verifique o saldo da sua conta e a validade da chave.
Qual é o tamanho da janela de contexto?
A janela de contexto é de 100.000 tokens para prompt e conclusão combinados. A saída máxima é de 16.000 tokens por solicitação.
Obtenha sua chave de API
Registre-se, copie a chave e atualize a URL base. É só isso.