Docs
Python

Python

Use o Ignus Code com o SDK oficial da OpenAI para Python.

O Ignus Code é 100% compatível com o SDK openai para Python. Basta trocar a base_url.

Instalação

pip install openai

Ou com Poetry:

poetry add openai

Configuração básica

client.py
import os
from openai import OpenAI
 
client = OpenAI(
    base_url="https://proxy.ignustec.com.br/v1",
    api_key=os.environ["IGNUS_API_KEY"],
)

Defina IGNUS_API_KEY no seu arquivo .env e carregue com python-dotenv ou outro método de sua preferência.

Chat Completion

chat.py
response = client.chat.completions.create(
    model="gpt-4o",
    messages=[
        {"role": "system", "content": "Você é um assistente técnico."},
        {"role": "user",   "content": "O que é um decorator em Python?"},
    ],
    temperature=0.7,
    max_tokens=512,
)
 
print(response.choices[0].message.content)

Streaming

stream.py
stream = client.chat.completions.create(
    model="claude-sonnet-4",
    messages=[{"role": "user", "content": "Escreva uma função de merge sort em Python."}],
    stream=True,
)
 
for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

Conversa com histórico

conversation.py
messages = [
    {"role": "system", "content": "Você é um tutor de programação paciente."}
]
 
while True:
    user_input = input("Você: ")
    if user_input.lower() in ("sair", "exit"):
        break
 
    messages.append({"role": "user", "content": user_input})
 
    response = client.chat.completions.create(
        model="llama-3.3-70b",
        messages=messages,
    )
 
    assistant_msg = response.choices[0].message.content
    messages.append({"role": "assistant", "content": assistant_msg})
    print(f"Assistente: {assistant_msg}\n")

Trocar de modelo dinamicamente

model_switch.py
def ask(question: str, model: str = "gpt-4o-mini") -> str:
    response = client.chat.completions.create(
        model=model,
        messages=[{"role": "user", "content": question}],
    )
    return response.choices[0].message.content
 
# Barato para classificação
tag = ask("Classifique: 'Meu pedido não chegou'. Responda só com: reclamação ou dúvida.",
          model="llama-3.3-70b")
 
# Melhor para geração
answer = ask("Elabore uma resposta empática para um cliente com pedido atrasado.",
             model="claude-sonnet-4")

Variáveis de ambiente recomendadas

.env
IGNUS_API_KEY=sk_ic_xxxxxxxxxxxxxxxxxxxx
main.py
from dotenv import load_dotenv
load_dotenv()
 
import os
from openai import OpenAI
 
client = OpenAI(
    base_url="https://proxy.ignustec.com.br/v1",
    api_key=os.environ["IGNUS_API_KEY"],
)