はじめに
Ling 3.1 Flash は inclusionAI によるハイブリッド推論型の Mixture-of-Experts モデルで、2026 年 9 月 29 日に公開されました。開発元は総パラメータ数 560B、トークンごとに 25B が稼働すると説明しています。ここでは OpenAI 互換のチャット エンドポイントとして提供され、入力テキストは最大 262,144 トークン、出力は最大 262,144 トークン、すべてのリクエストでツールとストリーミングに対応します。
| 項目 | 値 |
|---|---|
| 入力 | テキスト |
| 出力 | テキスト |
| 入力予算 | 262,144 tokens |
| max_tokens の上限 | 262,144 |
主な機能とハイライト
巨大なモデルのうち、必要な一部だけを動かす
inclusionAI のモデルカードは Ling 3.1 Flash を、線形ハイブリッドの Mixture-of-Experts と説明しています。総パラメータ 560B のうち、512 個のルーティング対象エキスパートから 8 個と共有エキスパート 1 個がトークンごとに稼働し、実効的には約 25B パラメータです。Flash という名前が示すのは、大きなモデルでありながら、はるかに小さなモデルの速さで答えることを目指す設計だということです。
役立つときだけ考え、そうでなければ省く
reasoning_effort は none、low、medium、high を受け付け、既定値は medium です。分類、抽出、短いチャットのように遅延が重要な場面では none か low を使い、複数段階の問題では high に上げてください。開発元はこのモデルをネイティブなハイブリッド推論モデルと位置づけており、1 つのエンドポイントで両方の使い方に対応します。
1 回のリクエストで 25 万トークン超
262,144 トークンの入力は、英語でおよそ 190,000 語に相当します。長い契約書、添付ファイルをテキストとして貼り付けたサポートのやり取り、中規模のコードモジュールを丸ごと渡せる量です。モデルカードには公開モデル向けの 1M トークンのウィンドウが記載されていますが、このエンドポイントが受け付けるのは 262,144 で、計画する際にはこの数字を基準にしてください。
同じ呼び出しでツール呼び出しとストリーミング
最大 128 個のツール定義を送信すると、モデルは関数呼び出しを返します。それをアプリケーション側で実行し、結果を tool メッセージとして返します。返信は書かれたそばからストリーミングされ、後段のサービスが JSON オブジェクトを必要とする場合は response_format で指定できます。
リクエストパラメーター
| パラメーター | 必須 | 説明 |
|---|---|---|
messages | はい | Ling 3.1 Flash に 商品名と納期の抽出 の資料を含む会話を順序どおり送ります。Ling 3.1 Flash では、ツールの結果は元の |
max_tokens | いいえ | Ling 3.1 Flash の |
reasoning_effort | いいえ | Ling 3.1 Flash では none, low, medium, high を選べ、既定値は medium です。商品名と納期の抽出 で設定を比べ、出力トークンの使用量も確認します。 |
stop | いいえ | Ling 3.1 Flash の停止文字列を 1 件、または最大 4 件指定します。Ling 3.1 Flash では、一致した停止文字列は最終テキストに含まれません。 1 文字以上 · 1 件以上 · 4 件以内 |
temperature | いいえ | Ling 3.1 Flash のサンプリングを調整します。商品名と納期の抽出 の評価では、異なる回答傾向が必要な場合を除いて既定値を使います。 |
top_p | いいえ | Ling 3.1 Flash の nucleus sampling を調整します。商品名と納期の抽出 を比較するときは |
tools | いいえ | Ling 3.1 Flash に 商品名と納期の抽出 用の OpenAI 形式の関数定義を最大 128 件渡せます。Ling 3.1 Flash では、引数の検証と処理の実行はアプリで行います。 128 件以内 |
parallel_tool_calls | いいえ | Ling 3.1 Flash が一度の応答で独立した複数の関数を提案できるかを指定します。各処理の実行はアプリが管理します。 デフォルト値: |
tool_choice | いいえ | Ling 3.1 Flash の |
response_format | いいえ | Ling 3.1 Flash に 商品名と納期の抽出 の結果をテキストまたは構造化 JSON で求めます。Ling 3.1 Flash では、返された JSON が必要な項目を満たすか確認します。 |
料金
入力 $0.075 / 出力 $0.225 100 万トークンあたり
ユースケース
大量の分類と抽出
サポートチケットにタグを付けたり、メールから氏名・日付・金額を抜き出したり、メッセージを適切なキューに振り分けたりします。reasoning_effort を none か low に設定し、temperature は低めに保ち、JSON オブジェクトを要求すると、後処理なしで各回答を解析できます。
製品やアシスタント向けの高速チャット
ペルソナと運用ルールをシステムメッセージに入れ、会話を古いものから順に送り、返信をユーザーへストリーミングします。コンテキストが大きいため、長い履歴も要約せずそのまま送れます。
ツールを使うエージェントのループ
検索関数、データベース照会、チケット操作などをモデルに渡し、いつ呼び出すかはモデルに判断させます。開発元は、ターミナルでのツール利用とソフトウェアエンジニアリングを想定用途に挙げています。
長文ドキュメントの読解
ポリシー文書、書き起こし、コードモジュールを貼り付け、資料を先に、質問を最後に置きます。各主張の根拠になる箇所を挙げてもらいます。複数のセクションを突き合わせる必要がある場合は reasoning_effort を上げてください。
プロンプトガイドと実践のヒント
medium から始めて、一段ずつ調整する
既定値は medium です。短く明確に定義された作業では low か none に下げ、遅延がどれだけ下がるかを確認します。誤答のコストが追加トークンより大きい問題に限って high に上げてください。本番の既定値を変える前に、手元の例で出力を比べてください。
max_tokensに思考の分を見込むmax_tokensの既定値は 4,096 です。思考も同じ予算に含まれるため、長い回答や高い推論強度では値を上げてください。上げないと、目に見える返信が終わる前に予算を使い切ることがあります。完了したと判断する前に、終了理由を確認してください。長い資料は前に、質問は最後に
各資料に出典名を付け、ドキュメントは会話の早い段階に置き、質問は最後に書きます。引用されたテキストと混同されないよう、指示はシステムメッセージに入れてください。
同じ ID を付けてツール結果を返す
モデルが関数呼び出しを求めたら実行し、出力を同じ
tool_call_idを付けた tool メッセージとして返します。会話の一貫性を保つため、アシスタントの過去のツール呼び出しは履歴に残してください。
Ling 3.1 Flash で文章から項目を抽出します
顧客からの連絡文を渡し、商品名、納期、それぞれの根拠となる原文を求めます。このエンドポイントはテキスト専用なので、文書の画像ではなく内容を入力します。公開入力上限は 262,144 トークンです。inclusionAI が示すモデル自体の 1M コンテキストとは区別します。
思考量を選びます
既定値は medium で、none、low、high も選べます。単純な抽出は none、複数の推論が必要な事例は high で比較します。出力の既定上限は 4,096 トークンです。上限を増やしてもトークン単価は変わりません。
抽出結果を処理につなげます
プログラムで読む場合は response_format で JSON を求め、連絡文と照合します。Ling が並列ツール呼び出しを提案しても、実行と結果の返送はアプリが担当します。生成された納期だけでは発送状況の確認にはなりません。
コンテンツの可否は選択した Ling 3.1 Flash が判断します。Ling 3.1 Flash では、NSFW の挙動は変わる場合があり、無制限での利用を保証するものではありません。
API クイックスタート
curl --fail-with-body -sN https://api.spicyapi.ai/v1/chat/completions \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "inclusionai/ling-3.1-flash/chat",
"messages": [
{
"role": "user",
"content": "Summarise the following release notes into three bullet points."
}
],
"stream": true
}' \
| jq --unbuffered -Rrj 'select(startswith("data: ")) | .[6:] | select(. != "[DONE]") | fromjson | if .error then "\n[error] \(.error.message)\n" else (.choices[0].delta.content? // empty) end'
認証、完全なスキーマ、ポーリング、エラー処理は API リファレンスを参照してください。
