chat について
Python または JavaScript/TypeScript SDK でモデルを呼び出す開発者向けの、Sarvam AI チャット補完スキルです。ストリーミング、モデル選択、OpenAI 互換の呼び出し方、API 利用時の注意点を扱います。
主な機能
- 01Python と JS/TS の利用例
- 02チャット補完のストリーミング
- 03Sarvam チャットモデルの案内
- 04OpenAI 互換の呼び出し方
- 05推論とトークンの注意点
活用シーン
- 01アプリへの Sarvam チャット補完の追加
- 02生成内容の逐次受信
- 03チャットや推論タスク向けのモデル選択
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ sarvamai/ skills --skill chatインストール後、Claude Code で/chatを入力して読み込まれたか確認します。
詳細
チャット補完 — Sarvam AI
チャット内でのリアルタイム補完 → sarvam-mcp (
sarvam_tools_llm_complete)。このスキルは SDK コードです。
重要
認証:
api-subscription-keyヘッダーを使用します。Authorization: Bearerではありません。ベース URL:https://api.sarvam.ai/v1
モデル
| モデル | コンテキスト | 最適な用途 |
|---|---|---|
sarvam-105b | 128K | 複雑な推論、コーディング、エージェント型ワークフロー |
sarvam-105b-conversations | 32K | リアルタイムチャット、音声エージェント、会話型 AI |
sarvam-30b は非推奨です。複雑なタスクには sarvam-105b、リアルタイム/音声用途には sarvam-105b-conversations(sarvam-30b の旧枠を埋めるために構築されたモデル)に移行してください。固定コンテキストのバリアント(sarvam-105b-32k、sarvam-30b-16k)は廃止されました。ベースモデルでコンテキストウィンドウ全体を直接利用できます。
ベータ版として、オープンウェイトモデル glm5.3(1M コンテキスト、推論)、deepseekv4-flash(1M コンテキスト、推論)、gemma4(131K コンテキスト、テキスト+画像、推論なし)も利用できます(/v2/chat/completions)。API キーでベータ版へのアクセスが必要です。Python では client.chat.completions_v2(...) で呼び出します。.completions() ではありません。現在もベータ版で、まもなく GA になる見込みです。詳細は完全なドキュメントをご覧ください。
クイックスタート(Python)
from sarvamai import SarvamAI
client = SarvamAI()
response = client.chat.completions(
model="sarvam-105b-conversations",
messages=[{"role": "user", "content": "भारत की राजधानी क्या है?"}]
)
print(response.choices[0].message.content)
ストリーミング(Python)
for chunk in client.chat.completions(
model="sarvam-105b-conversations",
messages=[{"role": "user", "content": "Write a poem about India"}],
stream=True
):
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
クイックスタート(JavaScript/TypeScript)
import { SarvamAIClient } from "sarvamai";
const client = new SarvamAIClient({ apiSubscriptionKey: "YOUR_SARVAM_API_KEY" });
const response = await client.chat.completions({
model: "sarvam-105b-conversations",
messages: [{ role: "user", content: "भारत की राजधानी क्या है?" }]
});
console.log(response.choices[0].message.content);
OpenAI 互換(両言語)
from openai import OpenAI
client = OpenAI(api_key="your-key", base_url="https://api.sarvam.ai/v1")
response = client.chat.completions.create(model="sarvam-105b-conversations", messages=[...])
注意点
| 注意点 | 詳細 |
|---|---|
| SDK メソッド | Python:client.chat.completions(...)、JS:client.chat.completions({...})。どちらにも .create() はありません。OpenAI SDK では通常どおり .create() を使用します。 |
| JS コンストラクター | new SarvamAIClient({ apiSubscriptionKey: "..." }) を使用します。SarvamAI() ではありません。キーは明示的に渡します。 |
content が None の場合があります | モデルは content の前に reasoning_content を生成します。max_tokens が小さすぎると、推論でトークン予算を使い切り、finish_reason が "length" になり、content が None になります。max_tokens を省略するか、500 以上に設定するか、reasoning_effort=None で推論を無効にしてください。代替として reasoning_content を確認してください。実環境で確認済みです。実際に起きるもので、やや不安定です。同じ短いプロンプトでも、max_tokens=500 のときに一度は content=None、再試行では content="OK" が返され、その際は推論が500トークン中251トークンを消費していました。500を保証値と考えず、いずれの場合も reasoning_content/finish_reason を確認してください。 |
| reasoning_effort | 思考はデフォルトで "low" に設定されており、有効です。値は "low"|"medium"|"high"、または推論を完全に無効にする None です。thinking=True ではありません。推論トークンは補完トークン数と課金に含まれます。 |
sarvam-30b は「非推奨」にとどまらず、現在はエラーになります | 実環境で確認済みです。これを呼び出すと 400 invalid_request_error が返されます — "Model 'sarvam-30b' has been deprecated. Please use one of the available models instead: sarvam-105b, sarvam-105b-conversations." 警告が出るだけではありません。sarvam-30b を使った既存コードはすでに動作しません。sarvam-105b または sarvam-105b-conversations に移行してください。 |
| オープンウェイトモデル:現時点では Python のみ | glm5.3/gemma4/deepseekv4-flash は、Python で /v2/chat/completions の client.chat.completions_v2(...) を通じて利用します(ベータ版が有効なキーで、3モデルすべての動作を確認済みです)。実環境で確認済みです。インストール済みの JS SDK([email protected])には completionsV2 メソッドがありません(client.chat.completionsV2 is not a function)。現在、JS にあるのは .completions() のみです。JS SDK に実装されるまでは、completionsV2 を呼び出す JS コードを生成しないでください。まず npm ls sarvamai/変更履歴を確認してください。 |
完全なドキュメント
詳細なパラメーター、ツール呼び出し、ストリーミング、使用例については、次のドキュメントを参照してください。
- https://docs.sarvam.ai/llms.txt — 包括的なドキュメントのインデックス
- チャット補完ガイド
- モデル仕様
- レート制限