Classic/VPC環境で利用できます。
CLOVA Studioサービスは、Chat Completionsとエンベディングをはじめとする主な APIに対してオープンAI APIとの互換性を提供します。
互換 API
CLOVA Studioサービスでオープン AI APIとの互換性を持つ APIリストは次の通りです。
API | メソッド | URI |
---|---|---|
Chat Completions, Chat Completions v3 | POST | /chat/completions |
エンベディング、エンベディング v2 | POST | /embeddings |
モデルを照会 | GET | /models |
使用方法
オープン AI互換 APIのリクエスト形式とレスポンス形式を説明します。
リクエスト
CLOVA Studio APIのリクエスト項目を一部調整して、OpenAI公式ライブラリ(SDK)と REST APIで利用できます。
APIキー
CLOVA Studioサービスで発行したテストまたはサービス APIキーを利用します。
オープン AI互換 APIは、CLOVA Studioの [APIキー] から発行されたテスト APIキーまたはサービス APIキーを介してのみ使用できます。
API URL
リクエスト API URLは次の通りです。
https://clovastudio.stream.ntruss.com/v1/openai/
モデル
リクエストボディのモデル名は、CLOVA Studioサービスが提供するモデル名を入力してください。
命名規則
リクエストフィールドの命名規則はスネーク表記(snake_case)に準拠しています。
レスポンス
オープン AI APIと同じ構造と形式のレスポンス結果をサポートします。
SDKのユースケース
OpenAI公式ライブラリを活用して CLOVA Studioサービスを利用するユースケースを紹介します。
Python
Pythonで作成したサンプルコードは次の通りです。
from openai import OpenAI
client = OpenAI(
api_key="CLOVA_STUDIO_API_KEY", # CLOVA Studio APIキー
base_url="https://clovastudio.stream.ntruss.com/v1/openai" # CLOVA Studioオープン AI互換 API URL
)
# Chat Completions
response = client.chat.completions.create(
model="HCX-005", # CLOVA Studioをサポートするモデル名
messages=[
{"role": "system", "content": "あなたは優秀な AIアシスタントです。"},
{"role": "user", "content": "人工知能について説明してください。"}
]
)
print(response.choices[0].message.content)
# Embeddings
embedding = client.embeddings.create(
model="bge-m3", # CLOVA Studioをサポートするモデル名 (エンベディング)
input="CLOVA Studioをご利用いただき、ありがとうございます。",
encoding_format="float" # オープン AI Python SDKでエンベディングを利用する場合、必須設定(base64をサポートしない)
)
OpenAI公式 Pythonライブラリでエンベディングを利用する場合、encoding_format="float"
は必須設定です。
TypeScript/JavaScript (Node.js)
TypeScript/JavaScript (Node.js)で作成したサンプルコードは次の通りです。
import OpenAI from "openai";
const openai = new OpenAI({
baseURL: "https://clovastudio.stream.ntruss.com/v1/openai", // CLOVA Studioオープン AI互換 API URL
apiKey: "YOUR_API_KEY",
}); // CLOVA Studio APIキー
// Chat Completions
const completion = await openai.chat.completions.create({
model: "HCX-005", // CLOVA Studioをサポートするモデル名
messages: [
{"role": "system", "content": "あなたは優秀な AIアシスタントです。"},
{"role": "user", "content": "人工知能について説明してください。"}
]
});
console.log(completion.choices[0].message);
// Embedding
const embedding = await openai.chat.completions.create({
model: "bge-m3", // CLOVA Studioをサポートするモデル名 (エンベディング)
input: "CLOVA Studioをご利用いただき、ありがとうございます。"
});
console.log(embedding.data[0].embedding);
ほかにも、さまざまな言語の OpenAI公式 SDKと互換 APIで実装されたオープンソースフレームワークを通じて CLOVA Studioを利用することができます。
互換性情報
オープン AI APIとの互換性を持つ API別詳細互換性情報です。サポートフィールドと CLOVA Studio専用フィールドの入力形式と範囲は、APIガイドを確認してください。
Chat Completions/Chat Completions v3
Chat Completions API、Chat Completions v3 APIのオープン AI互換性情報は次の通りです。
サポートフィールド | サポートしないフィールド | CLOVA Studio専用のフィールド |
---|---|---|
|
|
|
エンベディング/エンベディング v2
エンベディング API、エンベディング v2 APIのオープン AI互換性情報は次の通りです。
サポートフィールド | サポートしないフィールド | CLOVA Studio専用のフィールド |
---|---|---|
|
|
- |