inclusionAI: Ling 3.1 Flash
Ling 3.1 Flash é o modelo de raciocínio híbrido da inclusionAI para trabalho de escritório, desenvolvimento de software prolongado e agentes complexos. A sua arquitetura esparsa de 560 mil milhões de parâmetros ativa cerca de 25 mil milhões por token, suportando planeamento em vários passos, interação com ferramentas e revisões a partir de resultados intermédios.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsinclusionai/ling-3.1-flash - Ailoot Ultra · Anthropic Messages
POST /v1/messagesinclusionai/ling-3.1-flash
Sobre o modelo
Esta descrição apresenta as capacidades do modelo. As entradas, saídas e opções disponíveis no Ailoot para o método selecionado estão indicadas abaixo.
Ling 3.1 Flash é o modelo de linguagem de raciocínio híbrido da inclusionAI para tarefas que envolvem várias etapas, em vez de uma única resposta curta. O fabricante posiciona-o para trabalho de escritório quotidiano, engenharia de software prolongada e fluxos de trabalho de agentes complexos. Utiliza uma arquitetura de mistura de especialistas com aproximadamente 560 mil milhões de parâmetros totais e cerca de 25 mil milhões ativos por token, equilibrando uma grande capacidade de modelo com uma quantidade menor de computação ativa.
O seu principal objetivo de conceção é manter o estado da tarefa e corrigir o rumo de trabalhos mais longos. Num fluxo de trabalho ligado a ferramentas, o modelo pode planear vários passos, interpretar resultados intermédios e rever o passo seguinte quando as evidências mudam. Forneça um objetivo preciso, os materiais disponíveis e uma definição de conclusão. Por exemplo: «Reveja estas notas de incidente, identifique as causas por resolver e produza um plano de investigação por ordem de prioridade. Para cada ação, indique as evidências necessárias para decidir se funcionou.» Isto transforma um pedido vago num resultado que pode ser examinado e continuado.
Para trabalho de escritório, as entradas úteis incluem notas de origem, texto extraído de documentos, tabelas com definições claras das colunas e o público a que se destina um relatório. Indique o período, as unidades e a comparação a utilizar. Peça um documento escrito, como uma síntese para a gestão, uma estrutura de relatório ou uma explicação das alterações importantes. Um exemplo é: «Utilizando apenas estas tabelas trimestrais, explique as maiores alterações, distinga os valores observados dos pressupostos e redija uma síntese com as perguntas sem resposta no fim.» Mantenha as identificações das fontes na entrada para permitir associar as afirmações resultantes ao material correto.
Para desenvolvimento de software, o fabricante destaca refatorização entre linguagens, otimização de desempenho e análise de áreas de utilização frequente de uma base de código. Forneça os ficheiros relevantes em texto, o comportamento a preservar, as versões das dependências e quaisquer resultados com falhas ou medições. Um pedido útil solicita uma alteração proposta e as verificações necessárias para a avaliar: «Refatore este analisador, preservando o formato de saída documentado. Explique o comportamento afetado, apresente o código revisto e identifique casos que revelariam uma regressão.» Para trabalho de desempenho, forneça perfis ou tempos efetivos e peça que cada recomendação seja ligada a um estrangulamento medido.
Para análise profissional, reúna as regras, definições e evidências relevantes antes de pedir uma recomendação. Ling 3.1 Flash destina-se a sintetizar informação dispersa, interpretar indicadores e desenvolver sugestões de ação. Peça uma comparação que explicite os pressupostos e as informações ainda necessárias, em vez de um veredicto sem fundamento. Por exemplo, forneça várias propostas de projeto e peça um memorando de decisão que aplique os mesmos critérios a cada uma, distinguindo observações sustentadas nas fontes de consequências inferidas. Quando as evidências forem contraditórias, peça as passagens em conflito e a pergunta que permitiria resolvê-lo.
O fabricante distingue um limite de contexto do modelo de 1M de tokens do contexto de 256K atualmente disponibilizado pelo seu serviço oficial. Estes valores descrevem limites diferentes. Organize o material de trabalho em função da janela aplicável e reserve espaço para a resposta; um limite ao nível do modelo não significa que todas as interfaces aceitem esse volume de entrada. Para uma tarefa extensa, mantenha juntos o objetivo, as decisões concluídas, as perguntas por resolver e as referências às fontes. Delimite explicitamente documentos e código para que o material a analisar não seja confundido com instruções a seguir.
Prepare tarefas ligadas a ferramentas com descrições claras das ferramentas, argumentos esperados e registos úteis dos resultados. Devolva os resultados efetivos à conversa para que a proposta seguinte se baseie em observações. Peça ao modelo que explique o que um resultado devolvido altera e quais as evidências ainda em falta. A conceção do modelo orientada para agentes suporta este padrão de planeamento e feedback; a aplicação envolvente executa os passos das ferramentas e preserva os resultados. Uma proposta de comando, alteração de código ou relatório é mais útil quando o seu estado é claro: sugerido, executado com um resultado registado ou ainda por verificar.
Ling 3.1 Flash pertence à linha de modelos de linguagem; a edição separada Ling 3.0 Flash VL é o modelo visual do fabricante. Para esta tarefa de texto, prepare conteúdo de origem textual e preserve a sua estrutura, identificações e proveniência. Especifique o idioma e a forma da saída, como um memorando conciso, uma tabela de conclusões, uma explicação de alteração ou um plano numerado. Peça ao modelo que assinale informações em falta e confira o documento solicitado com as restrições originais. Fluxos de trabalho longos continuam a exigir inspeção dos resultados intermédios: caso contrário, um pressuposto inicial errado pode transitar para raciocínios posteriores e ser aperfeiçoado até se tornar num relatório final convincente.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions inclusionai/ling-3.1-flash
inclusionai/ling-3.1-flashIntrodução
Ling 3.1 Flash é o modelo de raciocínio híbrido da inclusionAI para trabalho de escritório, desenvolvimento de software prolongado e agentes complexos. A sua arquitetura esparsa de 560 mil milhões de parâmetros ativa cerca de 25 mil milhões por token, suportando planeamento em vários passos, interação com ferramentas e revisões a partir de resultados intermédios.
- Entradas aceites
- Texto
- Resultados
- Texto
Disponível no Ailoot · entradas e métodos
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Entrada
text- Saída
text- Formato de saída
- json ou SSE
| Campo | Tipo | Requisito | Valores e limites | Predefinição |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObrigatório | Valores e limites inclusionai/ling-3.1-flash | Predefinição— |
Campomessages | Tipomessage[] | RequisitoObrigatório | Valores e limites Número mínimo de elementos: 1 | Predefinição— |
Campomessages[].role | Tipostring | RequisitoObrigatório | Valores e limites Depende do modelo | Predefinição— |
Campomessages[].content | Tipostring | RequisitoOpcional | Valores e limites Aplica-se quando: Conversação textual | Predefinição— |
Campostream | Tipoboolean | RequisitoOpcional | Valores e limites | Predefiniçãofalse |
Combinações de materiais de entrada
Texto · Texto UTF8
messages[].content
Parâmetros e ciclo de vida do método
| Parâmetro | Contrato |
|---|---|
Parâmetrocontent_type | Contratoapplication/json |
Parâmetrorequired | Contratomodel, messages |
Parâmetromaterial_types | Contratotext |
Parâmetromessages | ContratoLista de mensagens com estrutura role/content |
Parâmetrofile_material | ContratoDocumento UTF-8 real inserido como texto literal; nenhum ID de ficheiro inferido |
Parâmetrooptional_controls | Contratostream |
Parâmetrocontrol_scope | ContratoConversação textual; stream é um booleano e tem false como predefinição. |
Parâmetrooutput_modalities | Contratotext |
Parâmetrohosted_operations | Contratofalse |
Parâmetromultimodal_input_binding | Contratonull |
Aliases do método: /chat/completions
Ciclo de vida: synchronous_or_streamed
Envie o ID exato do modelo com messages.
O comprimento do contexto não é um limite de saída.
Um ficheiro de texto pode fornecer texto literal; as entradas de imagem/áudio/objeto de ficheiro exigem uma associação exata.
Tarifários
As referências tarifárias não acrescentam opções ao pedido. Os parâmetros suportados constam do método selecionado.
- Modo rápido
- Não especificado Quando o modo rápido está selecionado
- Modo flex
- Não especificado Quando o modo flex está selecionado
- Esforço máximo de raciocínio
- Não especificado Quando o esforço máximo de raciocínio usa o ajuste predefinido (default)
Tarifas Ailoot
Preços por configuração
Associe cada custo às condições apresentadas. Use uma única tarifa para cada conjunto de configurações alternativas.
| Configuração | Tabela de tarifas | Tokens de contexto, mais de | Tokens de contexto, até ao limite inclusive | Custo |
|---|---|---|---|---|
| ConfiguraçãoTarifas base dos tokens | Tabela de tarifasTarifa base | Tokens de contexto, mais de— | Tokens de contexto, até ao limite inclusiveSem limite superior | Custo Entrada · Tokens de entrada $0.0006 / 1K tokens Saída · Tokens de saída $0.0018 / 1K tokens Entrada · Leitura da cache $0.00012 / 1K tokens Entrada · Escrita na cache — / 1K tokens Entrada · Escrita na cache, 1 hora — / 1K tokens |
| ConfiguraçãoEscalão 1 por comprimento do pedido | Tabela de tarifas— | Tokens de contexto, mais de0 | Tokens de contexto, até ao limite inclusiveSem limite superior | Custo Entrada · Tokens de entrada $0.0006 / 1K tokens Saída · Tokens de saída $0.0018 / 1K tokens Entrada · Leitura da cache $0.00012 / 1K tokens Entrada · Escrita na cache — / 1K tokens Entrada · Escrita na cache, 1 hora — / 1K tokens |
O Ailoot reserva um montante estimado antes de um pedido. Após o resultado, liquida o custo final com base na utilização medida. No streaming, a liquidação usa o registo final de utilização. Como funcionam a reserva e a liquidação →
Exemplos de pedidos
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":"inclusionai/ling-3.1-flash","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="inclusionai/ling-3.1-flash", 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"))
Receber e guardar os resultados
Ailoot Ultra · OpenAI Chat
json ou SSE
Guardar todos os resultados concluídos
Guarde cada resposta, ficheiro e parte de conteúdo devolvidos na íntegra.
Conserve cada opção com o conteúdo, as chamadas de ferramentas e o raciocínio. Em SSE, junte os deltas por índice de opção e ferramenta e mantenha o motivo final de conclusão e os dados de utilização.
Se for necessário verificar a resposta original
Conserve os ID e cabeçalhos de pedido/resposta. Não é fornecido um URL genérico para obter uma tarefa textual.
Campos da resposta
| 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 |
Erros e passos seguintes
| Resposta | Condição | Passo seguinte |
|---|---|---|
Resposta400 · invalid_request_error | CondiçãoCampos obrigatórios, representação do material ou valor do parâmetro inválidos | Passo seguinteCorrija os campos indicados antes de um novo pedido de criação. |
Aliases
Aliases do modelo
Ailoot Ultra inclusionai/ling-3.1-flash
Aliases dos caminhos dos métodos
/chat/completions
IDs de chamada relacionados
Ailoot Ultra · Anthropic Messages POST /v1/messages inclusionai/ling-3.1-flash
inclusionai/ling-3.1-flashIntrodução
Ling 3.1 Flash é o modelo de raciocínio híbrido da inclusionAI para trabalho de escritório, desenvolvimento de software prolongado e agentes complexos. A sua arquitetura esparsa de 560 mil milhões de parâmetros ativa cerca de 25 mil milhões por token, suportando planeamento em vários passos, interação com ferramentas e revisões a partir de resultados intermédios.
- Entradas aceites
- Texto
- Resultados
- json · sse
Disponível no Ailoot · entradas e métodos
Ailoot Ultra · Anthropic Messages POST /v1/messages
- Entrada
text- Saída
json,sse- Formato de saída
- JSON ou SSE
| Campo | Tipo | Requisito | Valores e limites | Predefinição |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObrigatório | Valores e limites inclusionai/ling-3.1-flash | Predefinição— |
Campomessages | Tipomessage[] | RequisitoObrigatório | Valores e limites | Predefinição— |
Campomessages[].role | Tipostring | RequisitoObrigatório | Valores e limites user, assistant | Predefinição— |
Campomessages[].content | Tipostring | RequisitoObrigatório | Valores e limites | Predefinição— |
Campomax_tokens | Tipointeger | RequisitoObrigatório | Valores e limites | Predefinição— |
Campostream | Tipoboolean | RequisitoOpcional | Valores e limites | Predefiniçãofalse |
Combinações de materiais de entrada
Texto · Texto UTF-8
Cadeia de caracteres messages[].content
Parâmetros e ciclo de vida do método
| 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 | ContratoLeia o documento UTF-8 real e coloque o texto na entrada indicada ou na cadeia de conteúdo da mensagem. |
Ciclo de vida: synchronous_or_streamed
Tarifários
As referências tarifárias não acrescentam opções ao pedido. Os parâmetros suportados constam do método selecionado.
- Modo rápido
- Não especificado Quando o modo rápido está selecionado
- Modo flex
- Não especificado Quando o modo flex está selecionado
- Esforço máximo de raciocínio
- Não especificado Quando o esforço máximo de raciocínio usa o ajuste predefinido (default)
Tarifas Ailoot
Preços por configuração
Associe cada custo às condições apresentadas. Use uma única tarifa para cada conjunto de configurações alternativas.
| Configuração | Tabela de tarifas | Tokens de contexto, mais de | Tokens de contexto, até ao limite inclusive | Custo |
|---|---|---|---|---|
| ConfiguraçãoTarifas base dos tokens | Tabela de tarifasTarifa base | Tokens de contexto, mais de— | Tokens de contexto, até ao limite inclusiveSem limite superior | Custo Entrada · Tokens de entrada $0.0006 / 1K tokens Saída · Tokens de saída $0.0018 / 1K tokens Entrada · Leitura da cache $0.00012 / 1K tokens Entrada · Escrita na cache — / 1K tokens Entrada · Escrita na cache, 1 hora — / 1K tokens |
| ConfiguraçãoEscalão 1 por comprimento do pedido | Tabela de tarifas— | Tokens de contexto, mais de0 | Tokens de contexto, até ao limite inclusiveSem limite superior | Custo Entrada · Tokens de entrada $0.0006 / 1K tokens Saída · Tokens de saída $0.0018 / 1K tokens Entrada · Leitura da cache $0.00012 / 1K tokens Entrada · Escrita na cache — / 1K tokens Entrada · Escrita na cache, 1 hora — / 1K tokens |
O Ailoot reserva um montante estimado antes de um pedido. Após o resultado, liquida o custo final com base na utilização medida. No streaming, a liquidação usa o registo final de utilização. Como funcionam a reserva e a liquidação →
Exemplos de pedidos
Ailoot Ultra · Anthropic Messages
{
"model": "inclusionai/ling-3.1-flash",
"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': 'inclusionai/ling-3.1-flash', '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': 'inclusionai/ling-3.1-flash', '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))
Receber e guardar os resultados
Ailoot Ultra · Anthropic Messages
JSON ou SSE
Guardar todos os resultados concluídos
Guarde cada resposta, ficheiro e parte de conteúdo devolvidos na íntegra.
Conserve todos os blocos de conteúdo, as assinaturas de raciocínio e os ID reais de utilização de ferramentas. Junte todos os deltas de blocos SSE; o primeiro bloco de texto não é a saída completa.
Se for necessário verificar a resposta original
Conserve os ID e cabeçalhos de pedido/resposta. Não é fornecido um URL genérico para obter uma tarefa textual.
Campos da resposta
| Campo | Tipo |
|---|---|
Campoid | Tipostring |
Campomodel | Tipostring |
Campocontent[] | Tipotext|thinking|tool_use|other content block |
Campostop_reason | Tipostring|null |
Campousage | Tipoobject |
Erros e passos seguintes
| Resposta | Condição | Passo seguinte |
|---|---|---|
Resposta400 · invalid_request_error | CondiçãoCampos obrigatórios, representação do material ou valor do parâmetro inválidos | Passo seguinteCorrija os campos indicados antes de um novo pedido de criação. |
Aliases
Aliases do modelo
Ailoot Ultra inclusionai/ling-3.1-flash
Aliases dos caminhos dos métodos
/chat/completions
IDs de chamada relacionados
FAQ · inclusionAI: Ling 3.1 Flash
- Que entradas e resultados estão disponíveis?
POST /v1/chat/completions·inclusionai/ling-3.1-flash:text→textPOST /v1/messages·inclusionai/ling-3.1-flash:text→json,sse- Que campos utiliza o pedido?
POST /v1/chat/completions·inclusionai/ling-3.1-flash:model,messages,streamPOST /v1/messages·inclusionai/ling-3.1-flash:model,messages,max_tokens,stream- Que limites se aplicam?
POST /v1/chat/completions·inclusionai/ling-3.1-flash:messages.min_items:1