mcpField
C
chat

chat

github.com/sarvamai开发72174 次安装今天更新
代码仓库

关于 chat

Sarvam AI 聊天补全技能,面向通过 Python 或 JavaScript/TypeScript SDK 调用模型的开发者,涵盖流式输出、模型选择和 API 使用注意事项。

主要功能

  1. 01Python 与 JS/TS 调用示例
  2. 02支持流式聊天补全
  3. 03介绍 Sarvam 聊天模型
  4. 04提供 OpenAI 兼容调用方式
  5. 05说明推理与令牌限制

适用场景

  1. 01在应用中加入 Sarvam 聊天补全
  2. 02逐段接收模型生成内容
  3. 03为对话或推理任务选择模型

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/sarvamai/skills --skill chat

安装后在 Claude Code 中输入/chat确认已加载。

详细介绍

Chat Completions — Sarvam AI

实时聊天补全 → sarvam-mcp(sarvam_tools_llm_complete)。此技能 = SDK 代码。

重要

身份验证:api-subscription-key header——不是 Authorization: Bearer。基础 URL:https://api.sarvam.ai/v1

模型

模型上下文最适合
sarvam-105b128K复杂推理、编码、Agent 工作流
sarvam-105b-conversations32K实时聊天、语音 Agent、对话式 AI

sarvam-30b 已弃用——复杂任务请迁移到 sarvam-105b,实时/语音场景请迁移到 sarvam-105b-conversations(这个模型正是为填补 sarvam-30b 原有位置而构建的)。固定上下文版本(sarvam-105b-32k、sarvam-30b-16k)已退役——基础模型可直接提供其完整上下文窗口。

另有 Beta 版模型(通过 /v2/chat/completions 调用):开放权重模型 glm5.3(1M 上下文,推理)、deepseekv4-flash(1M 上下文,推理)、gemma4(131K 上下文,文本 + 图像,不支持推理)。需要 API key 开通 Beta 访问权限。在 Python 中通过 client.chat.completions_v2(...) 调用——不能用 .completions()。目前仍处于 Beta 阶段,预计很快正式发布——详情请参阅完整文档。

快速开始(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模型会先生成 reasoning_content,再生成 content。如果 max_tokens 太低,推理会耗尽预算,finish_reason 为 "length",而 content 为 None。省略 max_tokens、设置为 500 以上,或通过 reasoning_effort=None 禁用推理。也可将 reasoning_content 作为备用结果。经实时验证:这确实会发生,而且有些不稳定——相同的简短提示词在 max_tokens=500 时,第一次返回了 content=None,重试后返回 content="OK";第一次有 251 个 token 用于推理,占 500 个 token 预算的一半。不要把 500 视为保证;无论如何都要检查 reasoning_content/finish_reason。
reasoning_effort默认开启思考,值为 "low"。可选值:"low"|"medium"|"high",或设为 None 以完全禁用推理。不是 thinking=True。推理 token 会计入补全 token 数和费用。
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。
开放权重模型:目前仅支持 Pythonglm5.3 / gemma4 / deepseekv4-flash 在 Python 中通过 /v2/chat/completions 上的 client.chat.completions_v2(...) 调用(已使用启用 Beta 的 key 验证,三个模型均可正常工作)。经实时验证:已安装的 JS SDK([email protected])完全没有 completionsV2 方法(client.chat.completionsV2 is not a function)——目前 JS 中只有 .completions()。在 JS SDK 提供该方法之前,不要生成调用 completionsV2 的 JS 代码;请先检查 npm ls sarvamai / 更新日志。

完整文档

如需详细参数、工具调用、流式传输和示例,请查阅:

评论

支持 Markdown