mcpField
C
chat

chat

github.com/sarvamai開発72174 回インストール今日更新
リポジトリ

chat について

Python または JavaScript/TypeScript SDK でモデルを呼び出す開発者向けの、Sarvam AI チャット補完スキルです。ストリーミング、モデル選択、OpenAI 互換の呼び出し方、API 利用時の注意点を扱います。

主な機能

  1. 01Python と JS/TS の利用例
  2. 02チャット補完のストリーミング
  3. 03Sarvam チャットモデルの案内
  4. 04OpenAI 互換の呼び出し方
  5. 05推論とトークンの注意点

活用シーン

  1. 01アプリへの Sarvam チャット補完の追加
  2. 02生成内容の逐次受信
  3. 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-105b128K複雑な推論、コーディング、エージェント型ワークフロー
sarvam-105b-conversations32Kリアルタイムチャット、音声エージェント、会話型 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/変更履歴を確認してください。

完全なドキュメント

詳細なパラメーター、ツール呼び出し、ストリーミング、使用例については、次のドキュメントを参照してください。

コメント