GPT-6 Luna
O GPT-6 Luna da OpenAI é um modelo de chat que também suporta decisões tipadas por meio da Decisions API. O modo de decisão é utilizado da mesma forma que o Jev: a requisição contém o conteúdo a ser avaliado e um conjunto de perguntas, e o modelo retorna, para cada pergunta, uma resposta estruturada acompanhada da respectiva probabilidade. Diferentemente do Jev, o GPT-6 Luna aceita imagens como entrada.
Esta página descreve o uso do GPT-6 Luna no modo de decisão. Para o uso no modo de chat, consulte Família GPT.
Escolha entre GPT-6 Luna e Jev
Com o mesmo conjunto de perguntas, os dois modelos produzem decisões essencialmente coincidentes: nos testes com o mesmo ticket de reembolso, ambos o identificaram como pedido de reembolso e o atribuíram a billing.
Início rápido
https://api.ofox.ai/v1openai/gpt-6-luna/v1/decisionsPOSTPara realizar a chamada com o SDK oficial da OpenAI para Python, instale uma versão que inclua client.decisions (pip install -U openai; versão 3.31.0 verificada). A criação da API Key está descrita em Jev · Início rápido.
import os
from openai import OpenAI
client = OpenAI(base_url="https://api.ofox.ai/v1", api_key=os.environ["OFOX_API_KEY"])
r = client.decisions.create(
model="openai/gpt-6-luna",
input="Customer message: I was charged twice and need a refund today.",
questions=[
{"type": "predicate", "name": "refund", "instructions": "Is the customer asking for a refund?"},
{
"type": "choice",
"name": "team",
"instructions": "Which team should handle this ticket?",
"choices": [
{"value": "billing", "description": "Charges, invoices, refunds"},
{"value": "technical", "description": "Outages, errors, integration issues"},
{"value": "other", "description": "None of the above"},
],
},
],
)
refund, team = r.answers
print(refund.probability, team.choice, team.confidence)Saída:
1.0 billing 1.0Decisões sobre imagens
Para enviar uma imagem, input deve ser um array de mensagens; a imagem é incluída em content como elemento input_image, no formato data URL base64. Também é possível incluir um elemento input_text que indique a origem da imagem.
import base64
import os
from openai import OpenAI
client = OpenAI(base_url="https://api.ofox.ai/v1", api_key=os.environ["OFOX_API_KEY"])
with open("product.jpg", "rb") as f:
image = "data:image/jpeg;base64," + base64.b64encode(f.read()).decode()
r = client.decisions.create(
model="openai/gpt-6-luna",
input=[{
"role": "user",
"content": [
{"type": "input_text", "text": "Product image uploaded by a user"},
{"type": "input_image", "image_url": image},
],
}],
questions=[
{"type": "predicate", "name": "has_text", "instructions": "Does the image contain any text?"},
{
"type": "choice",
"name": "shape",
"instructions": "What shape is on the left side of the image?",
"choices": [{"value": "circle"}, {"value": "square"}, {"value": "triangle"}, {"value": "other"}],
},
],
)
for a in r.answers:
print(a.name, getattr(a, "probability", None) or a.choice)
print(r.usage.prompt_tokens)Saída:
has_text 1.0
shape circle
538A imagem de exemplo mostra um círculo vermelho, um quadrado azul e uma linha de texto sobre fundo branco; as duas perguntas foram respondidas corretamente. A definição dos campos consta em Decisions API · Formato de entrada.
Elaboração de perguntas e preparação para produção
As seguintes seções da documentação do Jev também se aplicam ao GPT-6 Luna:
- Elaboração de perguntas: cobertura de todos os casos pelas opções, redação de descrições para as opções, definição de
namepara cada pergunta e significado dos campos retornados. - Preparação para produção: definição de limiares de confiança com amostras rotuladas manualmente e agrupamento de várias perguntas na mesma requisição.
Cobrança
O modo de decisão e o modo de chat são cobrados separadamente; os preços do modo de decisão constam na página do modelo . Nos testes, o campo usage retornado pelas requisições de decisão continha apenas prompt_tokens (incluindo a parte da imagem), sem completion_tokens.
Erros comuns
As mensagens de erro e as respectivas soluções estão descritas em Jev · Erros comuns e Decisions API · Erros comuns. Os erros relacionados à entrada de imagens no Jev não se aplicam ao GPT-6 Luna.
Documentação oficial
Perguntas frequentes
Qual é a diferença entre o modo de decisão e o modo de chat do GPT-6 Luna?
O modo de decisão é chamado por meio de /v1/decisions, responde apenas dentro das opções e níveis fornecidos e retorna probabilidades e confiança. O modo de chat é chamado por meio de /v1/chat/completions ou /v1/responses e gera uma resposta em texto. Os dois modos são cobrados separadamente.
Quando escolher o GPT-6 Luna e quando escolher o Jev?
Escolha o GPT-6 Luna para decisões sobre imagens; escolha o Jev quando apenas texto ou JSON forem processados e a velocidade de resposta for prioritária. Ambos utilizam o mesmo formato de requisição e os mesmos tipos de pergunta; para alternar entre eles, basta alterar model.
É possível utilizar o SDK da TypeSafe para chamar o GPT-6 Luna?
Sim. Nos testes, tanto /typesafe/v1/systemone quanto /openai/v1/decisions permitiram chamar openai/gpt-6-luna, da mesma forma que o Jev.