このクイックスタートでは、Novita の OpenAI 互換 API を通じて Ling 3.0 Flash Sante に最初のテキスト チャット補完リクエストを送信する方法を示します。ベース URL として https://api.novita.ai/openai、モデル ID として inclusionai/ling-3.0-flash-sante、リクエスト パスとして POST https://api.novita.ai/openai/v1/chat/completions を使用します。現在の Novita の掲載情報では、124B パラメータの Mixture-of-Experts モデルで、トークンあたり約 5.1B のアクティブ パラメータ、262,144 トークンのコンテキスト ウィンドウ、32,768 トークンの最大出力、テキスト入力と出力、推論、関数呼び出しを備えると説明されています。このページは実装ガイドであり、ローンチ概要ではありません。モデルの位置づけ、適合性のガイダンス、現在の価格については、Ling 3.0 Flash Sante on Novita AI: Free API, Specs, and Pricing を参照してください。
Ling 3.0 Flash Sante Python と cURL の統合チュートリアル
このページは、認証方法、モデル ルートの確認、小さなリクエストの送信、レスポンスの解析方法という実用的な疑問がある場合に使用します。これは最初の統合テスト用に設計されており、臨床ワークフローの選択や、重大な結果を招くユースケース向けにモデルを検証するためのものではありません。
Ling 3.0 Flash Sante はテキスト モデルです。ホストされた掲載情報では、医学知識の推論、臨床安全性、エビデンスに基づく検索、長期的な医療タスクが強調されている一方で、一般的な推論、コーディング、エージェント機能も記載されています。これらのラベルはモデルが意図する能力領域を説明するものであり、自社データでの評価、情報源の確認、プライバシー管理、資格を有する専門家によるレビューの代替にはなりません。
ステップ 1: Novita API キーを取得する
Novita API キーを作成し、ソース管理の外に保管します。ローカルでのスモーク テストでは、環境変数としてエクスポートします:
export NOVITA_API_KEY="your_api_key"
キーをブラウザー バンドル、公開リポジトリ、クライアント側アプリケーションに配置しないでください。デプロイされたサービスでは、サービスのシークレット マネージャーから読み込み、チームの資格情報ポリシーに従ってローテーションします。
ステップ 2: モデル ID とエンドポイントを確認する
アプリケーション コードを書く前に、稼働中の Ling 3.0 Flash Sante モデル ページ を確認してください。以下の値は 2026 年 9 月 4 日に確認されたものです。
| フィールド | 値 |
|---|---|
| モデル ID | inclusionai/ling-3.0-flash-sante |
| ベース URL | https://api.novita.ai/openai |
| チャット補完エンドポイント | POST https://api.novita.ai/openai/v1/chat/completions |
| コンテキスト ウィンドウ | 262,144 トークン(256K と表示) |
| 最大出力 | 32,768 トークン(32K と表示) |
| 入力と出力 | テキスト |
| 記載されている機能 | 関数呼び出し、推論 |
| カタログ リクエスト レート | 1 分あたり 30 リクエスト |
| 記載されている入力価格 | 100 万トークンあたり $0 |
| 記載されている出力価格 | 100 万トークンあたり $0 |
価格、制限、可用性は稼働中のカタログ値です。予算計上や統合の本番環境への移行前に再確認してください。カタログのリクエスト レート値は、すべてのアカウントまたはワークロードが同じスループットを受け取ることを約束するものではありません。
ステップ 3: 最初のリクエストを送信する
短く機密性のないプロンプトから始めます。小さなリクエストは、長いコンテキスト、ツール、アプリケーション固有のデータを追加する前に、認証とルーティングのエラーを切り分けます。
curl "https://api.novita.ai/openai/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${NOVITA_API_KEY}" \
-d '{
"model": "inclusionai/ling-3.0-flash-sante",
"messages": [
{
"role": "system",
"content": "You are a concise technical assistant. Do not provide diagnosis or treatment advice."
},
{
"role": "user",
"content": "Return a three-item checklist for testing a text classification API."
}
],
"max_tokens": 256,
"temperature": 0.2
}'
このリクエストは標準の messages 配列とモデルの正確な ID を使用します。max_tokens の値はスモーク テスト用に意図的に小さくしています。リクエスト、レスポンス解析、タイムアウト処理、エラー処理が確実に機能した後にのみ増やしてください。
ステップ 4: レスポンスを読む
成功したチャット補完は、最初の choice に assistant メッセージを返します。クライアントまたはサービスでは、JSON を解析する前にステータス コードを確認し、防御的にレスポンスを処理します:
{
"choices": [
{
"message": {
"role": "assistant",
"content": "1. Prepare representative labeled inputs.\n2. Measure classification accuracy and refusal behavior.\n3. Inspect errors before increasing traffic."
}
}
]
}
最初のテストでは、次を確認します:
- リクエストが成功した HTTP レスポンスを返すこと
choices[0].message.contentに assistant テキストが含まれること- フィールドが存在する場合、返された
modelが期待したモデルであること - アプリケーションがコンテンツの欠落、非 200 レスポンス、タイムアウトを処理すること
- ログにリクエスト メタデータが含まれるが、API キーや不要な機密入力は決して含まれないこと
成功した HTTP レスポンスを、医療または規制対象のワークフローが準備できた証拠として扱わないでください。これは、このリクエスト パス、資格情報、モデル ID、基本的なレスポンス パーサーが連携して機能することだけを確認するものです。
ステップ 5: 価格、制限、よくあるエラーを確認する
実際のトラフィックを使用する前に、稼働中のモデル ページで価格、コンテキスト、最大出力、サポートされている機能、リクエスト レート情報を再確認してください。その後、アプリケーションにとって重要な制限をテストします: 長いプロンプト、出力の切り捨て、再試行、同時リクエスト、ツール呼び出しの解析。
最も一般的な初回呼び出しの失敗は単純です:
- 401 または認証エラー:
NOVITA_API_KEYが設定されていない、期限切れ、形式が正しくない、またはベアラー トークンとして送信されていません。 - モデルが見つからない: リクエストで
inclusionai/ling-3.0-flash-santeではなく表示名または誤字が使用されています。 - 404 エンドポイント エラー: クライアントが
/v1/chat/completionsパスを重複して含めているか、省略しています。SDK 構成ではベース URL のみを使用するか、cURL では完全な URL を使用してください。 - 400 リクエスト エラー: JSON 構文とサポートされているフィールドを検査します。
modelとmessagesから始め、その後、オプション パラメータを 1 つずつ追加します。 - 429 レート制限レスポンス: 上限付きの指数バックオフを適用し、同時実行数を減らし、トラフィックを現在のアカウントとカタログの制限と比較します。
- 切り捨てられた回答: アプリケーションがより多くの出力を必要とする場合は
max_tokensを増やしますが、モデルの現在の最大値と合計コンテキスト予算内に収めてください。
Python の例
OpenAI Python SDK は Novita の互換ベース URL を使用できます。SDK を自分の環境にインストールし、NOVITA_API_KEY を設定したままにして、この例をサーバー側プロセスから実行します:
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.novita.ai/openai",
api_key=os.environ["NOVITA_API_KEY"],
)
response = client.chat.completions.create(
model="inclusionai/ling-3.0-flash-sante",
messages=[
{
"role": "system",
"content": "You are a concise technical assistant. Do not provide diagnosis or treatment advice.",
},
{
"role": "user",
"content": "Explain how to test a text API response parser in three steps.",
},
],
max_tokens=256,
temperature=0.2,
)
print(response.choices[0].message.content)
この例では、一般的なチャット補完フィールドのみを使用します。機能したら、アプリケーション固有のシステム指示、構造化出力処理、またはツールを追加し、各変更を個別にテストします。
cURL の例
シェルベースの統合チェックでは、リクエストをスクリプトに保持し、HTTP エラーで明確に失敗させます:
curl --fail-with-body "https://api.novita.ai/openai/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${NOVITA_API_KEY}" \
-d '{
"model": "inclusionai/ling-3.0-flash-sante",
"messages": [
{
"role": "user",
"content": "List three checks for a reliable JSON response parser."
}
],
"max_tokens": 256,
"temperature": 0.2
}'
--fail-with-body は、HTTP エラーに対して cURL が失敗ステータスを返すようにしつつ、デバッグ用にレスポンス本文を保持します。プロンプトやその他の機密データが含まれている場合は、その本文を公開ログに貼り付けないでください。
主要なパラメータ
model: ホストされている正確なモデル IDinclusionai/ling-3.0-flash-santeを使用します。messages: 会話履歴を role/content オブジェクトとして提供します。システム指示を具体的にし、期待する出力形式を明示します。max_tokens: タスクに適した出力上限を設定します。現在のカタログ最大値は 32,768 トークンですが、小さい値にすると初期テストを検査しやすくなります。temperature: 低い値にすると、再現可能な抽出または分類テストを比較しやすくなります。1 つの設定が普遍的に最適であると仮定せず、自分のプロンプトで効果を測定してください。tools: 掲載情報には関数呼び出しが含まれます。ツールを追加する場合は、狭いスキーマを定義し、アプリケーションで引数を検証し、実行をモデルの外に保ちます。- 推論コントロール: 掲載情報には推論が含まれますが、すべてのオプションの推論フィールドが SDK 間で移植可能であると仮定しないでください。プロバイダー固有のフィールドを追加する前に、現在の API リファレンスとモデルの動作を確認してください。
健康関連のテキストでは、生成と検証を分離します。アプリケーションが処理を許可されているデータのみを提供し、可能な場合は情報源の参照を保持し、重大な結果につながる出力は資格を有するレビュアーに回してください。この記事は診断や治療のガイダンスを提供するものではありません。
トラブルシューティング
リクエストが失敗した場合は、再現可能な最小の呼び出しに縮小します: 正確なモデル ID、1 つのユーザー メッセージ、低い max_tokens 値、ベアラー ヘッダーです。これにより、アカウントの問題とクライアント ラッパーの問題を区別しやすくなります。
最小の cURL 呼び出しが成功しても SDK 呼び出しが失敗する場合は、安全なローカル デバッグ環境で SDK が解決したリクエスト URL を出力し、https://api.novita.ai/openai/v1/chat/completions と比較します。認証ヘッダーを出力しないでください。両方の呼び出しが成功してもアプリケーション出力が信頼できない場合は、統合とモデル アクセスのテストをタスク品質評価から分離してください。
長いコンテキストを扱う作業では、262,144 トークンのコンテキスト上限を下回る値から始めます。入力メッセージ、ツール定義、期待する出力を合計して数え、代表的なリクエストで切り捨てとタイムアウトの動作をテストします。宣伝されている大きなコンテキストは、すべてのプロンプトが有用または経済的であることを保証するものではありません。
FAQ
どのモデル ID を送信すべきですか?
inclusionai/ling-3.0-flash-sante を送信します。表示名 Ling 3.0 Flash Sante は、リクエスト本文のモデル ID の代わりにはなりません。
クイックスタートではどのエンドポイントを使用しますか?
https://api.novita.ai/openai/v1/chat/completions の OpenAI 互換チャット補完ルートを使用します。SDK 構成では、https://api.novita.ai/openai をベース URL として使用し、SDK にバージョン付きパスを追加させます。
ホストされているモデルはマルチモーダルですか?
現在の Novita の掲載情報では、入力と出力の両方のモダリティとしてテキストが示されています。稼働中のモデル掲載情報で明示的にサポートが追加されていない限り、画像や音声のコンテンツを送信しないでください。
臨床判断に使用できますか?
このクイックスタートは API 統合ガイドであり、臨床ガイダンスではありません。成功した API レスポンスは、臨床安全性、事実の正確性、規制適合性、保護された情報を処理する権限を確立するものではありません。提案された用途は、資格を有するドメイン専門家と、環境に必要な管理策を用いて評価してください。