このクイックスタートでは、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のリストには、トークンあたり約51億のアクティブパラメータを持つ1240億パラメータのMixture-of-Expertsモデル、262,144トークンのコンテキストウィンドウ、32,768トークンの最大出力、テキスト入力・出力、推論、関数呼び出しが記載されています。モデルの位置づけと価格設定の文脈については、Novita AI上のLing 3.0 Flash Sante:機能と価格 を参照してください。
このクイックスタートを使用すべき場合
認証方法、モデルルートの確認、小規模なリクエストの送信、レスポンスの解析が実際的な課題である場合に、このページを使用してください。これは最初の統合テスト用に設計されており、臨床ワークフローの選択や、影響の大きいユースケース向けのモデル検証を目的としたものではありません。
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と表示) |
| 入力と出力 | テキスト |
| 記載されている機能 | 関数呼び出し、推論 |
| カタログ上のリクエストレート | 毎分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": "あなたは簡潔な技術アシスタントです。診断や治療のアドバイスは提供しないでください。"
},
{
"role": "user",
"content": "テキスト分類APIをテストするための3項目のチェックリストを返してください。"
}
],
"max_tokens": 256,
"temperature": 0.2
}'
このリクエストは、標準の messages 配列とモデルの正確なIDを使用します。max_tokens の値はスモークテスト用に意図的に小さく設定されています。リクエスト、レスポンス解析、タイムアウト処理、エラー処理が確実に動作するようになってから、値を増やしてください。
ステップ4:レスポンスを読む
成功したチャットコンプリーションは、最初のchoiceにアシスタントメッセージを返します。クライアントやサービスでは、JSONを解析する前にステータスコードを確認し、レスポンスを防御的に処理してください:
{
"choices": [
{
"message": {
"role": "assistant",
"content": "1. 代表的なラベル付き入力を準備する。\n2. 分類精度と拒否動作を測定する。\n3. トラフィックを増やす前にエラーを検査する。"
}
}
]
}
最初のテストでは、以下を確認してください:
- リクエストが成功したHTTPレスポンスを返すこと;
choices[0].message.contentにアシスタントのテキストが含まれていること;- 返された
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": "あなたは簡潔な技術アシスタントです。診断や治療のアドバイスは提供しないでください。",
},
{
"role": "user",
"content": "テキストAPIレスポンスパーサーを3つのステップでテストする方法を説明してください。",
},
],
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": "信頼性の高いJSONレスポンスパーサーのための3つのチェック項目を挙げてください。"
}
],
"max_tokens": 256,
"temperature": 0.2
}'
--fail-with-body により、HTTPエラー時にcURLは失敗ステータスを返しつつ、デバッグ用にレスポンスボディを保持します。そのボディにプロンプトやその他の機密データが含まれる場合は、公開ログに貼り付けないでください。
主要パラメータ
model: ホストされている正確なモデルID、inclusionai/ling-3.0-flash-santeを使用してください。messages: 会話履歴をrole/contentオブジェクトとして指定します。システム指示は具体的にし、期待する出力形式を明示してください。max_tokens: タスクに適した出力上限を設定します。現在のカタログの最大値は32,768トークンですが、値を小さくすると初期テストの検査が容易になります。temperature: 値を低くすると、再現性のある抽出や分類テストの比較が容易になる場合があります。ある設定が普遍的に最適であると想定せず、ご自身のプロンプトへの影響を測定してください。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レスポンスが成功しても、臨床的安全性、事実の正確性、規制上の適合性、保護情報を処理する許可が確立されるわけではありません。提案された使用法は、資格のあるドメイン専門家と、環境に必要な管理手段を用いて評価してください。
