ernie-5.0-thinking-latest
ERNIE 5.0 Thinking combina razonamiento profundo, escritura, comprensión visual y tareas conectadas con herramientas. El perfil Preview documentado tiene un contexto de 128K, una entrada máxima de 119K y ajustes de salida final de hasta 65,536 tokens, con un presupuesto de razonamiento independiente.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsernie-5.0-thinking-latest - Ailoot Ultra · Anthropic Messages
POST /v1/messagesernie-5.0-thinking-latest
Sobre el modelo
Esta descripción cubre las capacidades del modelo. Las entradas, salidas y opciones disponibles en Ailoot se indican a continuación para el método seleccionado.
ERNIE 5.0 Thinking es la familia de modelos de Baidu orientada al razonamiento para preguntas complejas, redacción, seguimiento de instrucciones y tareas conectadas a aplicaciones. El perfil Thinking Preview con nombre propio del fabricante combina razonamiento profundo con comprensión visual y compatibilidad con planeación y uso de herramientas. Su flujo de respuestas de texto es distinto de tratar las capacidades de generación multimodal de toda la familia de investigación ERNIE 5.0 como un único contrato de solicitud intercambiable.
Prepara las pruebas para el resultado deseado
Indica la pregunta, el material que se puede usar y las condiciones que debe cumplir la respuesta. Una comparación de investigación puede definir los criterios y solicitar las pruebas que respaldan cada conclusión. Una tarea de redacción puede proporcionar el público, los datos de referencia y la estructura deseada. Una pregunta de programación puede identificar el comportamiento que se cambiará y el fragmento de código fuente pertinente. Mantén el entregable final lo suficientemente específico para poder inspeccionarlo.
Para la comprensión visual, proporciona material que muestre con claridad el elemento pertinente e indica la pregunta sobre él. Una gráfica o una imagen de un documento necesita etiquetas legibles y el contexto que establece el significado de sus valores. Comprueba el texto importante y los detalles numéricos frente al material original. La finalidad de comprensión visual del modelo no elimina la necesidad de conservar la fuente junto con la interpretación devuelta.
Los presupuestos documentados de Preview
La tabla de AI Studio de Baidu indica para el perfil Thinking Preview un contexto de 128K y una entrada máxima de 119K. La tabla en chino establece ajustes de salida final de hasta 65,536 tokens y un valor predeterminado de 2K, y enumera por separado una longitud de pensamiento de 60K. Mantén cada límite en su función: el contexto de la tarea, el razonamiento generado y la respuesta final solicitada son partes distintas de un resultado útil.
Un límite amplio de entrada permite incluir documentos relacionados, mientras que la respuesta solicitada debe seguir correspondiendo a la decisión o al entregable necesario. Para una comparación, solicita una tabla compacta de pruebas y la conclusión que se desprende de ellas en lugar de repetir cada fragmento proporcionado. Para una respuesta técnica, conserva el caso de entrada y el comportamiento esperado que hacen verificable el resultado. La especificación del perfil Preview con nombre propio no debe convertirse en una garantía sobre la revisión subyacente de un selector posterior que se actualice.
Herramientas, búsqueda y texto estructurado
El índice de funciones del fabricante incluye el perfil Thinking Preview para llamadas a funciones, mejora mediante búsqueda y salida estructurada. Define una función de la aplicación y los argumentos que necesita, ejecuta en la aplicación la solicitud devuelta y proporciona el resultado real para continuar. Un plan de un agente no es por sí mismo una prueba de que las operaciones planeadas hayan terminado.
Una respuesta basada en fuentes debe conservar las pruebas recuperadas y distinguirlas de los antecedentes proporcionados o de una inferencia. Un registro estructurado debe definir los campos obligatorios y la manera de representar la información faltante, y sus valores devueltos deben comprobarse frente a la fuente. Los detalles nativos de formato de respuesta y herramientas corresponden a la interfaz del fabricante seleccionada; el requisito práctico básico es un resultado de texto rastreable, en lugar de un campo completado de forma plausible pero sin respaldo.
Inspecciona y continúa la tarea
El entregable útil puede ser una comparación razonada, un borrador, una explicación relacionada con código o una respuesta apoyada por herramientas. Revisa los identificadores, cálculos e interpretaciones importantes frente al material que los sustenta. Mantén visible en la conclusión cualquier consulta incompleta o fuente contradictoria, en lugar de ocultar una laguna con una redacción fluida.
La familia Thinking, el perfil Preview con nombre propio y las generaciones posteriores de ERNIE tienen selectores y condiciones documentadas distintos. Conserva juntos la tarea, el material de referencia, las pruebas de herramientas completadas y la respuesta final. Así, el siguiente turno será una corrección o ampliación específica de la misma investigación, en lugar de una reconstrucción sin fundamento del trabajo anterior.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions ernie-5.0-thinking-latest
ernie-5.0-thinking-latestInicio
ERNIE 5.0 Thinking combina razonamiento profundo, escritura, comprensión visual y tareas conectadas con herramientas. El perfil Preview documentado tiene un contexto de 128K, una entrada máxima de 119K y ajustes de salida final de hasta 65,536 tokens, con un presupuesto de razonamiento independiente.
- Entradas aceptadas
- Texto
- Resultados
- Texto
Disponible en Ailoot · entradas y métodos
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Entrada
text- Salida
text- Formato de salida
- json o SSE
| Campo | Tipo | Requisito | Valores y límites | Predeterminado |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObligatorio | Valores y límites ernie-5.0-thinking-latest | Predeterminado— |
Campomessages | Tipomessage[] | RequisitoObligatorio | Valores y límites Número mínimo de elementos: 1 | Predeterminado— |
Campomessages[].role | Tipostring | RequisitoObligatorio | Valores y límites Depende del modelo | Predeterminado— |
Campomessages[].content | Tipostring | RequisitoOpcional | Valores y límites Se aplica cuando: Conversación textual | Predeterminado— |
Campostream | Tipoboolean | RequisitoOpcional | Valores y límites | Predeterminadofalse |
Combinaciones de materiales de entrada
Texto · Texto UTF8
messages[].content
Parámetros del método y ciclo de vida
| Parámetro | Contrato |
|---|---|
Parámetrocontent_type | Contratoapplication/json |
Parámetrorequired | Contratomodel, messages |
Parámetromaterial_types | Contratotext |
Parámetromessages | Contratomatriz de mensajes con estructura role/content |
Parámetrofile_material | Contratodocumento real en UTF-8 insertado como texto literal; no se deduce ningún ID de archivo |
Parámetrooptional_controls | Contratostream |
Parámetrocontrol_scope | ContratoConversación textual; stream es un booleano y su valor predeterminado es false. |
Parámetrooutput_modalities | Contratotext |
Parámetrohosted_operations | Contratofalse |
Parámetromultimodal_input_binding | Contratonull |
Alias de método: /chat/completions
Ciclo de vida: synchronous_or_streamed
Envía el ID exacto del modelo junto con messages.
La longitud del contexto no es un límite máximo de salida.
Un archivo de texto puede aportar texto literal; las entradas de imagen, audio u objetos de archivo requieren una vinculación exacta.
Tarifas
Las referencias tarifarias no añaden opciones a la solicitud. Los parámetros admitidos se indican en el método seleccionado.
- Modo fast
- Sin especificar Cuando se selecciona el modo fast
- Modo flex
- Sin especificar Cuando se selecciona el modo flex
- Esfuerzo máximo de razonamiento
- Sin especificar Cuando el esfuerzo máximo de razonamiento usa el ajuste default
Tarifas de Ailoot
Precios por configuración
| Configuración | Tabla de tarifas | Cargo |
|---|---|---|
| ConfiguraciónTarifas base por token | Tabla de tarifasTarifa base | Cargo Entrada · Tokens de entrada $0.001892 / 1K tokens Salida · Tokens de salida $0.003146 / 1K tokens Entrada · Lectura de caché $0 / 1K tokens Entrada · Escritura en caché $0 / 1K tokens Entrada · Escritura en caché, 1 hora — / 1K tokens |
Ailoot reserva un monto estimado antes de la solicitud. Tras obtener el resultado, liquida el cargo definitivo según el uso medido. En las respuestas en flujo, la liquidación usa el registro de uso final. Cómo funcionan la reserva y la liquidación →
Solicitudes de ejemplo
Ailoot Ultra · OpenAI Chat
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model":"ernie-5.0-thinking-latest","messages":[{"role":"user","content":"hello"}],"stream":false}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
from openai import OpenAI
import os
if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model="ernie-5.0-thinking-latest", messages=[{"role":"user","content":"hello"}], stream=False)
import base64, json
from pathlib import Path
def save_result(data, stem="result"):
# Keep every field, including usage, IDs, reasoning and tool requests.
Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
print(json.dumps(data, ensure_ascii=False, indent=2))
def save_blob(encoded, suffix, label):
raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
file = Path(stem + "-" + label + "." + ext)
file.write_bytes(raw)
print("Saved", file)
for index, block in enumerate(data.get("content") or []):
print("Content", index, json.dumps(block, ensure_ascii=False))
for choice in data.get("choices") or []:
print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
for index, item in enumerate(data.get("output") or []):
print("Output", index, json.dumps(item, ensure_ascii=False))
if item.get("type") == "image_generation_call" and item.get("result"):
save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
for ci, candidate in enumerate(data.get("candidates") or []):
for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
blob = part.get("inlineData") or part.get("inline_data")
if blob and blob.get("data"):
mime = blob.get("mimeType") or blob.get("mime_type")
suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))
save_result(result.to_dict(mode="json"))
Recibir y guardar resultados
Ailoot Ultra · OpenAI Chat
json o SSE
Conserva todos los resultados completados
Conserva todas las respuestas, archivos y partes de contenido completos recibidos.
Conserva cada alternativa y su contenido, llamadas de herramientas y razonamiento. En SSE, ensambla los fragmentos incrementales por índice de alternativa/herramienta y conserva el motivo final de terminación y el uso.
Si es necesario revisar la respuesta original
Conserva los ID de solicitud y respuesta y los encabezados. No se proporciona una URL genérica para recuperar tareas de texto.
Campos de respuesta
| Campo | Tipo |
|---|---|
Campochoices[].index | Tipointeger |
Campochoices[].message.content | Tipostring|null |
Campochoices[].message.tool_calls | Tipotool_call[] |
Campochoices[].message.reasoning_content | Tipostring |
Campochoices[].message.reasoning_details | Tipoobject|array |
Campochoices[].finish_reason | Tipostring|null |
Campousage | Tipoobject |
Errores y siguientes pasos
| Respuesta | Condición | Siguiente paso |
|---|---|---|
Respuesta400 · invalid_request_error | CondiciónCampos obligatorios, representación del material o valor del parámetro no válidos | Siguiente pasoCorrige los campos indicados antes de una nueva solicitud de creación. |
Alias
Alias del modelo
Ailoot Ultra ernie-5.0-thinking-latest
Alias de rutas de métodos
/chat/completions
ID de modelo relacionados
Ailoot Ultra · Anthropic Messages POST /v1/messages ernie-5.0-thinking-latest
ernie-5.0-thinking-latestInicio
ERNIE 5.0 Thinking combina razonamiento profundo, escritura, comprensión visual y tareas conectadas con herramientas. El perfil Preview documentado tiene un contexto de 128K, una entrada máxima de 119K y ajustes de salida final de hasta 65,536 tokens, con un presupuesto de razonamiento independiente.
- Entradas aceptadas
- Texto
- Resultados
- json · sse
Disponible en Ailoot · entradas y métodos
Ailoot Ultra · Anthropic Messages POST /v1/messages
- Entrada
text- Salida
json,sse- Formato de salida
- JSON o SSE
| Campo | Tipo | Requisito | Valores y límites | Predeterminado |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObligatorio | Valores y límites ernie-5.0-thinking-latest | Predeterminado— |
Campomessages | Tipomessage[] | RequisitoObligatorio | Valores y límites | Predeterminado— |
Campomessages[].role | Tipostring | RequisitoObligatorio | Valores y límites user, assistant | Predeterminado— |
Campomessages[].content | Tipostring | RequisitoObligatorio | Valores y límites | Predeterminado— |
Campomax_tokens | Tipointeger | RequisitoObligatorio | Valores y límites | Predeterminado— |
Campostream | Tipoboolean | RequisitoOpcional | Valores y límites | Predeterminadofalse |
Combinaciones de materiales de entrada
Texto · Texto UTF-8
cadena messages[].content
Parámetros del método y ciclo de vida
| Parámetro | Contrato |
|---|---|
Parámetrocontent_type | Contratoapplication/json |
Parámetrorequired | Contratomodel, messages, max_tokens |
Parámetrooptional_controls | Contratostream |
Parámetromaterial_types | Contratotext |
Parámetrotext_file_material | ContratoLee el documento real en UTF-8 y coloca su texto en el campo input indicado o en la cadena de contenido del mensaje. |
Ciclo de vida: synchronous_or_streamed
Tarifas
Las referencias tarifarias no añaden opciones a la solicitud. Los parámetros admitidos se indican en el método seleccionado.
- Modo fast
- Sin especificar Cuando se selecciona el modo fast
- Modo flex
- Sin especificar Cuando se selecciona el modo flex
- Esfuerzo máximo de razonamiento
- Sin especificar Cuando el esfuerzo máximo de razonamiento usa el ajuste default
Tarifas de Ailoot
Precios por configuración
| Configuración | Tabla de tarifas | Cargo |
|---|---|---|
| ConfiguraciónTarifas base por token | Tabla de tarifasTarifa base | Cargo Entrada · Tokens de entrada $0.001892 / 1K tokens Salida · Tokens de salida $0.003146 / 1K tokens Entrada · Lectura de caché $0 / 1K tokens Entrada · Escritura en caché $0 / 1K tokens Entrada · Escritura en caché, 1 hora — / 1K tokens |
Ailoot reserva un monto estimado antes de la solicitud. Tras obtener el resultado, liquida el cargo definitivo según el uso medido. En las respuestas en flujo, la liquidación usa el registro de uso final. Cómo funcionan la reserva y la liquidación →
Solicitudes de ejemplo
Ailoot Ultra · Anthropic Messages
{
"model": "ernie-5.0-thinking-latest",
"max_tokens": 128,
"messages": [
{
"role": "user",
"content": "Summarize the incident report."
}
],
"stream": false
}set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'ernie-5.0-thinking-latest', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
-H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'ernie-5.0-thinking-latest', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError
api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
with urlopen(request, timeout=120) as response:
raw = response.read()
Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
Path('result.json').write_bytes(error.read())
Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
Recibir y guardar resultados
Ailoot Ultra · Anthropic Messages
JSON o SSE
Conserva todos los resultados completados
Conserva todas las respuestas, archivos y partes de contenido completos recibidos.
Conserva todos los bloques de contenido, las firmas de razonamiento y los ID reales de uso de herramientas. Ensambla todos los fragmentos incrementales de los bloques SSE; el primer bloque de texto no constituye la salida completa.
Si es necesario revisar la respuesta original
Conserva los ID de solicitud y respuesta y los encabezados. No se proporciona una URL genérica para recuperar tareas de texto.
Campos de respuesta
| Campo | Tipo |
|---|---|
Campoid | Tipostring |
Campomodel | Tipostring |
Campocontent[] | Tipotext|thinking|tool_use|other content block |
Campostop_reason | Tipostring|null |
Campousage | Tipoobject |
Errores y siguientes pasos
| Respuesta | Condición | Siguiente paso |
|---|---|---|
Respuesta400 · invalid_request_error | CondiciónCampos obligatorios, representación del material o valor del parámetro no válidos | Siguiente pasoCorrige los campos indicados antes de una nueva solicitud de creación. |
Alias
Alias del modelo
Ailoot Ultra ernie-5.0-thinking-latest
Alias de rutas de métodos
/chat/completions
ID de modelo relacionados
FAQ · ernie-5.0-thinking-latest
- ¿Qué entradas y resultados están disponibles?
POST /v1/chat/completions·ernie-5.0-thinking-latest:text→textPOST /v1/messages·ernie-5.0-thinking-latest:text→json,sse- ¿Qué campos utiliza la solicitud?
POST /v1/chat/completions·ernie-5.0-thinking-latest:model,messages,streamPOST /v1/messages·ernie-5.0-thinking-latest:model,messages,max_tokens,stream- ¿Qué límites se aplican?
POST /v1/chat/completions·ernie-5.0-thinking-latest:messages.min_items:1