关于 chat
Sarvam AI 聊天补全技能,面向通过 Python 或 JavaScript/TypeScript SDK 调用模型的开发者,涵盖流式输出、模型选择和 API 使用注意事项。
主要功能
- 01Python 与 JS/TS 调用示例
- 02支持流式聊天补全
- 03介绍 Sarvam 聊天模型
- 04提供 OpenAI 兼容调用方式
- 05说明推理与令牌限制
适用场景
- 01在应用中加入 Sarvam 聊天补全
- 02逐段接收模型生成内容
- 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-keyheader——不是Authorization: Bearer。基础 URL:https://api.sarvam.ai/v1
模型
| 模型 | 上下文 | 最适合 |
|---|---|---|
sarvam-105b | 128K | 复杂推理、编码、Agent 工作流 |
sarvam-105b-conversations | 32K | 实时聊天、语音 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。 |
| 开放权重模型:目前仅支持 Python | glm5.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 / 更新日志。 |
完整文档
如需详细参数、工具调用、流式传输和示例,请查阅:
- https://docs.sarvam.ai/llms.txt — 完整文档索引
- 聊天补全指南
- 模型规格
- 速率限制
评论
支持 Markdown