SDK
调用Shisa的方式取决于语言和服务。Shisa LLM与OpenAI兼容,因此Python和JavaScript应用可以直接使用官方OpenAI SDK。批处理ASR、HTTP TTS和翻译是普通HTTP API;实时ASR和TTS则是WebSocket API。路由器仓库还包含覆盖四项服务HTTP API的Go客户端源代码包。在任何情况下,都应将API密钥保存在环境变量中,而不要硬编码。
LLM — 使用 OpenAI SDK
Shisa LLM 使用 OpenAI Chat Completions API。安装官方 SDK,将基础 URL 指向 Shisa,并使用 Shisa 的模型名称。
# Python
pip install openai
# Node.js
npm install openai
将基础 URL 设置为 https://api.shisa.ai/openai/v1,并使用模型 shisa-ai/shisa-v2.1-llama3.3-70b:
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.shisa.ai/openai/v1",
api_key=os.environ["SHISA_API_KEY"],
)
response = client.chat.completions.create(
model="shisa-ai/shisa-v2.1-llama3.3-70b",
messages=[{"role": "user", "content": "日本語で自己紹介をしてください。"}],
)
print(response.choices[0].message.content)
import OpenAI from 'openai';
const client = new OpenAI({
baseURL: 'https://api.shisa.ai/openai/v1',
apiKey: process.env.SHISA_API_KEY,
});
const response = await client.chat.completions.create({
model: 'shisa-ai/shisa-v2.1-llama3.3-70b',
messages: [{ role: 'user', content: '日本語で自己紹介をしてください。' }],
});
console.log(response.choices[0].message.content);
OpenAI SDK 还会为你处理流式传输和 429 时的重试。包含 curl 的完整演练请参见 LLM 快速入门。
Go — 路由器客户端包
路由器仓库中的pkg/client包提供模型/聊天、批处理ASR、TTS和翻译的类型化客户端,包括流式辅助功能。它作为路由器源代码提供,并非单独版本化的SDK,因此请固定您测试过的路由器模块修订版本。
Python和JavaScript — 其他服务使用标准HTTP或WebSocket客户端
批处理ASR、HTTP TTS和翻译端点是普通的 HTTPS API,不在 OpenAI SDK 的覆盖范围内。请使用 Python 中的 requests 或 Node 中的 fetch——任何你已经在用的 HTTP 客户端——来调用它们。实时API应使用WebSocket客户端,并遵循实时ASR或TTS WebSocket协议。两种传输方式都与 LLM API 使用相同的 Authorization: Bearer YOUR_API_KEY 请求头;请参见 身份验证。
import os
import requests
response = requests.post(
"https://api.shisa.ai/translate/",
headers={"Authorization": f"Bearer {os.environ['SHISA_API_KEY']}"},
data={
"text": "Hello",
"source_lang": "en",
"target_lang": "ja",
},
)
response.raise_for_status()
print(response.json())
const response = await fetch('https://api.shisa.ai/tts/voices', {
headers: { Authorization: `Bearer ${process.env.SHISA_API_KEY}` },
});
const { voices } = await response.json();
console.log(voices);
有关请求和响应的详情,请从每项服务的快速入门开始:
- 语音识别(ASR) — 快速入门和 端点参考。
- Text-to-Speech(TTS) — 快速入门和 端点参考。
- 翻译 — 快速入门和 端点参考。
无论你使用哪种客户端,都应从诸如 SHISA_API_KEY 的环境变量加载 API 密钥,而不要硬编码,并且切勿将其随客户端代码一起发布。请参见 身份验证。