SDK
Shisaの呼び出し方は、言語とサービスによって異なります。Shisa LLMはOpenAI互換なので、PythonやJavaScriptでは公式OpenAI SDKをそのまま使用できます。バッチASR、HTTP TTS、翻訳は通常のHTTP APIで、リアルタイムASRとTTSはWebSocket APIです。ルーターリポジトリには4サービスの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) — クイックスタートとエンドポイントリファレンス。
- 翻訳 — クイックスタートとエンドポイントリファレンス。
どのクライアントを使用する場合でも、API キーはハードコードするのではなく、SHISA_API_KEY のような環境変数から読み込んでください。また、クライアントサイドのコードには決して同梱しないでください。認証を参照してください。