GPT-6 Luna
GPT-6 Luna от OpenAI является чат-моделью и одновременно поддерживает типизированные решения через Decisions API. Режим решений используется так же, как Jev: в запросе передаются оцениваемое содержимое и набор вопросов, а модель возвращает на каждый вопрос структурированный ответ с вероятностями. В отличие от Jev, GPT-6 Luna поддерживает ввод изображений.
На этой странице описано использование GPT-6 Luna в режиме решений. Использование в режиме чата описано в разделе Семейство GPT.
Выбор между GPT-6 Luna и Jev
Для одного и того же набора вопросов результаты двух моделей в целом совпадают: по результатам измерений для одного и того же обращения о возврате обе модели определили запрос на возврат и назначили его команде billing.
Быстрый старт
https://api.ofox.ai/v1openai/gpt-6-luna/v1/decisionsPOSTДля вызова через официальный Python SDK OpenAI требуется версия, содержащая client.decisions (pip install -U openai; работа проверена на версии 3.31.0). Порядок создания API Key описан в разделе Jev · Быстрый старт.
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)Вывод:
1.0 billing 1.0Решения по изображениям
При передаче изображения поле input должно содержать массив сообщений, в content которого изображение передаётся как input_image в виде base64 data URL. Дополнительно можно передать фрагмент input_text с описанием источника изображения.
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)Вывод:
has_text 1.0
shape circle
538Тестовое изображение содержит красный круг, синий квадрат и строку текста на белом фоне; на оба вопроса получены верные ответы. Определения полей приведены в разделе Decisions API · Формат ввода.
Проектирование вопросов и подготовка к эксплуатации
Следующие разделы документации Jev применимы также к GPT-6 Luna:
- Проектирование вопросов: варианты должны охватывать все случаи, описания вариантов, задание
nameдля вопросов, а также значение возвращаемых полей. - Подготовка к эксплуатации: настройка порога уверенности на выборке, размеченной вручную, и объединение нескольких вопросов в одном запросе.
Тарификация
Режим решений и режим чата тарифицируются раздельно; цены режима решений указаны на странице модели . По результатам измерений поле usage в ответе на запрос решения содержит только prompt_tokens (включая часть, приходящуюся на изображение) и не содержит completion_tokens.
Типичные ошибки
Сообщения об ошибках и способы их устранения приведены в разделах Jev · Типичные ошибки и Decisions API · Типичные ошибки. Ошибки, связанные с передачей изображений в Jev, к GPT-6 Luna не относятся.
Официальная документация
Часто задаваемые вопросы
Чем режим решений GPT-6 Luna отличается от режима чата?
Режим решений вызывается через /v1/decisions: модель отвечает только в пределах заданных вариантов и уровней и возвращает вероятности и уверенность. Режим чата вызывается через /v1/chat/completions или /v1/responses и генерирует текстовый ответ. Два режима тарифицируются раздельно.
В каких случаях выбирать GPT-6 Luna, а в каких — Jev?
Для решений по изображениям выбирайте GPT-6 Luna; если обрабатываются только текст или JSON и требуется высокая скорость ответа, выбирайте Jev. Формат запроса и типы вопросов у обеих моделей одинаковы, поэтому для переключения достаточно изменить model.
Можно ли вызывать GPT-6 Luna через TypeSafe SDK?
Да. По результатам измерений openai/gpt-6-luna можно вызывать как через /typesafe/v1/systemone, так и через /openai/v1/decisions, так же как и Jev.