Ir para o conteúdo

Migrando da OpenAI

A Assistants API da OpenAI está sendo desligada — aqui ela continua: troque a base URL e a chave.

Atualizado em 10 de ago. de 2026

A OpenAI marcou a Assistants API para desligamento definitivo. Se a sua aplicação depende de assistentes, threads e runs, você não precisa reescrevê-la para outro paradigma: a HINOW mantém a mesma superfície, ativamente. A migração são três mudanças — base URL, chave e modelo.

from openai import OpenAI
import os

client = OpenAI(
    api_key=os.environ["HINOW_API_KEY"],       # hi_...
    base_url="https://api.hinow.ai/v1",
)

assistant = client.beta.assistants.create(
    model="hinow/himax",
    name="Analista",
    instructions="Você é um analista objetivo.",
)

run = client.beta.threads.create_and_run_poll(
    assistant_id=assistant.id,
    thread={"messages": [{"role": "user", "content": "Qual a capital da França?"}]},
)
print(run.status)  # completed

O que continua igual

  • Objetos e camposassistant, thread, thread.message, thread.run, thread.run.step, file, vector_store, com os mesmos nomes de campos e envelopes de lista (first_id, last_id, has_more).
  • Estados do runqueuedin_progressrequires_actioncompleted / incomplete / failed / cancelled / expired.
  • Eventos de streamingthread.run.*, thread.run.step.*, thread.message.*, done/[DONE].
  • Erros{"error": {"message", "type", "param", "code"}}.
  • Ferramentasfile_search, function (com requires_action/submit_tool_outputs) e o formato do code_interpreter.
  • Paginaçãolimit, order, after, before.

O que observar

TemaAqui
ModeloUse o catálogo HINOW — hinow/himax é a recomendação. Os nomes de modelo usados no código antigo são aceitos como alias e mapeados para o catálogo.
Header OpenAI-BetaDesnecessário; se o SDK enviar, é ignorado.
Run concorrenteSegundo run na mesma thread → 400 invalid_request_error (na OpenAI o código variou entre versões — trate pelo type).
Prazo do run10 minutos, incluindo a espera em requires_action.
UploadAté 25 MB por arquivo.
Listar threadsGET /v1/threads existe aqui (extensão) — a OpenAI nunca ofereceu.
code_interpreterAceito para compatibilidade; execução em desenvolvimento — veja a página Interpretador de código.

Cobrança transparente

Cada run cobra apenas as chamadas de modelo que fizer, na mesma tabela do chat/completions — o usage do run (prompt, completion e total de tokens) mostra exatamente o que foi consumido.