- 印刷する
- PDF
API活用
- 印刷する
- PDF
Classic/VPC環境で利用できます。
エクスプローラー メニューで提供する APIについて説明します。各 APIの [開始する] ボタンをクリックすると、各 APIの詳細を確認できます。
トークン計算機 API
トークン計算機 APIは、入力した文章のトークン数と文字数を計算できます。トークン計算機を活用して最適なトークン数を見つけたり、効率的なプロンプトを作成できます。
トークン計算機(HCX)は、HyperCLOVA Xモデルで入力した文章のトークン数と文字数を計算する APIです。
スライディングウィンドウ API
スライディングウィンドウ APIは、チャットモードでプロンプトと結果値を HyperCLOVA X言語モデルが処理できる最大トークン数以内に調整し、会話が途切れることなく行えるようにします。
チャットモードでは、ユーザーとアシスタントの会話が HyperCLOVA X言語モデルが処理できる最大トークン数を超えると、これ以上新しい会話を作成できないように設定されています。スライディングウィンドウ APIは、ユーザーとアシスタントの会話履歴の中で最も古い会話ターンを削除することで、会話が作成されなくなる状況を防ぐことができます。会話を削除する場合、システム指示文の次の会話、つまり最初に入力された会話のターンから順に削除します。
- スライディングウィンドウ APIはチャットモードに該当するモデル(Chat Completions API)に対してのみ動作します。
- スライディングウィンドウ APIの結果値がそのまま Chat Completions APIに入力されるように順序を設定する必要があります。
- modelName、maxTokensなどの他の設定値は、一緒に使用する Chat Completions APIの設定値と同じく設定する必要があります。
- ユーザーとアシスタント間の会話履歴を会話ターン単位で前から順次削除するため、新しく作成される会話内容が以前の会話内容を反映できない場合があります。
- 特に結果値の最大生成トークン数(APIの maxTokens値)が大きく設定されている場合、それに比例して会話履歴が削除されるため、新しく作成される会話内容が以前の会話履歴を十分に反映できない場合があります。
スライディングウィンドウの動作方式
チャットモードで入力された会話履歴の総トークン数(A)と新しく作成される会話の最大作成トークン数(B=maxTokens)の合計が、モデルの処理可能な最大トークン数(X)より大きい場合(つまり、A+B>X)、Chat Completions APIはこれ以上会話を作成しません。この問題を解決するために、スライディングウィンドウ APIは超過したトークン数(A+B-X)だけ既存の会話のうち古い会話ターンから削除します。会話ターンから一部だけ削除されないように、会話ターン単位で削除します(超過トークン数以上の最小会話ターンを削除)。
例えば、下図のように超過したトークン数が200トークンである場合、スライディングウィンドウ APIを適用すると、既存の会話履歴のうち最も古い2つの会話ターン(100、200トークン)を削除します。超過したトークン数が100トークン以下の場合、既存の会話履歴のうち最も古い1つの会話ターンのみ削除されます。つまり、ユーザーとアシスタント間の会話ペアではなく、個々の会話ターンが削除されます。
スライディングウィンドウ APIのタスクプロセス
スライディングウィンドウ APIを適用すると、全体の会話内容のトークン数を別途調整する必要なく、Chat Completions APIを連続的に使用することができます。
スライディングウィンドウ APIのタスクプロセスは、次の通りです。
- Chat Completions APIを使用する前に、スライディングウィンドウ APIを先に呼び出して入力したいプロンプト(会話内容; body > messages)をリクエストに入力します。
- スライディングウィンドウ APIのレスポンス内の結果値(result > messages)をそのまま Chat Completions APIリクエストに入力します。
- モデル名と最大トークン数は、Chat Completion APIとスライディングウィンドウ APIに同じく入力します。
段落分け API
段落分け APIは、文章間の類似度を計算してトピック単位で段落を区切ります。1つの段落の中に入ることができるトークンの数を指定でき、段落に空行がない場合や区切りが明確でない場合でも、文脈を把握して段落を分割することができます。段落の分割数は「SegCount」設定値で調整できます。自動的に段落分けしたい場合は、SegCount値を-1に設定します。値が0以上の場合は、ユーザーが入力した値だけ段落分けを行います。
段落分け APIのタスクプロセスは、次の通りです。
要約 API
要約 APIは、与えられた文章を段落に分け、各段落を要約できる APIです。
要約 APIは長文を文脈に合わせて段落分けし、それぞれの段落を要約できます。重要な情報を維持しながら、不要な部分を削除してテキストの長さを短くすることができます。段落分けの segMaxSizeと segMinSizeを用いて1つの段落の中に含む文字数を制限し、要約文の分量も調整できます。
要約 APIは以下のように活用できます。
- 長文の議事録を要約でき、議事録の内容を把握して重要な内容を要約して作成できます。
- 長文のメール内容からも重要な内容を要約して簡単に把握できます。
- レポートやスクリプトを簡単に要約できます。文脈に合わせて段落分けして要約するため、簡単に目次を作成できます。
ウェブに公開された文章の場合、要約のパフォーマンスが低下することがあります。
エンベディング API
エンベディング APIは、入力テキストを数値形式のベクトル値に変換できます。ユーザーのタスクと目的に応じて、「cli-emb-dolphin」モデルと「clir-ts-ds-dolphin」モデルのどちらかを選択できます。2つのモデルは、同じ文章ペアに対して異なる類似度結果を返します。
エンベディング APIのタスクプロセスとモデル別の特徴は、次の通りです。
エンベディング APIは以下のように活用できます。
- 文章間のベクトル類似度を計算して検索機能を改善できます。例えば、ユーザーが入力した検索キーワードと文書のベクトル類似度を測定し、最も関連性の高い文書を返すことができます。
- 2つの文章間の類似度を計算して関連文書の類似性を判断したり、文章間の意味的類似性を比較できます。
- 類似の特性を持つ文書をクラスタにグループ化できます。
- 文書を分類できます。ベクトル化されたテキストデータを学習されたモデルに使用し、テキストのテーマや感情に応じて分類するなど、様々な分類タスクに活用できます。
エンベディングタスクプロセス
エンベディングのタスクプロセスは、データの準備、エンベディングの実行、ベクトル成果物の保存、そして API開発と成果物の呼び出しで構成されます。このプロセスでエンベディングされた成果物を保存し、DB化して活用できます。エンベディングされたベクトル成果物は1024次元で提供されます。
エンベディングのタスクプロセスは、次の通りです。
長いテキストの処理
エンベディング APIが一度に処理できる Textの最大長さは500文字です。テキストのトークン制限によりエンベディングが難しい場合、長いテキストを適切に分割するためにチャンク方式を使用することをお勧めします。テキストを分割するときは正しい情報を抽出するために、テキストを意味単位で適切に分割することが重要です。チャンクはテキストを小片に分割するタスクで、基本テキスト分割/段落分け/要約があります。
チャンク方式の種類と各方式のメリットとデメリットは、次の通りです。
方式 | 説明 | メリット | デメリット |
---|---|---|---|
基本テキスト分割 | テキストを一定の長さの単位で分割する方式 | テキストを細かく分けてクエリに対する答えを抽出しやすい | テキストを意味単位ではなく長さ単位で分割するため、テキストの先頭と末尾の処理が不十分であり、テキスト全体の意味把握が難しい |
段落分け | テキストを文脈に合わせて意味のある段落に分離 | テキストが意味のある単位にまとめられ、エンベディングのパフォーマンスが向上 | 長い段落の場合、クエリに対する答えがある領域を特定しにくい |
要約 | 重要な内容に焦点を当てて、長いテキストを短く要約 | 段落分けよりも長い文脈のテキストを要約でき、文書単位でエンベディングしやすい | 長い段落の場合、クエリに対する答えがある領域を特定しにくい |
テストアプリ作成
CLOVA Studioで提供するサービスと連携するための APIガイドとアプリ作成ツールを提供します。テストアプリを作成し、curlと pythonコードを活用してエクスプローラーで提供する APIを呼び出しできます。
- [テストアプリ作成] をクリックし、curlと pythonコードを活用して APIを呼び出しできます。
- 作成されたテストアプリの情報は、 アプリ申込状況 の テストアプリ タブで確認できます。
- テストアプリの発行に関する詳細は、サンプルとタスク管理でご確認ください。