メインコンテンツまでスキップ

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);

リクエストと​レスポンスの​詳細に​ついては、​各サービスの​クイックスタートから​始めてください。

ヒント

どの​クライアントを​使用する​場合でも、​API キーは​ハードコードするのではなく、SHISA_API_KEY のような​環境変数から​読み込んでください。​また、​クライアントサイドの​コードには​決して​同梱しないでください。認証を​参照してください。

次の​ステップ

  • 認証 — 共通の​ベアラーヘッダー規約。
  • エラー — ステータスコードと​ JSON エラーの​形。
  • レート制限429 を​バック​オフで​処理する。