Python
Requer Python 3. Não depende de um SDK. Configure NEXVRA_BASE_URL terminada
em /v1, NEXVRA_API_KEY e NEXVRA_MODEL conforme os
primeiros passos.
"""Python 3: HTTP direto, sem SDK ou dependências externas."""import jsonimport osimport sysfrom urllib.error import HTTPErrorfrom urllib.request import HTTPRedirectHandler, Request, build_opener
class NoRedirect(HTTPRedirectHandler): def redirect_request(self, req, fp, code, msg, headers, newurl): return None
base_url = os.environ["NEXVRA_BASE_URL"].rstrip("/")api_key = os.environ["NEXVRA_API_KEY"]model = os.environ["NEXVRA_MODEL"]body = json.dumps({ "model": model, "messages": [{"role": "user", "content": "Olá! Responda em uma frase."}], "max_tokens": 128,}).encode()request = Request(base_url + "/chat/completions", data=body, headers={ "Authorization": "Bearer " + api_key, "Content-Type": "application/json",})try: with build_opener(NoRedirect).open(request, timeout=60) as response: result = json.load(response) print(result["choices"][0]["message"]["content"])except HTTPError as error: print(f"HTTP {error.code}; request-id={error.headers.get('x-nexvra-request-id', '')}", file=sys.stderr) print(error.read().decode("utf-8", errors="replace"), file=sys.stderr) sys.exit(1)Execute com python3 chat.py. O exemplo usa timeout de 60 segundos e mostra o
status e request-id em erros HTTP, sem repetir automaticamente a geração.
O timeout do cliente não altera o prazo imposto pelo servidor.